Title: [193743] trunk
Revision
193743
Author
fred.w...@free.fr
Date
2015-12-08 01:17:38 -0800 (Tue, 08 Dec 2015)

Log Message

[cairo] Solid stroke of lines with thickness less than 1 pixel broken after r191658
https://bugs.webkit.org/show_bug.cgi?id=151947

Reviewed by Martin Robinson.

Source/WebCore:

Test: mathml/presentation/radical-bar-visibility.html

* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawLine): Force a minimal thickness of 1px

LayoutTests:

Add a test to check that the radical overbar appears on the screen when it has thickness less than 1px.

* mathml/presentation/radical-bar-visibility-expected-mismatch.html: Added.
* mathml/presentation/radical-bar-visibility.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (193742 => 193743)


--- trunk/LayoutTests/ChangeLog	2015-12-08 09:14:31 UTC (rev 193742)
+++ trunk/LayoutTests/ChangeLog	2015-12-08 09:17:38 UTC (rev 193743)
@@ -1,3 +1,15 @@
+2015-12-08  Frederic Wang  <fred.w...@free.fr>
+
+        [cairo] Solid stroke of lines with thickness less than 1 pixel broken after r191658
+        https://bugs.webkit.org/show_bug.cgi?id=151947
+
+        Reviewed by Martin Robinson.
+
+        Add a test to check that the radical overbar appears on the screen when it has thickness less than 1px.
+
+        * mathml/presentation/radical-bar-visibility-expected-mismatch.html: Added.
+        * mathml/presentation/radical-bar-visibility.html: Added.
+
 2015-12-07  Brady Eidson  <beid...@apple.com>
 
         Move an IDB test from the "generic failure" section to the "fails because no workers" section.

Added: trunk/LayoutTests/mathml/presentation/radical-bar-visibility-expected-mismatch.html (0 => 193743)


--- trunk/LayoutTests/mathml/presentation/radical-bar-visibility-expected-mismatch.html	                        (rev 0)
+++ trunk/LayoutTests/mathml/presentation/radical-bar-visibility-expected-mismatch.html	2015-12-08 09:17:38 UTC (rev 193743)
@@ -0,0 +1,17 @@
+<!doctype html>
+<html>
+  <head>
+    <title>Radical bar visibility</title>
+    <meta charset="utf-8"/>
+  </head>
+  <body>
+
+    <p>This test passes if you see the radical bar.</p>
+
+    <div>
+      <!-- blue square to hide the radical symbol -->
+      <div style="position: absolute; background: blue; width: 100px; height: 100px;"></div>
+    </div>
+
+  </body>
+</html>
Property changes on: trunk/LayoutTests/mathml/presentation/radical-bar-visibility-expected-mismatch.html
___________________________________________________________________

Added: svn:mime-type

Added: svn:eol-style

Added: trunk/LayoutTests/mathml/presentation/radical-bar-visibility.html (0 => 193743)


--- trunk/LayoutTests/mathml/presentation/radical-bar-visibility.html	                        (rev 0)
+++ trunk/LayoutTests/mathml/presentation/radical-bar-visibility.html	2015-12-08 09:17:38 UTC (rev 193743)
@@ -0,0 +1,34 @@
+<!doctype html>
+<html>
+  <head>
+    <title>Radical bar visibility</title>
+    <meta charset="utf-8"/>
+    <style>
+      math, msqrt {
+        /* Latin Modern Math has
+           RadicalRuleThickess = 40
+           em = 1000
+           So the actual rule thickness is 24 * 40 / 1000 = 0.96 < 1 pixel */
+        font-family: Latin Modern Math;
+        font-size: 24px;
+      }
+    </style>
+  </head>
+  <body>
+
+    <p>This test passes if you see the radical bar.</p>
+
+    <div>
+      <div style="position: absolute">
+        <math>
+          <msqrt>
+            <mspace width="500px"/>
+          </msqrt>
+        </math>
+      </div>
+      <!-- blue square to hide the radical symbol -->
+      <div style="position: absolute; background: blue; width: 100px; height: 100px;"></div>
+    </div>
+
+  </body>
+</html>
Property changes on: trunk/LayoutTests/mathml/presentation/radical-bar-visibility.html
___________________________________________________________________

Added: svn:mime-type

Added: svn:eol-style

Modified: trunk/Source/WebCore/ChangeLog (193742 => 193743)


--- trunk/Source/WebCore/ChangeLog	2015-12-08 09:14:31 UTC (rev 193742)
+++ trunk/Source/WebCore/ChangeLog	2015-12-08 09:17:38 UTC (rev 193743)
@@ -1,3 +1,15 @@
+2015-12-08  Frederic Wang  <fred.w...@free.fr>
+
+        [cairo] Solid stroke of lines with thickness less than 1 pixel broken after r191658
+        https://bugs.webkit.org/show_bug.cgi?id=151947
+
+        Reviewed by Martin Robinson.
+
+        Test: mathml/presentation/radical-bar-visibility.html
+
+        * platform/graphics/cairo/GraphicsContextCairo.cpp:
+        (WebCore::GraphicsContext::drawLine): Force a minimal thickness of 1px
+
 2015-12-08  Gwang Yoon Hwang  <y...@igalia.com>
 
         [ThreadedCompositor] Support WebGL for OpenGL.

Modified: trunk/Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp (193742 => 193743)


--- trunk/Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp	2015-12-08 09:14:31 UTC (rev 193742)
+++ trunk/Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp	2015-12-08 09:17:38 UTC (rev 193743)
@@ -311,9 +311,13 @@
         }
         const double dashedLine[2] = { static_cast<double>(patternWidth), static_cast<double>(patternWidth) };
         cairo_set_dash(cairoContext, dashedLine, 2, patternOffset);
-    } else
+    } else {
         setSourceRGBAFromColor(cairoContext, strokeColor);
+        if (thickness < 1)
+            cairo_set_line_width(cairoContext, 1);
+    }
 
+
     FloatPoint p1 = point1;
     FloatPoint p2 = point2;
     // Center line and cut off corners for pattern patining.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to