Title: [246668] trunk
Revision
246668
Author
simon.fra...@apple.com
Date
2019-06-20 19:30:35 -0700 (Thu, 20 Jun 2019)

Log Message

Make it possible to include clipping in GraphicsLayer tree dumps
https://bugs.webkit.org/show_bug.cgi?id=199096

Reviewed by Zalan Bujtas.

Source/WebCore:

Add LAYER_TREE_INCLUDES_CLIPPING and plumb it down to GraphicsLayers, turning
it on for a couple of tests.

* page/Frame.h:
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::dumpProperties const):
* platform/graphics/GraphicsLayerClient.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::layerTreeAsText):
* testing/Internals.cpp:
(WebCore::toLayerTreeFlags):
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

* compositing/clipping/border-radius-async-overflow-clipping-layer-expected.txt:
* compositing/clipping/border-radius-async-overflow-clipping-layer.html:
* compositing/clipping/border-radius-overflow-hidden-stacking-context-expected.txt:
* compositing/clipping/border-radius-overflow-hidden-stacking-context.html:
* platform/mac-wk1/compositing/clipping/border-radius-async-overflow-clipping-layer-expected.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (246667 => 246668)


--- trunk/LayoutTests/ChangeLog	2019-06-21 01:21:08 UTC (rev 246667)
+++ trunk/LayoutTests/ChangeLog	2019-06-21 02:30:35 UTC (rev 246668)
@@ -1,3 +1,16 @@
+2019-06-20  Simon Fraser  <simon.fra...@apple.com>
+
+        Make it possible to include clipping in GraphicsLayer tree dumps
+        https://bugs.webkit.org/show_bug.cgi?id=199096
+
+        Reviewed by Zalan Bujtas.
+
+        * compositing/clipping/border-radius-async-overflow-clipping-layer-expected.txt:
+        * compositing/clipping/border-radius-async-overflow-clipping-layer.html:
+        * compositing/clipping/border-radius-overflow-hidden-stacking-context-expected.txt:
+        * compositing/clipping/border-radius-overflow-hidden-stacking-context.html:
+        * platform/mac-wk1/compositing/clipping/border-radius-async-overflow-clipping-layer-expected.txt:
+
 2019-06-20  Greg Doolittle  <g...@apple.com>
 
         Web Inspector: AXI: Audit: image label test is throwing spurious errors on elements with existing alt attr, but no value: <img alt>

Modified: trunk/LayoutTests/compositing/clipping/border-radius-async-overflow-clipping-layer-expected.txt (246667 => 246668)


--- trunk/LayoutTests/compositing/clipping/border-radius-async-overflow-clipping-layer-expected.txt	2019-06-21 01:21:08 UTC (rev 246667)
+++ trunk/LayoutTests/compositing/clipping/border-radius-async-overflow-clipping-layer-expected.txt	2019-06-21 02:30:35 UTC (rev 246668)
@@ -3,6 +3,7 @@
 (GraphicsLayer
   (anchor 0.00 0.00)
   (bounds 800.00 600.00)
+  (clips 1)
   (children 1
     (GraphicsLayer
       (bounds 800.00 600.00)
@@ -18,6 +19,7 @@
               (offsetFromRenderer width=30 height=30)
               (position 44.00 44.00)
               (bounds 320.00 200.00)
+              (clips 1)
               (children 1
                 (GraphicsLayer
                   (offsetFromRenderer width=30 height=30)
@@ -51,10 +53,12 @@
               (offsetFromRenderer width=30 height=30)
               (position 44.00 44.00)
               (bounds 320.00 200.00)
+              (clips 1)
               (children 1
                 (GraphicsLayer
                   (offsetFromRenderer width=30 height=30)
                   (bounds 320.00 200.00)
+                  (clips 1)
                   (children 1
                     (GraphicsLayer
                       (offsetFromRenderer width=30 height=30)

Modified: trunk/LayoutTests/compositing/clipping/border-radius-async-overflow-clipping-layer.html (246667 => 246668)


--- trunk/LayoutTests/compositing/clipping/border-radius-async-overflow-clipping-layer.html	2019-06-21 01:21:08 UTC (rev 246667)
+++ trunk/LayoutTests/compositing/clipping/border-radius-async-overflow-clipping-layer.html	2019-06-21 02:30:35 UTC (rev 246668)
@@ -39,7 +39,7 @@
 
         window.addEventListener('load', () => {
             if (window.testRunner)
-                document.getElementById('layers').innerText = window.internals.layerTreeAsText(document);
+                document.getElementById('layers').innerText = window.internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_CLIPPING);
         }, false);
     </script>
 

Modified: trunk/LayoutTests/compositing/clipping/border-radius-overflow-hidden-stacking-context-expected.txt (246667 => 246668)


--- trunk/LayoutTests/compositing/clipping/border-radius-overflow-hidden-stacking-context-expected.txt	2019-06-21 01:21:08 UTC (rev 246667)
+++ trunk/LayoutTests/compositing/clipping/border-radius-overflow-hidden-stacking-context-expected.txt	2019-06-21 02:30:35 UTC (rev 246668)
@@ -3,6 +3,7 @@
 (GraphicsLayer
   (anchor 0.00 0.00)
   (bounds 800.00 600.00)
+  (clips 1)
   (children 1
     (GraphicsLayer
       (bounds 800.00 600.00)
@@ -14,6 +15,7 @@
           (children 1
             (GraphicsLayer
               (bounds 100.00 100.00)
+              (clips 1)
               (children 1
                 (GraphicsLayer
                   (bounds 200.00 200.00)

Modified: trunk/LayoutTests/compositing/clipping/border-radius-overflow-hidden-stacking-context.html (246667 => 246668)


--- trunk/LayoutTests/compositing/clipping/border-radius-overflow-hidden-stacking-context.html	2019-06-21 01:21:08 UTC (rev 246667)
+++ trunk/LayoutTests/compositing/clipping/border-radius-overflow-hidden-stacking-context.html	2019-06-21 02:30:35 UTC (rev 246668)
@@ -35,7 +35,7 @@
 
     function doTest() {
       if (window.testRunner) {
-        document.getElementById('layers').innerText = window.internals.layerTreeAsText(document);
+        document.getElementById('layers').innerText = window.internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_CLIPPING);
         testRunner.notifyDone();
       }
     }

Modified: trunk/LayoutTests/platform/mac-wk1/compositing/clipping/border-radius-async-overflow-clipping-layer-expected.txt (246667 => 246668)


--- trunk/LayoutTests/platform/mac-wk1/compositing/clipping/border-radius-async-overflow-clipping-layer-expected.txt	2019-06-21 01:21:08 UTC (rev 246667)
+++ trunk/LayoutTests/platform/mac-wk1/compositing/clipping/border-radius-async-overflow-clipping-layer-expected.txt	2019-06-21 02:30:35 UTC (rev 246668)
@@ -3,6 +3,7 @@
 (GraphicsLayer
   (anchor 0.00 0.00)
   (bounds 800.00 600.00)
+  (clips 1)
   (children 1
     (GraphicsLayer
       (bounds 800.00 600.00)
@@ -17,6 +18,7 @@
               (offsetFromRenderer width=30 height=30)
               (position 44.00 44.00)
               (bounds 320.00 200.00)
+              (clips 1)
               (children 1
                 (GraphicsLayer
                   (position 10.00 10.00)
@@ -43,6 +45,7 @@
               (offsetFromRenderer width=30 height=30)
               (position 44.00 44.00)
               (bounds 320.00 200.00)
+              (clips 1)
               (children 1
                 (GraphicsLayer
                   (position 10.00 10.00)

Modified: trunk/Source/WebCore/ChangeLog (246667 => 246668)


--- trunk/Source/WebCore/ChangeLog	2019-06-21 01:21:08 UTC (rev 246667)
+++ trunk/Source/WebCore/ChangeLog	2019-06-21 02:30:35 UTC (rev 246668)
@@ -1,3 +1,24 @@
+2019-06-20  Simon Fraser  <simon.fra...@apple.com>
+
+        Make it possible to include clipping in GraphicsLayer tree dumps
+        https://bugs.webkit.org/show_bug.cgi?id=199096
+
+        Reviewed by Zalan Bujtas.
+
+        Add LAYER_TREE_INCLUDES_CLIPPING and plumb it down to GraphicsLayers, turning
+        it on for a couple of tests.
+
+        * page/Frame.h:
+        * platform/graphics/GraphicsLayer.cpp:
+        (WebCore::GraphicsLayer::dumpProperties const):
+        * platform/graphics/GraphicsLayerClient.h:
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::layerTreeAsText):
+        * testing/Internals.cpp:
+        (WebCore::toLayerTreeFlags):
+        * testing/Internals.h:
+        * testing/Internals.idl:
+
 2019-06-20  Daniel Bates  <daba...@apple.com>
 
         [iOS] Evernote crashes when creating a note

Modified: trunk/Source/WebCore/page/Frame.h (246667 => 246668)


--- trunk/Source/WebCore/page/Frame.h	2019-06-21 01:21:08 UTC (rev 246667)
+++ trunk/Source/WebCore/page/Frame.h	2019-06-21 02:30:35 UTC (rev 246668)
@@ -113,9 +113,10 @@
     LayerTreeFlagsIncludePaintingPhases         = 1 << 4,
     LayerTreeFlagsIncludeContentLayers          = 1 << 5,
     LayerTreeFlagsIncludeAcceleratesDrawing     = 1 << 6,
-    LayerTreeFlagsIncludeBackingStoreAttached   = 1 << 7,
-    LayerTreeFlagsIncludeRootLayerProperties    = 1 << 8,
-    LayerTreeFlagsIncludeEventRegion            = 1 << 9,
+    LayerTreeFlagsIncludeClipping               = 1 << 7,
+    LayerTreeFlagsIncludeBackingStoreAttached   = 1 << 8,
+    LayerTreeFlagsIncludeRootLayerProperties    = 1 << 9,
+    LayerTreeFlagsIncludeEventRegion            = 1 << 10,
 };
 typedef unsigned LayerTreeFlags;
 

Modified: trunk/Source/WebCore/platform/graphics/GraphicsLayer.cpp (246667 => 246668)


--- trunk/Source/WebCore/platform/graphics/GraphicsLayer.cpp	2019-06-21 01:21:08 UTC (rev 246667)
+++ trunk/Source/WebCore/platform/graphics/GraphicsLayer.cpp	2019-06-21 02:30:35 UTC (rev 246668)
@@ -906,6 +906,9 @@
     if (m_supportsSubpixelAntialiasedText)
         ts << indent << "(supports subpixel antialiased text " << m_supportsSubpixelAntialiasedText << ")\n";
 
+    if (m_masksToBounds && behavior & LayerTreeAsTextIncludeClipping)
+        ts << indent << "(clips " << m_masksToBounds << ")\n";
+
     if (m_preserves3D)
         ts << indent << "(preserves3D " << m_preserves3D << ")\n";
 

Modified: trunk/Source/WebCore/platform/graphics/GraphicsLayerClient.h (246667 => 246668)


--- trunk/Source/WebCore/platform/graphics/GraphicsLayerClient.h	2019-06-21 01:21:08 UTC (rev 246667)
+++ trunk/Source/WebCore/platform/graphics/GraphicsLayerClient.h	2019-06-21 02:30:35 UTC (rev 246668)
@@ -70,9 +70,10 @@
     LayerTreeAsTextIncludeContentLayers         = 1 << 5,
     LayerTreeAsTextIncludePageOverlayLayers     = 1 << 6,
     LayerTreeAsTextIncludeAcceleratesDrawing    = 1 << 7,
-    LayerTreeAsTextIncludeBackingStoreAttached  = 1 << 8,
-    LayerTreeAsTextIncludeRootLayerProperties   = 1 << 9,
-    LayerTreeAsTextIncludeEventRegion           = 1 << 10,
+    LayerTreeAsTextIncludeClipping              = 1 << 8,
+    LayerTreeAsTextIncludeBackingStoreAttached  = 1 << 9,
+    LayerTreeAsTextIncludeRootLayerProperties   = 1 << 10,
+    LayerTreeAsTextIncludeEventRegion           = 1 << 11,
     LayerTreeAsTextShowAll                      = 0xFFFF
 };
 typedef unsigned LayerTreeAsTextBehavior;

Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (246667 => 246668)


--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2019-06-21 01:21:08 UTC (rev 246667)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2019-06-21 02:30:35 UTC (rev 246668)
@@ -2084,6 +2084,8 @@
         layerTreeBehavior |= LayerTreeAsTextIncludeContentLayers;
     if (flags & LayerTreeFlagsIncludeAcceleratesDrawing)
         layerTreeBehavior |= LayerTreeAsTextIncludeAcceleratesDrawing;
+    if (flags & LayerTreeFlagsIncludeClipping)
+        layerTreeBehavior |= LayerTreeAsTextIncludeClipping;
     if (flags & LayerTreeFlagsIncludeBackingStoreAttached)
         layerTreeBehavior |= LayerTreeAsTextIncludeBackingStoreAttached;
     if (flags & LayerTreeFlagsIncludeRootLayerProperties)

Modified: trunk/Source/WebCore/testing/Internals.cpp (246667 => 246668)


--- trunk/Source/WebCore/testing/Internals.cpp	2019-06-21 01:21:08 UTC (rev 246667)
+++ trunk/Source/WebCore/testing/Internals.cpp	2019-06-21 02:30:35 UTC (rev 246668)
@@ -2544,6 +2544,8 @@
         layerTreeFlags |= LayerTreeFlagsIncludeContentLayers;
     if (flags & Internals::LAYER_TREE_INCLUDES_ACCELERATES_DRAWING)
         layerTreeFlags |= LayerTreeFlagsIncludeAcceleratesDrawing;
+    if (flags & Internals::LAYER_TREE_INCLUDES_CLIPPING)
+        layerTreeFlags |= LayerTreeFlagsIncludeClipping;
     if (flags & Internals::LAYER_TREE_INCLUDES_BACKING_STORE_ATTACHED)
         layerTreeFlags |= LayerTreeFlagsIncludeBackingStoreAttached;
     if (flags & Internals::LAYER_TREE_INCLUDES_ROOT_LAYER_PROPERTIES)

Modified: trunk/Source/WebCore/testing/Internals.h (246667 => 246668)


--- trunk/Source/WebCore/testing/Internals.h	2019-06-21 01:21:08 UTC (rev 246667)
+++ trunk/Source/WebCore/testing/Internals.h	2019-06-21 02:30:35 UTC (rev 246668)
@@ -351,9 +351,10 @@
         LAYER_TREE_INCLUDES_PAINTING_PHASES = 8,
         LAYER_TREE_INCLUDES_CONTENT_LAYERS = 16,
         LAYER_TREE_INCLUDES_ACCELERATES_DRAWING = 32,
-        LAYER_TREE_INCLUDES_BACKING_STORE_ATTACHED = 64,
-        LAYER_TREE_INCLUDES_ROOT_LAYER_PROPERTIES = 128,
-        LAYER_TREE_INCLUDES_EVENT_REGION = 256,
+        LAYER_TREE_INCLUDES_CLIPPING = 64,
+        LAYER_TREE_INCLUDES_BACKING_STORE_ATTACHED = 128,
+        LAYER_TREE_INCLUDES_ROOT_LAYER_PROPERTIES = 256,
+        LAYER_TREE_INCLUDES_EVENT_REGION = 512,
     };
     ExceptionOr<String> layerTreeAsText(Document&, unsigned short flags) const;
     ExceptionOr<uint64_t> layerIDForElement(Element&);

Modified: trunk/Source/WebCore/testing/Internals.idl (246667 => 246668)


--- trunk/Source/WebCore/testing/Internals.idl	2019-06-21 01:21:08 UTC (rev 246667)
+++ trunk/Source/WebCore/testing/Internals.idl	2019-06-21 02:30:35 UTC (rev 246668)
@@ -372,9 +372,10 @@
     const unsigned short LAYER_TREE_INCLUDES_PAINTING_PHASES = 8;
     const unsigned short LAYER_TREE_INCLUDES_CONTENT_LAYERS = 16;
     const unsigned short LAYER_TREE_INCLUDES_ACCELERATES_DRAWING = 32;
-    const unsigned short LAYER_TREE_INCLUDES_BACKING_STORE_ATTACHED = 64;
-    const unsigned short LAYER_TREE_INCLUDES_ROOT_LAYER_PROPERTIES = 128;
-    const unsigned short LAYER_TREE_INCLUDES_EVENT_REGION = 256;
+    const unsigned short LAYER_TREE_INCLUDES_CLIPPING = 64;
+    const unsigned short LAYER_TREE_INCLUDES_BACKING_STORE_ATTACHED = 128;
+    const unsigned short LAYER_TREE_INCLUDES_ROOT_LAYER_PROPERTIES = 256;
+    const unsigned short LAYER_TREE_INCLUDES_EVENT_REGION = 512;
     [MayThrowException] DOMString layerTreeAsText(Document document, optional unsigned short flags = 0);
 
     [MayThrowException] unsigned long long layerIDForElement(Element element);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to