REGRESSION (r162947): Repaint test results are different between WK1 and WK2
authorantti@apple.com <antti@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 29 Jan 2014 16:26:31 +0000 (16:26 +0000)
committerantti@apple.com <antti@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 29 Jan 2014 16:26:31 +0000 (16:26 +0000)
https://bugs.webkit.org/show_bug.cgi?id=127814

Source/WebCore:

Reviewed by Anders Carlsson.

* page/FrameView.cpp:
(WebCore::FrameView::repaintContentRectangle):

    Move repaint rect logging to RenderView.

* rendering/RenderView.cpp:
(WebCore::RenderView::repaintViewRectangle):

    Record raw repaint rects instead of optimized ones.

LayoutTests:

Revert test results changes. We now always log raw repaint rects which are same between platforms.

* compositing/repaint/resize-repaint-expected.txt:
* fast/box-shadow/shadow-repaint-expected.txt:
* fast/css-grid-layout/grid-element-change-columns-repaint-expected.txt:
* fast/css-grid-layout/grid-element-change-rows-repaint-expected.txt:
* fast/css-grid-layout/grid-item-change-column-repaint-expected.txt:
* fast/css-grid-layout/grid-item-change-row-repaint-expected.txt:
* fast/regions/repaint/element-in-named-flow-absolute-from-fixed-expected.txt:
* fast/regions/repaint/element-in-named-flow-fixed-from-absolute-expected.txt:
* fast/regions/repaint/element-inflow-fixed-from-outflow-static-expected.txt:
* fast/regions/repaint/element-outflow-static-from-inflow-fixed-expected.txt:
* fast/regions/repaint/invalid-region-repaint-crash-expected.txt:
* fast/regions/repaint/repaint-element-inside-relative-region-expected.txt:
* fast/regions/repaint/repaint-regions-overflow-expected.txt:
* fast/repaint/background-shorthand-with-gradient-and-height-changes-expected.txt:
* fast/repaint/background-shorthand-with-gradient-and-height-changes.html:
* fast/repaint/horizontal-bt-overflow-child-expected.txt:
* fast/repaint/horizontal-bt-overflow-parent-expected.txt:
* fast/repaint/horizontal-bt-overflow-same-expected.txt:
* fast/repaint/negative-text-indent-with-overflow-hidden-expected.txt:
* fast/repaint/overflow-flipped-writing-mode-table-expected.txt:
* fast/repaint/reflection-table-layout-expected.txt:
* fast/repaint/transform-table-layout-expected.txt:
* fast/repaint/vertical-overflow-child-expected.txt:
* fast/repaint/vertical-overflow-parent-expected.txt:
* fast/repaint/vertical-overflow-same-expected.txt:
* platform/mac-wk2/TestExpectations:
* platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
* platform/mac/fast/images/repaint-subrect-grid-expected.txt:
* svg/repaint/repaint-webkit-svg-shadow-container-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@163021 268f45cc-cd09-0410-ab3c-d52691b4dbfc

33 files changed:
LayoutTests/ChangeLog
LayoutTests/compositing/repaint/resize-repaint-expected.txt
LayoutTests/fast/box-shadow/shadow-repaint-expected.txt
LayoutTests/fast/css-grid-layout/grid-element-change-columns-repaint-expected.txt
LayoutTests/fast/css-grid-layout/grid-element-change-rows-repaint-expected.txt
LayoutTests/fast/css-grid-layout/grid-item-change-column-repaint-expected.txt
LayoutTests/fast/css-grid-layout/grid-item-change-row-repaint-expected.txt
LayoutTests/fast/regions/repaint/element-in-named-flow-absolute-from-fixed-expected.txt
LayoutTests/fast/regions/repaint/element-in-named-flow-fixed-from-absolute-expected.txt
LayoutTests/fast/regions/repaint/element-inflow-fixed-from-outflow-static-expected.txt
LayoutTests/fast/regions/repaint/element-outflow-static-from-inflow-fixed-expected.txt
LayoutTests/fast/regions/repaint/invalid-region-repaint-crash-expected.txt
LayoutTests/fast/regions/repaint/repaint-element-inside-relative-region-expected.txt
LayoutTests/fast/regions/repaint/repaint-regions-overflow-expected.txt
LayoutTests/fast/repaint/background-shorthand-with-gradient-and-height-changes-expected.txt
LayoutTests/fast/repaint/background-shorthand-with-gradient-and-height-changes.html
LayoutTests/fast/repaint/horizontal-bt-overflow-child-expected.txt
LayoutTests/fast/repaint/horizontal-bt-overflow-parent-expected.txt
LayoutTests/fast/repaint/horizontal-bt-overflow-same-expected.txt
LayoutTests/fast/repaint/negative-text-indent-with-overflow-hidden-expected.txt
LayoutTests/fast/repaint/overflow-flipped-writing-mode-table-expected.txt
LayoutTests/fast/repaint/reflection-table-layout-expected.txt
LayoutTests/fast/repaint/transform-table-layout-expected.txt
LayoutTests/fast/repaint/vertical-overflow-child-expected.txt
LayoutTests/fast/repaint/vertical-overflow-parent-expected.txt
LayoutTests/fast/repaint/vertical-overflow-same-expected.txt
LayoutTests/platform/mac-wk2/TestExpectations
LayoutTests/platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt
LayoutTests/platform/mac/fast/images/repaint-subrect-grid-expected.txt
LayoutTests/svg/repaint/repaint-webkit-svg-shadow-container-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/page/FrameView.cpp
Source/WebCore/rendering/RenderView.cpp

index 851b775..86f803e 100644 (file)
@@ -1,5 +1,42 @@
 2014-01-29  Antti Koivisto  <antti@apple.com>
 
+        REGRESSION (r162947): Repaint test results are different between WK1 and WK2
+        https://bugs.webkit.org/show_bug.cgi?id=127814
+
+        Revert test results changes. We now always log raw repaint rects which are same between platforms.
+
+        * compositing/repaint/resize-repaint-expected.txt:
+        * fast/box-shadow/shadow-repaint-expected.txt:
+        * fast/css-grid-layout/grid-element-change-columns-repaint-expected.txt:
+        * fast/css-grid-layout/grid-element-change-rows-repaint-expected.txt:
+        * fast/css-grid-layout/grid-item-change-column-repaint-expected.txt:
+        * fast/css-grid-layout/grid-item-change-row-repaint-expected.txt:
+        * fast/regions/repaint/element-in-named-flow-absolute-from-fixed-expected.txt:
+        * fast/regions/repaint/element-in-named-flow-fixed-from-absolute-expected.txt:
+        * fast/regions/repaint/element-inflow-fixed-from-outflow-static-expected.txt:
+        * fast/regions/repaint/element-outflow-static-from-inflow-fixed-expected.txt:
+        * fast/regions/repaint/invalid-region-repaint-crash-expected.txt:
+        * fast/regions/repaint/repaint-element-inside-relative-region-expected.txt:
+        * fast/regions/repaint/repaint-regions-overflow-expected.txt:
+        * fast/repaint/background-shorthand-with-gradient-and-height-changes-expected.txt:
+        * fast/repaint/background-shorthand-with-gradient-and-height-changes.html:
+        * fast/repaint/horizontal-bt-overflow-child-expected.txt:
+        * fast/repaint/horizontal-bt-overflow-parent-expected.txt:
+        * fast/repaint/horizontal-bt-overflow-same-expected.txt:
+        * fast/repaint/negative-text-indent-with-overflow-hidden-expected.txt:
+        * fast/repaint/overflow-flipped-writing-mode-table-expected.txt:
+        * fast/repaint/reflection-table-layout-expected.txt:
+        * fast/repaint/transform-table-layout-expected.txt:
+        * fast/repaint/vertical-overflow-child-expected.txt:
+        * fast/repaint/vertical-overflow-parent-expected.txt:
+        * fast/repaint/vertical-overflow-same-expected.txt:
+        * platform/mac-wk2/TestExpectations:
+        * platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
+        * platform/mac/fast/images/repaint-subrect-grid-expected.txt:
+        * svg/repaint/repaint-webkit-svg-shadow-container-expected.txt:
+
+2014-01-29  Antti Koivisto  <antti@apple.com>
+
         REGRESSION (r162947): css3/flexbox/multiline-justify-content.html and css3/flexbox/position-absolute-child.html are timing out
         https://bugs.webkit.org/show_bug.cgi?id=127809
 
index 6df908a..8d94582 100644 (file)
@@ -1,5 +1,5 @@
 (repaint rects
-  (rect 8 113 784 13)
+  (rect 8 113 784 102)
   (rect 0 126 800 102)
 )
 (GraphicsLayer
index 7a3328e..4523893 100644 (file)
@@ -1,7 +1,8 @@
 Repaint rects:
 
 (repaint rects
+  (rect 38 30 100 100)
+  (rect 20 12 156 156)
   (rect 8 12 784 18)
-  (rect 20 30 156 138)
 )
 
index 0f8c492..b883eff 100644 (file)
@@ -1,5 +1,7 @@
 This test checks that changing the grid-definition-columns lead to a repaint. The final grid element should be 250px * 50px, the grid item should be 50px * 50px. No trace of the elements before the grid-definition-columns change should be seen.
 (repaint rects
+  (rect 8 48 100 50)
+  (rect 8 48 50 50)
   (rect 8 48 250 50)
 )
 
index 194912e..2c22542 100644 (file)
@@ -1,5 +1,7 @@
 This test checks that changing the grid-definition-rows lead to a repaint. The final grid element should be 100px * 150px, the grid item should be 100px * 100px. No trace of the elements before the grid-definition-rows change should be seen.
 (repaint rects
+  (rect 8 48 100 50)
+  (rect 8 48 100 100)
   (rect 8 48 100 150)
 )
 
index a37b082..f3650dd 100644 (file)
@@ -1,6 +1,8 @@
 This test checks that changing the grid-column on a grid item properly repaint. The final grid item should be 50px * 50px. There should be no trace of the grid item at the old position.
 (repaint rects
   (rect 8 38 100 50)
+  (rect 8 38 50 50)
+  (rect 8 38 100 50)
   (rect 208 38 50 50)
 )
 
index e8308d2..6b8ae3e 100644 (file)
@@ -1,5 +1,8 @@
 This test checks that changing the grid-row on a grid item properly repaint. The final grid item should be 100px * 100px. There should be no trace of the grid item at the old position.
 (repaint rects
-  (rect 8 38 100 150)
+  (rect 8 38 100 50)
+  (rect 8 38 100 100)
+  (rect 8 38 100 50)
+  (rect 8 88 100 100)
 )
 
index 21b5b0a..03fc307 100644 (file)
@@ -1,5 +1,7 @@
 (repaint rects
-  (rect 50 100 250 50)
-  (rect 100 150 200 150)
+  (rect 50 100 50 50)
+  (rect 100 100 200 200)
+  (rect 150 200 50 50)
+  (rect 150 200 50 50)
 )
 
index 21b5b0a..b70b190 100644 (file)
@@ -1,5 +1,7 @@
 (repaint rects
-  (rect 50 100 250 50)
-  (rect 100 150 200 150)
+  (rect 150 200 50 50)
+  (rect 100 100 200 200)
+  (rect 50 100 50 50)
+  (rect 50 100 50 50)
 )
 
index 616bf65..1bc1ea2 100644 (file)
@@ -1,6 +1,7 @@
 (repaint rects
-  (rect 50 100 250 50)
-  (rect 100 150 200 150)
   (rect 300 300 50 50)
+  (rect 100 100 200 200)
+  (rect 50 100 50 50)
+  (rect 50 100 50 50)
 )
 
index 289aa63..03f6380 100644 (file)
@@ -3,8 +3,19 @@ Test that an invalid region, part of a dependency cycle, does not try to repaint
 On success it should not crash and you should see 3 rectangles painted in the following order: green, blue, orange.
 
 (repaint rects
-  (rect 50 50 50 50)
-  (rect 50 100 100 100)
-  (rect 100 200 50 50)
+  (rect 50 50 50 150)
+  (rect 100 100 50 150)
+  (rect 50 50 50 150)
+  (rect 100 100 50 150)
+  (rect 100 100 50 150)
+  (rect 100 100 50 100)
+  (rect 100 100 50 100)
+  (rect 100 100 50 50)
+  (rect 100 100 50 100)
+  (rect 100 100 50 50)
+  (rect 100 100 50 150)
+  (rect 100 100 50 100)
+  (rect 100 100 50 100)
+  (rect 100 100 50 50)
 )
 
index 4fadbd8..a15ff79 100644 (file)
@@ -1,7 +1,10 @@
 This text should not get clipped
 (repaint rects
   (rect 0 0 800 50)
-  (rect 0 50 400 150)
   (rect 0 200 800 50)
+  (rect 0 200 800 50)
+  (rect 0 0 400 200)
+  (rect 0 50 400 200)
+  (rect 0 50 400 200)
 )
 
index 6e994e7..dc53792 100644 (file)
@@ -5,10 +5,18 @@ Above all, avoid lies, all lies, especially the lie to yourself. Keep watch on y
 LAST LINE
 
 (repaint rects
-  (rect 14 56 300 50)
-  (rect 14 106 392 94)
-  (rect 14 200 398 116)
-  (rect 60 316 352 100)
-  (rect 100 416 312 50)
+  (rect 106 306 300 160)
+  (rect 14 72 300 210)
+  (rect 106 122 300 210)
+  (rect 14 298 300 18)
+  (rect 106 348 300 18)
+  (rect 14 56 300 260)
+  (rect 106 106 300 260)
+  (rect 60 150 312 266)
+  (rect 100 200 312 266)
+  (rect 14 56 300 260)
+  (rect 106 106 300 260)
+  (rect 14 56 300 260)
+  (rect 106 106 300 260)
 )
 
index 5d392df..8868353 100644 (file)
@@ -3,7 +3,8 @@ This test verifies that gradient background gets repainted properly after child
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS repaintRects.indexOf('8 84 40 220') is not -1
+PASS repaintRects.indexOf('28 84') is not -1
+PASS repaintRects.indexOf('8 84') is not -1
 PASS successfullyParsed is true
 
 TEST COMPLETE
index ab62375..2d45be7 100644 (file)
@@ -61,7 +61,8 @@ function logRepaints() {
 
     repaintRects = window.internals.repaintRectsAsText();
     window.internals.stopTrackingRepaints();
-    shouldNotBe("repaintRects.indexOf('8 84 40 220')", "-1");
+    shouldNotBe("repaintRects.indexOf('28 84')", "-1");
+    shouldNotBe("repaintRects.indexOf('8 84')", "-1");
     finishJSTest();
 }
 </script>
index 9b205fc..ad9690d 100644 (file)
@@ -1,6 +1,11 @@
 (repaint rects
-  (rect -92 8 200 1)
-  (rect -92 9 884 1)
+  (rect 7 8 2 1)
+  (rect 6 8 4 2)
+  (rect -92 9 200 1)
+  (rect -92 8 200 2)
+  (rect 8 9 784 1)
   (rect 0 17 800 1)
+  (rect -92 9 200 1)
+  (rect -92 9 200 1)
 )
 
index 4eff9a5..3358994 100644 (file)
@@ -1,6 +1,10 @@
 (repaint rects
+  (rect 8 108 1 1)
+  (rect 8 108 2 2)
+  (rect 8 109 100 1)
+  (rect 8 108 100 2)
   (rect 8 9 784 1)
   (rect 0 17 800 1)
-  (rect 8 108 100 2)
+  (rect 8 109 100 1)
 )
 
index 361ea41..c94205e 100644 (file)
@@ -364,35 +364,6 @@ webkit.org/b/124476 platform/mac-wk2/plugins/slow/asynchronous-plugin-initializa
 # uiElementForSearchPredicate() is not returning an undefined object when the search returns no results
 webkit.org/b/125996 platform/mac/accessibility/search-when-element-starts-in-table.html [ Failure ]
 
-webkit.org/b/127814 compositing/repaint/invalidations-on-composited-layers.html [ Failure ]
-webkit.org/b/127814 compositing/repaint/resize-repaint.html [ Failure ]
-webkit.org/b/127814 fast/box-shadow/shadow-repaint.html [ Failure ]
-webkit.org/b/127814 fast/css-grid-layout/grid-element-change-columns-repaint.html [ Failure ]
-webkit.org/b/127814 fast/css-grid-layout/grid-element-change-rows-repaint.html [ Failure ]
-webkit.org/b/127814 fast/css-grid-layout/grid-item-change-column-repaint.html [ Failure ]
-webkit.org/b/127814 fast/css-grid-layout/grid-item-change-row-repaint.html [ Failure ]
-webkit.org/b/127814 fast/images/repaint-subrect-grid.html [ Failure ]
-webkit.org/b/127814 fast/regions/repaint/element-in-named-flow-absolute-from-fixed.html [ Failure ]
-webkit.org/b/127814 fast/regions/repaint/element-in-named-flow-fixed-from-absolute.html [ Failure ]
-webkit.org/b/127814 fast/regions/repaint/element-inflow-fixed-from-outflow-static.html [ Failure ]
-webkit.org/b/127814 fast/regions/repaint/element-outflow-static-from-inflow-fixed.html [ Failure ]
-webkit.org/b/127814 fast/regions/repaint/invalid-region-repaint-crash.html [ Failure ]
-webkit.org/b/127814 fast/regions/repaint/repaint-element-inside-relative-region.html [ Failure ]
-webkit.org/b/127814 fast/regions/repaint/repaint-regions-overflow.html [ Failure ]
-webkit.org/b/127814 fast/repaint/background-shorthand-with-gradient-and-height-changes.html [ Failure ]
-webkit.org/b/127814 fast/repaint/horizontal-bt-overflow-child.html [ Failure ]
-webkit.org/b/127814 fast/repaint/horizontal-bt-overflow-parent.html [ Failure ]
-webkit.org/b/127814 fast/repaint/horizontal-bt-overflow-same.html [ Failure ]
-webkit.org/b/127814 fast/repaint/negative-text-indent-with-overflow-hidden.html [ Failure ]
-webkit.org/b/127814 fast/repaint/overflow-flipped-writing-mode-table.html [ Failure ]
-webkit.org/b/127814 fast/repaint/reflection-table-layout.html [ Failure ]
-webkit.org/b/127814 fast/repaint/transform-table-layout.html [ Failure ]
-webkit.org/b/127814 fast/repaint/vertical-overflow-child.html [ Failure ]
-webkit.org/b/127814 fast/repaint/vertical-overflow-parent.html [ Failure ]
-webkit.org/b/127814 fast/repaint/vertical-overflow-same.html [ Failure ]
-webkit.org/b/127814 svg/repaint/repaint-webkit-svg-shadow-container.html [ Failure ]
-
-
 ### END OF (1) Classified failures with bug reports
 ########################################
 
index 1b186b3..ea21fb7 100644 (file)
@@ -1,19 +1,25 @@
 (repaint rects
   (rect -100 -100 18 18)
   (rect 0 0 18 18)
-  (rect 0 0 37 18)
-  (rect 18 0 37 18)
+  (rect 0 0 18 18)
+  (rect 18 0 19 18)
+  (rect 18 0 19 18)
+  (rect 37 0 18 18)
   (rect 37 0 18 18)
   (rect -9 18 18 19)
-  (rect -9 18 36 19)
+  (rect -9 18 18 19)
   (rect 9 18 18 19)
+  (rect 9 18 18 19)
+  (rect 28 18 18 19)
   (rect 28 18 18 19)
-  (rect 28 18 36 19)
+  (rect 46 18 18 19)
   (rect 46 18 18 19)
   (rect 0 37 18 18)
-  (rect 0 37 37 18)
-  (rect 18 37 37 18)
-  (rect -100 -100 18 18)
+  (rect 0 37 18 18)
+  (rect 18 37 19 18)
+  (rect 18 37 19 18)
   (rect 37 37 18 18)
+  (rect 37 37 18 18)
+  (rect -100 -100 18 18)
 )
 
index 87b3cba..b1421e1 100644 (file)
@@ -1,3 +1,20 @@
+2014-01-29  Antti Koivisto  <antti@apple.com>
+
+        REGRESSION (r162947): Repaint test results are different between WK1 and WK2
+        https://bugs.webkit.org/show_bug.cgi?id=127814
+
+        Reviewed by Anders Carlsson.
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::repaintContentRectangle):
+        
+            Move repaint rect logging to RenderView.
+
+        * rendering/RenderView.cpp:
+        (WebCore::RenderView::repaintViewRectangle):
+        
+            Record raw repaint rects instead of optimized ones.
+
 2014-01-29  Brady Eidson  <beidson@apple.com>
 
         IDB: Serialize IDBKeyDatas to disk, not IDBKeys
index a021d97..8a9def4 100644 (file)
@@ -2119,8 +2119,6 @@ void FrameView::repaintContentRectangle(const IntRect& r, bool immediate)
 {
     ASSERT(!frame().ownerElement());
 
-    addTrackedRepaintRect(r);
-
     if (!shouldUpdate(immediate))
         return;
 
index 6154be4..a674e8b 100644 (file)
@@ -627,8 +627,10 @@ void RenderView::repaintViewRectangle(const LayoutRect& repaintRect, bool immedi
         ownerBox.repaintRectangle(adjustedRect, immediate);
         return;
     }
-
     IntRect pixelSnappedRect = pixelSnappedIntRect(repaintRect);
+
+    frameView().addTrackedRepaintRect(pixelSnappedRect);
+
     if (!m_accumulatedRepaintRegion || immediate) {
         frameView().repaintContentRectangle(pixelSnappedRect, immediate);
         return;