Title: [286982] trunk/Source/WebCore
- Revision
- 286982
- Author
- commit-qu...@webkit.org
- Date
- 2021-12-13 14:32:42 -0800 (Mon, 13 Dec 2021)
Log Message
Unreviewed, reverting r283354.
https://bugs.webkit.org/show_bug.cgi?id=234273
causes missing content with clip-path
Reverted changeset:
"[Performance] Optimize
RenderLayer::clipCrossesPaintingBoundary"
https://bugs.webkit.org/show_bug.cgi?id=230885
https://commits.webkit.org/r283354
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (286981 => 286982)
--- trunk/Source/WebCore/ChangeLog 2021-12-13 22:19:24 UTC (rev 286981)
+++ trunk/Source/WebCore/ChangeLog 2021-12-13 22:32:42 UTC (rev 286982)
@@ -1,3 +1,17 @@
+2021-12-13 Commit Queue <commit-qu...@webkit.org>
+
+ Unreviewed, reverting r283354.
+ https://bugs.webkit.org/show_bug.cgi?id=234273
+
+ causes missing content with clip-path
+
+ Reverted changeset:
+
+ "[Performance] Optimize
+ RenderLayer::clipCrossesPaintingBoundary"
+ https://bugs.webkit.org/show_bug.cgi?id=230885
+ https://commits.webkit.org/r283354
+
2021-12-13 Alejandro G. Castro <a...@igalia.com>
[GTK] Fix ANGLE compilation
Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (286981 => 286982)
--- trunk/Source/WebCore/rendering/RenderLayer.cpp 2021-12-13 22:19:24 UTC (rev 286981)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp 2021-12-13 22:32:42 UTC (rev 286982)
@@ -1935,19 +1935,18 @@
return nullptr;
}
-static RenderLayer* repaintTargetForLayer(const RenderLayer& layer)
+RenderLayer* RenderLayer::enclosingCompositingLayerForRepaint(IncludeSelfOrNot includeSelf) const
{
- if (compositedWithOwnBackingStore(layer))
- return const_cast<RenderLayer*>(&layer);
+ auto repaintTargetForLayer = [](const RenderLayer& layer) -> RenderLayer* {
+ if (compositedWithOwnBackingStore(layer))
+ return const_cast<RenderLayer*>(&layer);
+
+ if (layer.paintsIntoProvidedBacking())
+ return layer.backingProviderLayer();
+
+ return nullptr;
+ };
- if (layer.paintsIntoProvidedBacking())
- return layer.backingProviderLayer();
-
- return nullptr;
-}
-
-RenderLayer* RenderLayer::enclosingCompositingLayerForRepaint(IncludeSelfOrNot includeSelf) const
-{
RenderLayer* repaintTarget = nullptr;
if (includeSelf == IncludeSelf && (repaintTarget = repaintTargetForLayer(*this)))
return repaintTarget;
@@ -1960,18 +1959,6 @@
return nullptr;
}
-bool RenderLayer::sharesCompositingLayerForRepaint(const RenderLayer& otherLayer) const
-{
- if (repaintTargetForLayer(*this))
- return false;
-
- const RenderLayer* paintParent = paintOrderParent();
- if (&otherLayer == paintParent)
- return true;
- auto* otherPaintParent = otherLayer.paintOrderParent();
- return paintParent == otherPaintParent || this == otherPaintParent;
-}
-
RenderLayer* RenderLayer::enclosingFilterLayer(IncludeSelfOrNot includeSelf) const
{
const RenderLayer* curr = (includeSelf == IncludeSelf) ? this : parent();
@@ -4469,11 +4456,8 @@
bool RenderLayer::clipCrossesPaintingBoundary() const
{
- auto* parentLayer = parent();
- if (!sharesCompositingLayerForRepaint(*parentLayer))
- return true;
-
- return parentLayer->enclosingPaginationLayer(IncludeCompositedPaginatedLayers) != enclosingPaginationLayer(IncludeCompositedPaginatedLayers);
+ return parent()->enclosingPaginationLayer(IncludeCompositedPaginatedLayers) != enclosingPaginationLayer(IncludeCompositedPaginatedLayers)
+ || parent()->enclosingCompositingLayerForRepaint() != enclosingCompositingLayerForRepaint();
}
void RenderLayer::calculateClipRects(const ClipRectsContext& clipRectsContext, ClipRects& clipRects) const
Modified: trunk/Source/WebCore/rendering/RenderLayer.h (286981 => 286982)
--- trunk/Source/WebCore/rendering/RenderLayer.h 2021-12-13 22:19:24 UTC (rev 286981)
+++ trunk/Source/WebCore/rendering/RenderLayer.h 2021-12-13 22:32:42 UTC (rev 286982)
@@ -587,7 +587,6 @@
// Enclosing compositing layer; if includeSelf is true, may return this.
RenderLayer* enclosingCompositingLayer(IncludeSelfOrNot = IncludeSelf) const;
RenderLayer* enclosingCompositingLayerForRepaint(IncludeSelfOrNot = IncludeSelf) const;
- bool sharesCompositingLayerForRepaint(const RenderLayer& otherLayer) const;
// Ancestor compositing layer, excluding this.
RenderLayer* ancestorCompositingLayer() const { return enclosingCompositingLayer(ExcludeSelf); }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes