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