Title: [123231] branches/chromium/1180
Revision
123231
Author
e...@chromium.org
Date
2012-07-20 10:50:32 -0700 (Fri, 20 Jul 2012)

Log Message

Merge 122769 - Inconsistent rounding in table layout causes background color to bleed through
https://bugs.webkit.org/show_bug.cgi?id=91410

Reviewed by Eric Seidel.

Source/WebCore: 

At certain zoom levels a rounding error in the table layout code cases
the table background color to bleed through between cells. Tables layout
happens on pixel bounds however the paint offset wasn't correctly rounded.

Test: fast/sub-pixel/table-rows-no-gaps.html

* rendering/RenderTable.cpp:
(WebCore::RenderTable::paintObject):
Round paintOffset before passing it to the paint method of the children.

LayoutTests: 

Add test to ensure that the table background color doesn't bleed through
when the table and a cell are positioned on a subpixel bound.

* fast/sub-pixel/table-rows-no-gaps-expected.html: Added.
* fast/sub-pixel/table-rows-no-gaps.html: Added.
* platform/chromium-linux/css1/basic/inheritance-expected.png:
* platform/chromium-linux/plugins/embed-attributes-style-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug73321-expected.png:
Updated expectations to match new rounding logic. The new results better
match the rendering prior to turning on subpixel layout.
        
* platform/efl/Skipped:
* platform/mac-lion/Skipped:
* platform/mac-snowleopard/Skipped:
* platform/mac-wk2/Skipped:
* platform/mac/Skipped:
* platform/qt-4.8/Skipped:
* platform/qt/Skipped:
* platform/win-wk2/Skipped:
* platform/win-xp/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:
* platform/wk2/Skipped:
Mark new test as skipped on platforms that have not enabled subpixel
layout.


TBR=e...@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10815035

Modified Paths

Added Paths

Diff

Modified: branches/chromium/1180/LayoutTests/ChangeLog (123230 => 123231)


--- branches/chromium/1180/LayoutTests/ChangeLog	2012-07-20 17:49:15 UTC (rev 123230)
+++ branches/chromium/1180/LayoutTests/ChangeLog	2012-07-20 17:50:32 UTC (rev 123231)
@@ -1,3 +1,41 @@
+2012-07-16  Emil A Eklund  <e...@chromium.org>
+
+        Inconsistent rounding in table layout causes background color to bleed through
+        https://bugs.webkit.org/show_bug.cgi?id=91410
+
+        Reviewed by Eric Seidel.
+
+        Add test to ensure that the table background color doesn't bleed through
+        when the table and a cell are positioned on a subpixel bound.
+
+        * fast/sub-pixel/table-rows-no-gaps-expected.html: Added.
+        * fast/sub-pixel/table-rows-no-gaps.html: Added.
+        * platform/chromium-linux/css1/basic/inheritance-expected.png:
+        * platform/chromium-linux/plugins/embed-attributes-style-expected.png:
+        * platform/chromium-linux/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
+        * platform/chromium-linux/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png:
+        * platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
+        * platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
+        * platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
+        * platform/chromium-linux/tables/mozilla/bugs/bug73321-expected.png:
+        Updated expectations to match new rounding logic. The new results better
+        match the rendering prior to turning on subpixel layout.
+        
+        * platform/efl/Skipped:
+        * platform/mac-lion/Skipped:
+        * platform/mac-snowleopard/Skipped:
+        * platform/mac-wk2/Skipped:
+        * platform/mac/Skipped:
+        * platform/qt-4.8/Skipped:
+        * platform/qt/Skipped:
+        * platform/win-wk2/Skipped:
+        * platform/win-xp/Skipped:
+        * platform/win/Skipped:
+        * platform/wincairo/Skipped:
+        * platform/wk2/Skipped:
+        Mark new test as skipped on platforms that have not enabled subpixel
+        layout.
+
 2012-07-12  MORITA Hajime  <morr...@google.com>
 
         [Shadow DOM] <video> with <shadow> crashes

Copied: branches/chromium/1180/LayoutTests/fast/sub-pixel/table-rows-no-gaps-expected.html (from rev 122769, trunk/LayoutTests/fast/sub-pixel/table-rows-no-gaps-expected.html) (0 => 123231)


--- branches/chromium/1180/LayoutTests/fast/sub-pixel/table-rows-no-gaps-expected.html	                        (rev 0)
+++ branches/chromium/1180/LayoutTests/fast/sub-pixel/table-rows-no-gaps-expected.html	2012-07-20 17:50:32 UTC (rev 123231)
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <style>
+            body { zoom: 1.5; }
+            #head { height: 35px; }
+            table { background: white; margin-top: 25px; }
+        </style>
+    </head>
+    <body>
+        <table cellpadding="0" cellspacing="0" width="100%">
+            <tr>
+                <td style="height:21px">first row</td>
+            </tr>
+            <tr>
+                <td>second row</td>
+            </tr>
+        </table>
+        There should be no red line between the rows.
+    </body>
+</html>

Copied: branches/chromium/1180/LayoutTests/fast/sub-pixel/table-rows-no-gaps.html (from rev 122769, trunk/LayoutTests/fast/sub-pixel/table-rows-no-gaps.html) (0 => 123231)


--- branches/chromium/1180/LayoutTests/fast/sub-pixel/table-rows-no-gaps.html	                        (rev 0)
+++ branches/chromium/1180/LayoutTests/fast/sub-pixel/table-rows-no-gaps.html	2012-07-20 17:50:32 UTC (rev 123231)
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <style>
+            body { zoom: 1.5; }
+            #head { height: 35px; }
+            table { background: red; margin-top: 25px; }
+            td { background: white; }
+        </style>
+    </head>
+    <body>
+        <table cellpadding="0" cellspacing="0" width="100%">
+            <tr>
+                <td style="height:21px">first row</td>
+            </tr>
+            <tr>
+                <td>second row</td>
+            </tr>
+        </table>
+        There should be no red line between the rows.
+    </body>
+</html>

Modified: branches/chromium/1180/LayoutTests/platform/chromium-linux/css1/basic/inheritance-expected.png


(Binary files differ)

Modified: branches/chromium/1180/LayoutTests/platform/chromium-linux/plugins/embed-attributes-style-expected.png


(Binary files differ)

Modified: branches/chromium/1180/LayoutTests/platform/chromium-linux/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png


(Binary files differ)

Modified: branches/chromium/1180/LayoutTests/platform/chromium-linux/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.png


(Binary files differ)

Modified: branches/chromium/1180/LayoutTests/platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png


(Binary files differ)

Modified: branches/chromium/1180/LayoutTests/platform/chromium-linux/tables/mozilla/bugs/bug73321-expected.png


(Binary files differ)

Modified: branches/chromium/1180/LayoutTests/platform/efl/Skipped (123230 => 123231)


--- branches/chromium/1180/LayoutTests/platform/efl/Skipped	2012-07-20 17:49:15 UTC (rev 123230)
+++ branches/chromium/1180/LayoutTests/platform/efl/Skipped	2012-07-20 17:50:32 UTC (rev 123231)
@@ -1139,15 +1139,16 @@
 # https://bugs.webkit.org/show_bug.cgi?id=85532
 fast/sub-pixel/client-rect-has-subpixel-precision.html
 fast/sub-pixel/client-width-height-snapping.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 fast/sub-pixel/float-containing-block-with-margin.html
 fast/sub-pixel/float-with-right-margin-zoom.html
 fast/sub-pixel/float-wrap-with-subpixel-top.html
 fast/sub-pixel/inline-block-with-margin.html
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
+fast/sub-pixel/selection-gaps-at-fractional-offsets.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
-fast/sub-pixel/file-upload-control-at-fractional-offset.html
+fast/sub-pixel/table-rows-no-gaps.html
 
 # This should only be a layer change
 # http://webkit.org/b/82129

Modified: branches/chromium/1180/LayoutTests/platform/mac/Skipped (123230 => 123231)


--- branches/chromium/1180/LayoutTests/platform/mac/Skipped	2012-07-20 17:49:15 UTC (rev 123230)
+++ branches/chromium/1180/LayoutTests/platform/mac/Skipped	2012-07-20 17:50:32 UTC (rev 123231)
@@ -805,15 +805,16 @@
 # https://bugs.webkit.org/show_bug.cgi?id=85532
 fast/sub-pixel/client-rect-has-subpixel-precision.html
 fast/sub-pixel/client-width-height-snapping.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 fast/sub-pixel/float-containing-block-with-margin.html
 fast/sub-pixel/float-with-right-margin-zoom.html
 fast/sub-pixel/float-wrap-with-subpixel-top.html
 fast/sub-pixel/inline-block-with-margin.html
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
+fast/sub-pixel/selection-gaps-at-fractional-offsets.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
-fast/sub-pixel/file-upload-control-at-fractional-offset.html
+fast/sub-pixel/table-rows-no-gaps.html
 
 # No CORS support for media elements is implemented yet.
 http/tests/security/video-cross-origin-readback.html

Modified: branches/chromium/1180/LayoutTests/platform/mac-lion/Skipped (123230 => 123231)


--- branches/chromium/1180/LayoutTests/platform/mac-lion/Skipped	2012-07-20 17:49:15 UTC (rev 123230)
+++ branches/chromium/1180/LayoutTests/platform/mac-lion/Skipped	2012-07-20 17:50:32 UTC (rev 123231)
@@ -104,15 +104,16 @@
 # https://bugs.webkit.org/show_bug.cgi?id=85532
 fast/sub-pixel/client-rect-has-subpixel-precision.html
 fast/sub-pixel/client-width-height-snapping.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 fast/sub-pixel/float-containing-block-with-margin.html
 fast/sub-pixel/float-with-right-margin-zoom.html
 fast/sub-pixel/float-wrap-with-subpixel-top.html
 fast/sub-pixel/inline-block-with-margin.html
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
+fast/sub-pixel/selection-gaps-at-fractional-offsets.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
-fast/sub-pixel/file-upload-control-at-fractional-offset.html
+fast/sub-pixel/table-rows-no-gaps.html
 
 # This media test always failed on Lion
 # https://bugs.webkit.org/show_bug.cgi?id=86527 and <rdar://problem/11458493>

Modified: branches/chromium/1180/LayoutTests/platform/mac-snowleopard/Skipped (123230 => 123231)


--- branches/chromium/1180/LayoutTests/platform/mac-snowleopard/Skipped	2012-07-20 17:49:15 UTC (rev 123230)
+++ branches/chromium/1180/LayoutTests/platform/mac-snowleopard/Skipped	2012-07-20 17:50:32 UTC (rev 123231)
@@ -198,15 +198,16 @@
 # https://bugs.webkit.org/show_bug.cgi?id=85532
 fast/sub-pixel/client-rect-has-subpixel-precision.html
 fast/sub-pixel/client-width-height-snapping.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 fast/sub-pixel/float-containing-block-with-margin.html
 fast/sub-pixel/float-with-right-margin-zoom.html
 fast/sub-pixel/float-wrap-with-subpixel-top.html
 fast/sub-pixel/inline-block-with-margin.html
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
+fast/sub-pixel/selection-gaps-at-fractional-offsets.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
-fast/sub-pixel/file-upload-control-at-fractional-offset.html
+fast/sub-pixel/table-rows-no-gaps.html
 
 # Frame::findString does nothing on pages that prevent selection
 # https://bugs.webkit.org/show_bug.cgi?id=40361

Modified: branches/chromium/1180/LayoutTests/platform/mac-wk2/Skipped (123230 => 123231)


--- branches/chromium/1180/LayoutTests/platform/mac-wk2/Skipped	2012-07-20 17:49:15 UTC (rev 123230)
+++ branches/chromium/1180/LayoutTests/platform/mac-wk2/Skipped	2012-07-20 17:50:32 UTC (rev 123231)
@@ -204,15 +204,16 @@
 # https://bugs.webkit.org/show_bug.cgi?id=85532
 fast/sub-pixel/client-rect-has-subpixel-precision.html
 fast/sub-pixel/client-width-height-snapping.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 fast/sub-pixel/float-containing-block-with-margin.html
 fast/sub-pixel/float-with-right-margin-zoom.html
 fast/sub-pixel/float-wrap-with-subpixel-top.html
 fast/sub-pixel/inline-block-with-margin.html
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
+fast/sub-pixel/selection-gaps-at-fractional-offsets.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
-fast/sub-pixel/file-upload-control-at-fractional-offset.html
+fast/sub-pixel/table-rows-no-gaps.html
 
 # fast/events/pagehide-timeout.html, pageshow-pagehide-on-back-cached-with-frames.html, and
 # pageshow-pagehide-on-back-cached.html flakey on Lion Intel Debug WebKit testers.

Modified: branches/chromium/1180/LayoutTests/platform/qt/Skipped (123230 => 123231)


--- branches/chromium/1180/LayoutTests/platform/qt/Skipped	2012-07-20 17:49:15 UTC (rev 123230)
+++ branches/chromium/1180/LayoutTests/platform/qt/Skipped	2012-07-20 17:50:32 UTC (rev 123231)
@@ -224,15 +224,16 @@
 # https://bugs.webkit.org/show_bug.cgi?id=85532
 fast/sub-pixel/client-rect-has-subpixel-precision.html
 fast/sub-pixel/client-width-height-snapping.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 fast/sub-pixel/float-containing-block-with-margin.html
 fast/sub-pixel/float-with-right-margin-zoom.html
 fast/sub-pixel/float-wrap-with-subpixel-top.html
 fast/sub-pixel/inline-block-with-margin.html
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
+fast/sub-pixel/selection-gaps-at-fractional-offsets.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
-fast/sub-pixel/file-upload-control-at-fractional-offset.html
+fast/sub-pixel/table-rows-no-gaps.html
 
 # CSS Regions support not yet enabled. http://webkit.org/b/57312
 fast/regions

Modified: branches/chromium/1180/LayoutTests/platform/qt-4.8/Skipped (123230 => 123231)


--- branches/chromium/1180/LayoutTests/platform/qt-4.8/Skipped	2012-07-20 17:49:15 UTC (rev 123230)
+++ branches/chromium/1180/LayoutTests/platform/qt-4.8/Skipped	2012-07-20 17:50:32 UTC (rev 123231)
@@ -91,15 +91,16 @@
 # https://bugs.webkit.org/show_bug.cgi?id=85532
 fast/sub-pixel/client-rect-has-subpixel-precision.html
 fast/sub-pixel/client-width-height-snapping.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 fast/sub-pixel/float-containing-block-with-margin.html
 fast/sub-pixel/float-with-right-margin-zoom.html
 fast/sub-pixel/float-wrap-with-subpixel-top.html
 fast/sub-pixel/inline-block-with-margin.html
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
+fast/sub-pixel/selection-gaps-at-fractional-offsets.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
-fast/sub-pixel/file-upload-control-at-fractional-offset.html
+fast/sub-pixel/table-rows-no-gaps.html
 
 # SVG Fonts are only supported when using QRawFont, which is not
 # supported with Qt 4.

Modified: branches/chromium/1180/LayoutTests/platform/win/Skipped (123230 => 123231)


--- branches/chromium/1180/LayoutTests/platform/win/Skipped	2012-07-20 17:49:15 UTC (rev 123230)
+++ branches/chromium/1180/LayoutTests/platform/win/Skipped	2012-07-20 17:50:32 UTC (rev 123231)
@@ -1743,15 +1743,16 @@
 # https://bugs.webkit.org/show_bug.cgi?id=85532
 fast/sub-pixel/client-rect-has-subpixel-precision.html
 fast/sub-pixel/client-width-height-snapping.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 fast/sub-pixel/float-containing-block-with-margin.html
 fast/sub-pixel/float-with-right-margin-zoom.html
 fast/sub-pixel/float-wrap-with-subpixel-top.html
 fast/sub-pixel/inline-block-with-margin.html
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
+fast/sub-pixel/selection-gaps-at-fractional-offsets.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
-fast/sub-pixel/file-upload-control-at-fractional-offset.html
+fast/sub-pixel/table-rows-no-gaps.html
 
 # No CORS support for media elements is implemented yet.
 http/tests/security/video-cross-origin-readback.html

Modified: branches/chromium/1180/LayoutTests/platform/win-wk2/Skipped (123230 => 123231)


--- branches/chromium/1180/LayoutTests/platform/win-wk2/Skipped	2012-07-20 17:49:15 UTC (rev 123230)
+++ branches/chromium/1180/LayoutTests/platform/win-wk2/Skipped	2012-07-20 17:50:32 UTC (rev 123231)
@@ -937,15 +937,16 @@
 # https://bugs.webkit.org/show_bug.cgi?id=85532
 fast/sub-pixel/client-rect-has-subpixel-precision.html
 fast/sub-pixel/client-width-height-snapping.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 fast/sub-pixel/float-containing-block-with-margin.html
 fast/sub-pixel/float-with-right-margin-zoom.html
 fast/sub-pixel/float-wrap-with-subpixel-top.html
 fast/sub-pixel/inline-block-with-margin.html
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
+fast/sub-pixel/selection-gaps-at-fractional-offsets.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
-fast/sub-pixel/file-upload-control-at-fractional-offset.html
+fast/sub-pixel/table-rows-no-gaps.html
 
 # HiDPI tests require test infrastructure enhancements
 fast/hidpi

Modified: branches/chromium/1180/LayoutTests/platform/win-xp/Skipped (123230 => 123231)


--- branches/chromium/1180/LayoutTests/platform/win-xp/Skipped	2012-07-20 17:49:15 UTC (rev 123230)
+++ branches/chromium/1180/LayoutTests/platform/win-xp/Skipped	2012-07-20 17:50:32 UTC (rev 123231)
@@ -37,15 +37,16 @@
 # https://bugs.webkit.org/show_bug.cgi?id=85532
 fast/sub-pixel/client-rect-has-subpixel-precision.html
 fast/sub-pixel/client-width-height-snapping.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 fast/sub-pixel/float-containing-block-with-margin.html
 fast/sub-pixel/float-with-right-margin-zoom.html
 fast/sub-pixel/float-wrap-with-subpixel-top.html
 fast/sub-pixel/inline-block-with-margin.html
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
+fast/sub-pixel/selection-gaps-at-fractional-offsets.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
-fast/sub-pixel/file-upload-control-at-fractional-offset.html
+fast/sub-pixel/table-rows-no-gaps.html
 
 # REGRESSION (r83928 or before): Some tests failing assertions in MarkStack::internalAppend / MarkStack::drain
 # https://bugs.webkit.org/show_bug.cgi?id=58657

Modified: branches/chromium/1180/LayoutTests/platform/wincairo/Skipped (123230 => 123231)


--- branches/chromium/1180/LayoutTests/platform/wincairo/Skipped	2012-07-20 17:49:15 UTC (rev 123230)
+++ branches/chromium/1180/LayoutTests/platform/wincairo/Skipped	2012-07-20 17:50:32 UTC (rev 123231)
@@ -2092,15 +2092,16 @@
 # https://bugs.webkit.org/show_bug.cgi?id=85532
 fast/sub-pixel/client-rect-has-subpixel-precision.html
 fast/sub-pixel/client-width-height-snapping.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 fast/sub-pixel/float-containing-block-with-margin.html
 fast/sub-pixel/float-with-right-margin-zoom.html
 fast/sub-pixel/float-wrap-with-subpixel-top.html
 fast/sub-pixel/inline-block-with-margin.html
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
+fast/sub-pixel/selection-gaps-at-fractional-offsets.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
-fast/sub-pixel/file-upload-control-at-fractional-offset.html
+fast/sub-pixel/table-rows-no-gaps.html
 
 #Battery Status API is not implemented.
 batterystatus

Modified: branches/chromium/1180/LayoutTests/platform/wk2/Skipped (123230 => 123231)


--- branches/chromium/1180/LayoutTests/platform/wk2/Skipped	2012-07-20 17:49:15 UTC (rev 123230)
+++ branches/chromium/1180/LayoutTests/platform/wk2/Skipped	2012-07-20 17:50:32 UTC (rev 123231)
@@ -87,15 +87,16 @@
 # https://bugs.webkit.org/show_bug.cgi?id=85532
 fast/sub-pixel/client-rect-has-subpixel-precision.html
 fast/sub-pixel/client-width-height-snapping.html
+fast/sub-pixel/file-upload-control-at-fractional-offset.html
 fast/sub-pixel/float-containing-block-with-margin.html
 fast/sub-pixel/float-with-right-margin-zoom.html
 fast/sub-pixel/float-wrap-with-subpixel-top.html
 fast/sub-pixel/inline-block-with-margin.html
 fast/sub-pixel/inline-block-with-padding.html
 fast/sub-pixel/layout-boxes-with-zoom.html
+fast/sub-pixel/selection-gaps-at-fractional-offsets.html
 fast/sub-pixel/size-of-box-with-zoom.html
-fast/sub-pixel/selection-gaps-at-fractional-offsets.html
-fast/sub-pixel/file-upload-control-at-fractional-offset.html
+fast/sub-pixel/table-rows-no-gaps.html
 
 # CONSOLE MESSAGE: line 0: SVG animation pause API missing!
 # [WK2] SVG animation pause API missing

Modified: branches/chromium/1180/Source/WebCore/ChangeLog (123230 => 123231)


--- branches/chromium/1180/Source/WebCore/ChangeLog	2012-07-20 17:49:15 UTC (rev 123230)
+++ branches/chromium/1180/Source/WebCore/ChangeLog	2012-07-20 17:50:32 UTC (rev 123231)
@@ -1,3 +1,20 @@
+2012-07-16  Emil A Eklund  <e...@chromium.org>
+
+        Inconsistent rounding in table layout causes background color to bleed through
+        https://bugs.webkit.org/show_bug.cgi?id=91410
+
+        Reviewed by Eric Seidel.
+
+        At certain zoom levels a rounding error in the table layout code cases
+        the table background color to bleed through between cells. Tables layout
+        happens on pixel bounds however the paint offset wasn't correctly rounded.
+
+        Test: fast/sub-pixel/table-rows-no-gaps.html
+
+        * rendering/RenderTable.cpp:
+        (WebCore::RenderTable::paintObject):
+        Round paintOffset before passing it to the paint method of the children.
+
 2012-07-12  MORITA Hajime  <morr...@google.com>
 
         [Shadow DOM] <video> with <shadow> crashes

Modified: branches/chromium/1180/Source/WebCore/rendering/RenderTable.cpp (123230 => 123231)


--- branches/chromium/1180/Source/WebCore/rendering/RenderTable.cpp	2012-07-20 17:49:15 UTC (rev 123230)
+++ branches/chromium/1180/Source/WebCore/rendering/RenderTable.cpp	2012-07-20 17:50:32 UTC (rev 123231)
@@ -577,9 +577,11 @@
     info.phase = paintPhase;
     info.updatePaintingRootForChildren(this);
 
+    IntPoint alignedOffset = roundedIntPoint(paintOffset);
+
     for (RenderObject* child = firstChild(); child; child = child->nextSibling()) {
         if (child->isBox() && !toRenderBox(child)->hasSelfPaintingLayer() && (child->isTableSection() || child->isTableCaption())) {
-            LayoutPoint childPoint = flipForWritingModeForChild(toRenderBox(child), paintOffset);
+            LayoutPoint childPoint = flipForWritingModeForChild(toRenderBox(child), alignedOffset);
             child->paint(info, childPoint);
         }
     }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to