Title: [279763] trunk/Source/WebCore
Revision
279763
Author
simon.fra...@apple.com
Date
2021-07-08 16:46:39 -0700 (Thu, 08 Jul 2021)

Log Message

Make backingProviderLayerCanIncludeLayer() a member function of BackingSharingState
https://bugs.webkit.org/show_bug.cgi?id=227818

Reviewed by Alan Bujtas.

Minor code refactor, no behavior change.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::BackingSharingState::canIncludeLayer const):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::traverseUnchangedSubtree):
(WebCore::backingProviderLayerCanIncludeLayer): Deleted.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (279762 => 279763)


--- trunk/Source/WebCore/ChangeLog	2021-07-08 23:25:33 UTC (rev 279762)
+++ trunk/Source/WebCore/ChangeLog	2021-07-08 23:46:39 UTC (rev 279763)
@@ -1,3 +1,18 @@
+2021-07-08  Simon Fraser  <simon.fra...@apple.com>
+
+        Make backingProviderLayerCanIncludeLayer() a member function of BackingSharingState
+        https://bugs.webkit.org/show_bug.cgi?id=227818
+
+        Reviewed by Alan Bujtas.
+
+        Minor code refactor, no behavior change.
+
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::BackingSharingState::canIncludeLayer const):
+        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+        (WebCore::RenderLayerCompositor::traverseUnchangedSubtree):
+        (WebCore::backingProviderLayerCanIncludeLayer): Deleted.
+
 2021-07-08  Ryosuke Niwa  <rn...@webkit.org>
 
         Remove more custom binding code with GenerateAddOpaqueRoot

Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (279762 => 279763)


--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2021-07-08 23:25:33 UTC (rev 279762)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2021-07-08 23:46:39 UTC (rev 279763)
@@ -259,6 +259,8 @@
     {
         return m_backingSharingLayers.contains(&layer);
     }
+    
+    bool canIncludeLayer(const RenderLayer&) const;
 
     // Add a layer that would repaint into a layer in m_backingSharingLayers.
     // That repaint has to wait until we've set the provider's backing-sharing layers.
@@ -301,6 +303,15 @@
     m_backingProviderCandidate = nullptr;
 }
 
+bool RenderLayerCompositor::BackingSharingState::canIncludeLayer(const RenderLayer& layer) const
+{
+    // Disable sharing when painting shared layers doesn't work correctly.
+    if (layer.hasReflection())
+        return false;
+
+    return m_backingProviderCandidate && layer.ancestorLayerIsInContainingBlockChain(*m_backingProviderCandidate);
+}
+
 RenderLayer* RenderLayerCompositor::BackingSharingState::updateBeforeDescendantTraversal(RenderLayer& layer, bool willBeComposited)
 {
     layer.setBackingProviderLayer(nullptr);
@@ -951,15 +962,6 @@
     return true;
 }
 
-static bool backingProviderLayerCanIncludeLayer(const RenderLayer& sharedLayer, const RenderLayer& layer)
-{
-    // Disable sharing when painting shared layers doesn't work correctly.
-    if (layer.hasReflection())
-        return false;
-
-    return layer.ancestorLayerIsInContainingBlockChain(sharedLayer);
-}
-
 void RenderLayerCompositor::computeCompositingRequirements(RenderLayer* ancestorLayer, RenderLayer& layer, LayerOverlapMap& overlapMap, CompositingState& compositingState, BackingSharingState& backingSharingState, bool& descendantHas3DTransform)
 {
     layer.updateDescendantDependentFlags();
@@ -993,9 +995,9 @@
     }
 
     bool layerPaintsIntoProvidedBacking = false;
-    if (!willBeComposited && compositingState.subtreeIsCompositing && backingSharingState.backingProviderCandidate() && canBeComposited(layer) && backingProviderLayerCanIncludeLayer(*backingSharingState.backingProviderCandidate(), layer)) {
+    if (!willBeComposited && compositingState.subtreeIsCompositing && canBeComposited(layer) && backingSharingState.canIncludeLayer(layer)) {
         backingSharingState.appendSharingLayer(layer);
-        LOG(Compositing, " layer %p can share with %p", &layer, backingSharingState.backingProviderCandidate());
+        LOG_WITH_STREAM(Compositing, stream << " layer " << &layer << " can share with " << backingSharingState.backingProviderCandidate());
         compositingReason = IndirectCompositingReason::None;
         layerPaintsIntoProvidedBacking = true;
     }
@@ -1229,8 +1231,7 @@
         computeExtent(overlapMap, layer, layerExtent);
 
     if (layer.paintsIntoProvidedBacking()) {
-        ASSERT(backingSharingState.backingProviderCandidate());
-        ASSERT(backingProviderLayerCanIncludeLayer(*backingSharingState.backingProviderCandidate(), layer));
+        ASSERT(backingSharingState.canIncludeLayer(layer));
         backingSharingState.appendSharingLayer(layer);
         layerPaintsIntoProvidedBacking = true;
     }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to