Modified: trunk/Source/WebCore/ChangeLog (258999 => 259000)
--- trunk/Source/WebCore/ChangeLog 2020-03-25 18:24:31 UTC (rev 258999)
+++ trunk/Source/WebCore/ChangeLog 2020-03-25 18:34:21 UTC (rev 259000)
@@ -1,3 +1,22 @@
+2020-03-25 Simon Fraser <simon.fra...@apple.com>
+
+ Remove CompositingChangeRepaint which was always CompositingChangeRepaintNow
+ https://bugs.webkit.org/show_bug.cgi?id=209551
+
+ Reviewed by Zalan Bujtas.
+
+ All callers to updateBacking() passed CompositingChangeRepaintNow, so remove this argument
+ and the enum.
+
+ No behavior change.
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+ (WebCore::RenderLayerCompositor::layerStyleChanged):
+ (WebCore::RenderLayerCompositor::updateBacking):
+ (WebCore::RenderLayerCompositor::updateLayerCompositingState):
+ * rendering/RenderLayerCompositor.h:
+
2020-03-25 Sergio Villar Senin <svil...@igalia.com>
Unreviewed build fix for GTK.
Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (258999 => 259000)
--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2020-03-25 18:24:31 UTC (rev 258999)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2020-03-25 18:34:21 UTC (rev 259000)
@@ -1049,7 +1049,7 @@
// Create or destroy backing here. However, we can't update geometry because layers above us may become composited
// during post-order traversal (e.g. for clipping).
- if (updateBacking(layer, queryData, CompositingChangeRepaintNow, willBeComposited ? BackingRequired::Yes : BackingRequired::No)) {
+ if (updateBacking(layer, queryData, willBeComposited ? BackingRequired::Yes : BackingRequired::No)) {
layer.setNeedsCompositingLayerConnection();
// Child layers need to get a geometry update to recompute their position.
layer.setChildrenNeedCompositingGeometryUpdate();
@@ -1058,7 +1058,7 @@
}
// Update layer state bits.
- if (layer.reflectionLayer() && updateLayerCompositingState(*layer.reflectionLayer(), &layer, queryData, CompositingChangeRepaintNow))
+ if (layer.reflectionLayer() && updateLayerCompositingState(*layer.reflectionLayer(), &layer, queryData))
layer.setNeedsCompositingLayerConnection();
// FIXME: clarify needsCompositingPaintOrderChildrenUpdate. If a composited layer gets a new ancestor, it needs geometry computations.
@@ -1467,7 +1467,7 @@
RequiresCompositingData queryData;
queryData.layoutUpToDate = LayoutUpToDate::No;
- bool layerChanged = updateBacking(layer, queryData, CompositingChangeRepaintNow);
+ bool layerChanged = updateBacking(layer, queryData);
if (layerChanged) {
layer.setChildrenNeedCompositingGeometryUpdate();
layer.setNeedsCompositingLayerConnection();
@@ -1589,7 +1589,7 @@
m_rootContentsLayer->setMasksToBounds(!m_renderView.settings().backgroundShouldExtendBeyondPage());
}
-bool RenderLayerCompositor::updateBacking(RenderLayer& layer, RequiresCompositingData& queryData, CompositingChangeRepaint shouldRepaint, BackingRequired backingRequired)
+bool RenderLayerCompositor::updateBacking(RenderLayer& layer, RequiresCompositingData& queryData, BackingRequired backingRequired)
{
bool layerChanged = false;
if (backingRequired == BackingRequired::Unknown)
@@ -1606,8 +1606,7 @@
if (!layer.backing()) {
// If we need to repaint, do so before making backing
- if (shouldRepaint == CompositingChangeRepaintNow)
- repaintOnCompositingChange(layer); // wrong backing
+ repaintOnCompositingChange(layer);
layer.ensureBacking();
@@ -1657,8 +1656,7 @@
layer.computeRepaintRectsIncludingDescendants();
// If we need to repaint, do so now that we've removed the backing
- if (shouldRepaint == CompositingChangeRepaintNow)
- repaintOnCompositingChange(layer);
+ repaintOnCompositingChange(layer);
}
}
@@ -1698,9 +1696,9 @@
return layerChanged;
}
-bool RenderLayerCompositor::updateLayerCompositingState(RenderLayer& layer, const RenderLayer* compositingAncestor, RequiresCompositingData& queryData, CompositingChangeRepaint shouldRepaint)
+bool RenderLayerCompositor::updateLayerCompositingState(RenderLayer& layer, const RenderLayer* compositingAncestor, RequiresCompositingData& queryData)
{
- bool layerChanged = updateBacking(layer, queryData, shouldRepaint);
+ bool layerChanged = updateBacking(layer, queryData);
// See if we need content or clipping layers. Methods called here should assume
// that the compositing state of descendant layers has not been updated yet.
Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.h (258999 => 259000)
--- trunk/Source/WebCore/rendering/RenderLayerCompositor.h 2020-03-25 18:24:31 UTC (rev 258999)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.h 2020-03-25 18:34:21 UTC (rev 259000)
@@ -196,8 +196,6 @@
// This is used to cancel any pending update timers when the document goes into back/forward cache.
void cancelCompositingLayerUpdate();
- // Update the compositing state of the given layer. Returns true if that state changed.
- enum CompositingChangeRepaint { CompositingChangeRepaintNow, CompositingChangeWillRepaintLater };
enum class LayoutUpToDate {
Yes, No
};
@@ -208,7 +206,8 @@
bool reevaluateAfterLayout { false };
};
- bool updateLayerCompositingState(RenderLayer&, const RenderLayer* compositingAncestor, RequiresCompositingData&, CompositingChangeRepaint = CompositingChangeRepaintNow);
+ // Update the compositing state of the given layer. Returns true if that state changed.
+ bool updateLayerCompositingState(RenderLayer&, const RenderLayer* compositingAncestor, RequiresCompositingData&);
// Whether layer's backing needs a graphics layer to do clipping by an ancestor (non-stacking-context parent with overflow).
bool clippedByAncestor(RenderLayer&, const RenderLayer* compositingAncestor) const;
@@ -415,7 +414,7 @@
// Make or destroy the backing for this layer; returns true if backing changed.
enum class BackingRequired { No, Yes, Unknown };
- bool updateBacking(RenderLayer&, RequiresCompositingData&, CompositingChangeRepaint shouldRepaint, BackingRequired = BackingRequired::Unknown);
+ bool updateBacking(RenderLayer&, RequiresCompositingData&, BackingRequired = BackingRequired::Unknown);
void clearBackingForLayerIncludingDescendants(RenderLayer&);