Move code that sets compositing paint phases into a single function
[WebKit-https.git] / Source / WebCore / ChangeLog
index 905a884..7f6b5bf 100644 (file)
@@ -1,3 +1,35 @@
+2019-05-31  Simon Fraser  <simon.fraser@apple.com>
+
+        Move code that sets compositing paint phases into a single function
+        https://bugs.webkit.org/show_bug.cgi?id=198420
+
+        Reviewed by Zalan Bujtas.
+
+        To compute the correct paint phases for the various GraphicsLayers in a RenderLayerBacking,
+        we have to know which set of layers we've created (m_scrollContainerLayer, m_foregroundLayer etc).
+        So move the code that sets phases into a single function which is called when that
+        set of layers changes.
+
+        The test dumps paint phases for a stacking-context-composited scroller with a negative z-index child.
+
+        Also have GraphicsLayer::setPaintingPhase() trigger the necessary repaint when the paint phase changes.
+
+        Test: compositing/overflow/stacking-context-composited-scroller-with-foreground-paint-phases.html
+
+        * platform/graphics/GraphicsLayer.cpp:
+        (WebCore::GraphicsLayer::setPaintingPhase):
+        * platform/graphics/GraphicsLayer.h:
+        (WebCore::GraphicsLayer::setPaintingPhase): Deleted.
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::updateConfiguration):
+        (WebCore::RenderLayerBacking::updateForegroundLayer):
+        (WebCore::RenderLayerBacking::updateBackgroundLayer):
+        (WebCore::RenderLayerBacking::updateMaskingLayer):
+        (WebCore::RenderLayerBacking::updateScrollingLayers):
+        (WebCore::RenderLayerBacking::updatePaintingPhases):
+        (WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer const): Deleted.
+        * rendering/RenderLayerBacking.h:
+
 2019-05-31  Saam Barati  <sbarati@apple.com>
 
         [WHLSL] Make sure we properly emit code for "&*x"