Title: [135625] trunk
Revision
135625
Author
[email protected]
Date
2012-11-23 09:13:32 -0800 (Fri, 23 Nov 2012)

Log Message

Page background color bleeds through inner edge of div border with rounded edges
https://bugs.webkit.org/show_bug.cgi?id=103089

Reviewed by Stephen White.

Source/WebCore:

Test that verifies whether a RenderBoxEdge is more than 2 pixels wide
was applying the content scale factor backwards, so the
obscuresBackgroundEdge was falsely passing for downsized boxes.

Test: fast/backgrounds/gradient-background-leakage-2.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::BorderEdge::obscuresBackgroundEdge):

LayoutTests:

New layout test to verify that there is no color bleeding between
a div element's border and background when there are rounded corners
an a scale that reduces a thick border down to a width of less than
two pixels.

* fast/backgrounds/gradient-background-leakage-2-expected.txt: Added.
* fast/backgrounds/gradient-background-leakage-2.html: Added.
* platform/chromium/TestExpectations:

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (135624 => 135625)


--- trunk/LayoutTests/ChangeLog	2012-11-23 17:10:03 UTC (rev 135624)
+++ trunk/LayoutTests/ChangeLog	2012-11-23 17:13:32 UTC (rev 135625)
@@ -1,3 +1,19 @@
+2012-11-23  Justin Novosad  <[email protected]>
+
+        Page background color bleeds through inner edge of div border with rounded edges
+        https://bugs.webkit.org/show_bug.cgi?id=103089
+
+        Reviewed by Stephen White.
+
+        New layout test to verify that there is no color bleeding between
+        a div element's border and background when there are rounded corners
+        an a scale that reduces a thick border down to a width of less than
+        two pixels.
+
+        * fast/backgrounds/gradient-background-leakage-2-expected.txt: Added.
+        * fast/backgrounds/gradient-background-leakage-2.html: Added.
+        * platform/chromium/TestExpectations:
+
 2012-11-23  Robert Kroeger  <[email protected]>
 
         Gardening: update expectations for fast/events/stopPropagation-submit.html flaky

Added: trunk/LayoutTests/fast/backgrounds/gradient-background-leakage-2-expected.txt (0 => 135625)


--- trunk/LayoutTests/fast/backgrounds/gradient-background-leakage-2-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/backgrounds/gradient-background-leakage-2-expected.txt	2012-11-23 17:13:32 UTC (rev 135625)
@@ -0,0 +1,8 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x78
+  RenderBlock {HTML} at (0,0) size 800x78
+    RenderBody {BODY} at (8,10) size 784x60
+      RenderBlock {DIV} at (0,0) size 310x60 [bgcolor=#FF0000]
+layer at (18,10) size 308x58
+  RenderBlock {DIV} at (10,0) size 308x58 [border: (4px solid #008000)]

Added: trunk/LayoutTests/fast/backgrounds/gradient-background-leakage-2.html (0 => 135625)


--- trunk/LayoutTests/fast/backgrounds/gradient-background-leakage-2.html	                        (rev 0)
+++ trunk/LayoutTests/fast/backgrounds/gradient-background-leakage-2.html	2012-11-23 17:13:32 UTC (rev 135625)
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <style type="text/css">
+    .box {
+      height: 50px;
+      width: 300px;
+      margin: 10px;
+      background-image: -webkit-linear-gradient(black, black);
+      border-radius: 25px;
+      border: 4px solid green;
+      -webkit-transform: scale(0.25);
+    }
+  </style>
+</head>
+<body>
+  <!-- You should see no red leaking through the inner edge of the border. -->
+  <div style="background-color: red; height: 60px; width: 310px">
+    <div class="box"></div>
+  </div>
+</body>
+</html>

Modified: trunk/LayoutTests/platform/chromium/TestExpectations (135624 => 135625)


--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-11-23 17:10:03 UTC (rev 135624)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-11-23 17:13:32 UTC (rev 135625)
@@ -2157,6 +2157,9 @@
 
 crbug.com/117597 svg/batik/filters/feTile.svg [ ImageOnlyFailure ] 
 
+# Test needing new baselines
+webkit.org/b/103089 fast/backgrounds/gradient-background-leakage-2.html [ Pass Missing ImageOnlyFailure Failure ]
+
 # Caused by http://trac.webkit.org/changeset/56394.
 crbug.com/143475 [ Win ] http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch.html [ Failure Pass Timeout ]
 

Modified: trunk/Source/WebCore/ChangeLog (135624 => 135625)


--- trunk/Source/WebCore/ChangeLog	2012-11-23 17:10:03 UTC (rev 135624)
+++ trunk/Source/WebCore/ChangeLog	2012-11-23 17:13:32 UTC (rev 135625)
@@ -1,3 +1,19 @@
+2012-11-23  Justin Novosad  <[email protected]>
+
+        Page background color bleeds through inner edge of div border with rounded edges
+        https://bugs.webkit.org/show_bug.cgi?id=103089
+
+        Reviewed by Stephen White.
+
+        Test that verifies whether a RenderBoxEdge is more than 2 pixels wide
+        was applying the content scale factor backwards, so the
+        obscuresBackgroundEdge was falsely passing for downsized boxes.
+
+        Test: fast/backgrounds/gradient-background-leakage-2.html
+
+        * rendering/RenderBoxModelObject.cpp:
+        (WebCore::BorderEdge::obscuresBackgroundEdge):
+
 2012-11-23  Huang Dongsung  <[email protected]>
 
         [TexMap] Remove dependency of TextureMapperLayer on GraphicsLayerTextureMapper.

Modified: trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp (135624 => 135625)


--- trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp	2012-11-23 17:10:03 UTC (rev 135624)
+++ trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp	2012-11-23 17:13:32 UTC (rev 135625)
@@ -1447,7 +1447,7 @@
     bool presentButInvisible() const { return usedWidth() && !hasVisibleColorAndStyle(); }
     bool obscuresBackgroundEdge(float scale) const
     {
-        if (!isPresent || isTransparent || width < (2 * scale) || color.hasAlpha() || style == BHIDDEN)
+        if (!isPresent || isTransparent || (width * scale) < 2 || color.hasAlpha() || style == BHIDDEN)
             return false;
 
         if (style == DOTTED || style == DASHED)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to