Title: [139031] trunk
Revision
139031
Author
christophe.du...@intel.com
Date
2013-01-07 22:03:20 -0800 (Mon, 07 Jan 2013)

Log Message

[CoordinatedGraphics] Support invalidation tracking for CoordinatedGraphicsLayer
https://bugs.webkit.org/show_bug.cgi?id=106002

Reviewed by Noam Rosenthal.

Source/WebKit2:

Add calls to addRepaintRect() to CoordinatedGraphicsLayer so that
we can track invalidation in the composited layer.

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
(WebCore::CoordinatedGraphicsLayer::setNeedsDisplay): Pass a FloatRect instead
of an IntRect to setNeedsDisplayInRect() since it is what it expects.
(WebCore::CoordinatedGraphicsLayer::setNeedsDisplayInRect):

LayoutTests:

Unskip several tests that require invalidation tracking for EFL WK2 now that
it is supported by Coordinated Graphics.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:
* platform/efl/compositing/repaint/invalidations-on-composited-layers-expected.txt: Added.
Use same expectation as mac port.
* platform/efl/fast/images/repaint-subrect-grid-expected.txt: Added. We are sometimes
1 pixel off compared to the global expectation likely due to lack for subpixel layout
support.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (139030 => 139031)


--- trunk/LayoutTests/ChangeLog	2013-01-08 04:58:03 UTC (rev 139030)
+++ trunk/LayoutTests/ChangeLog	2013-01-08 06:03:20 UTC (rev 139031)
@@ -1,3 +1,21 @@
+2013-01-07  Christophe Dumez  <christophe.du...@intel.com>
+
+        [CoordinatedGraphics] Support invalidation tracking for CoordinatedGraphicsLayer
+        https://bugs.webkit.org/show_bug.cgi?id=106002
+
+        Reviewed by Noam Rosenthal.
+
+        Unskip several tests that require invalidation tracking for EFL WK2 now that
+        it is supported by Coordinated Graphics.
+
+        * platform/efl-wk2/TestExpectations:
+        * platform/efl/TestExpectations:
+        * platform/efl/compositing/repaint/invalidations-on-composited-layers-expected.txt: Added.
+        Use same expectation as mac port.
+        * platform/efl/fast/images/repaint-subrect-grid-expected.txt: Added. We are sometimes
+        1 pixel off compared to the global expectation likely due to lack for subpixel layout
+        support.
+
 2013-01-07  Hajime Morrita  <morr...@google.com>
 
         Document::m_activeNode should be always an Element.

Modified: trunk/LayoutTests/platform/efl/TestExpectations (139030 => 139031)


--- trunk/LayoutTests/platform/efl/TestExpectations	2013-01-08 04:58:03 UTC (rev 139030)
+++ trunk/LayoutTests/platform/efl/TestExpectations	2013-01-08 06:03:20 UTC (rev 139031)
@@ -141,7 +141,6 @@
 fast/repaint/inline-overflow.html
 fast/repaint/inline-relative-positioned.html
 fast/repaint/overflow-flipped-writing-mode-block.html
-fast/repaint/overflow-flipped-writing-mode-table.html
 fast/repaint/text-in-relative-positioned-inline.html
 fast/repaint/trailing-floats-root-line-box-overflow.html
 fast/table/simple_paint.html
@@ -1616,7 +1615,6 @@
 Bug(EFL) animations/negative-delay.html [ Failure Pass ]
 Bug(EFL) compositing/bounds-in-flipped-writing-mode.html [ Failure ]
 Bug(EFL) compositing/iframes/leave-compositing-iframe.html [ Failure ]
-Bug(EFL) compositing/repaint/invalidations-on-composited-layers.html [ Failure ]
 Bug(EFL) compositing/visibility/visibility-composited.html [ Failure ]
 Bug(EFL) editing/selection/caret-rtl.html [ Failure Pass ]
 Bug(EFL) editing/selection/caret-at-bidi-boundary.html [ Crash Pass ]

Added: trunk/LayoutTests/platform/efl/compositing/repaint/invalidations-on-composited-layers-expected.txt (0 => 139031)


--- trunk/LayoutTests/platform/efl/compositing/repaint/invalidations-on-composited-layers-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/efl/compositing/repaint/invalidations-on-composited-layers-expected.txt	2013-01-08 06:03:20 UTC (rev 139031)
@@ -0,0 +1,26 @@
+(repaint rects
+  (rect 8 13 784 15)
+  (rect 8 413 784 28)
+  (rect 0 421 800 28)
+)
+(GraphicsLayer
+  (bounds 800.00 600.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 800.00 600.00)
+      (children 1
+        (GraphicsLayer
+          (position 8.00 41.00)
+          (bounds 400.00 400.00)
+          (children 1
+            (GraphicsLayer
+              (position 50.00 50.00)
+              (bounds 75.00 75.00)
+            )
+          )
+        )
+      )
+    )
+  )
+)
+

Added: trunk/LayoutTests/platform/efl/fast/images/repaint-subrect-grid-expected.txt (0 => 139031)


--- trunk/LayoutTests/platform/efl/fast/images/repaint-subrect-grid-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/efl/fast/images/repaint-subrect-grid-expected.txt	2013-01-08 06:03:20 UTC (rev 139031)
@@ -0,0 +1,25 @@
+(repaint rects
+  (rect -100 -100 18 18)
+  (rect 0 0 18 18)
+  (rect 0 0 18 18)
+  (rect 18 0 18 18)
+  (rect 18 0 18 18)
+  (rect 36 0 18 18)
+  (rect 36 0 18 18)
+  (rect -9 18 18 18)
+  (rect -9 18 18 18)
+  (rect 9 18 18 18)
+  (rect 9 18 18 18)
+  (rect 27 18 18 18)
+  (rect 27 18 18 18)
+  (rect 45 18 18 18)
+  (rect 45 18 18 18)
+  (rect 0 36 18 18)
+  (rect 0 36 18 18)
+  (rect 18 36 18 18)
+  (rect 18 36 18 18)
+  (rect 36 36 18 18)
+  (rect 36 36 18 18)
+  (rect -100 -100 18 18)
+)
+

Modified: trunk/LayoutTests/platform/efl-wk2/TestExpectations (139030 => 139031)


--- trunk/LayoutTests/platform/efl-wk2/TestExpectations	2013-01-08 04:58:03 UTC (rev 139030)
+++ trunk/LayoutTests/platform/efl-wk2/TestExpectations	2013-01-08 06:03:20 UTC (rev 139031)
@@ -317,9 +317,6 @@
 # The following test makes the fast/parser/document-write-ignores-later-network-bytes.html test crash
 webkit.org/b/98345 fast/parser/document-open-in-unload.html [ Skip ]
 
-# Requires TestRunner displayInvalidatedRegion() support.
-webkit.org/b/98523 fast/images/repaint-subrect-grid.html [ Failure ]
-
 # NPP_SetWindow is not called with proper size for the first time.
 webkit.org/b/98746 plugins/netscape-plugin-setwindow-size-2.html [ Failure ]
 

Modified: trunk/Source/WebKit2/ChangeLog (139030 => 139031)


--- trunk/Source/WebKit2/ChangeLog	2013-01-08 04:58:03 UTC (rev 139030)
+++ trunk/Source/WebKit2/ChangeLog	2013-01-08 06:03:20 UTC (rev 139031)
@@ -1,3 +1,19 @@
+2013-01-07  Christophe Dumez  <christophe.du...@intel.com>
+
+        [CoordinatedGraphics] Support invalidation tracking for CoordinatedGraphicsLayer
+        https://bugs.webkit.org/show_bug.cgi?id=106002
+
+        Reviewed by Noam Rosenthal.
+
+        Add calls to addRepaintRect() to CoordinatedGraphicsLayer so that
+        we can track invalidation in the composited layer.
+
+        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
+        (WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
+        (WebCore::CoordinatedGraphicsLayer::setNeedsDisplay): Pass a FloatRect instead
+        of an IntRect to setNeedsDisplayInRect() since it is what it expects.
+        (WebCore::CoordinatedGraphicsLayer::setNeedsDisplayInRect):
+
 2013-01-07  Anders Carlsson  <ander...@apple.com>
 
         Remove PLATFORM(WIN) #ifdefs

Modified: trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp (139030 => 139031)


--- trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp	2013-01-08 04:58:03 UTC (rev 139030)
+++ trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp	2013-01-08 06:03:20 UTC (rev 139031)
@@ -318,6 +318,8 @@
         m_canvasNeedsDisplay = true;
     if (client())
         client()->notifyFlushRequired(this);
+
+    addRepaintRect(contentsRect());
 }
 
 void CoordinatedGraphicsLayer::setContentsToCanvas(PlatformLayer* platformLayer)
@@ -429,14 +431,17 @@
 
 void CoordinatedGraphicsLayer::setNeedsDisplay()
 {
-    setNeedsDisplayInRect(IntRect(IntPoint::zero(), IntSize(size().width(), size().height())));
+    setNeedsDisplayInRect(FloatRect(FloatPoint(), size()));
 }
 
 void CoordinatedGraphicsLayer::setNeedsDisplayInRect(const FloatRect& rect)
 {
     if (m_mainBackingStore)
         m_mainBackingStore->invalidate(IntRect(rect));
+
     didChangeLayerState();
+
+    addRepaintRect(rect);
 }
 
 CoordinatedLayerID CoordinatedGraphicsLayer::id() const
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to