Title: [292911] trunk/Source/WebCore
- Revision
- 292911
- Author
- [email protected]
- Date
- 2022-04-15 10:11:58 -0700 (Fri, 15 Apr 2022)
Log Message
Parent Mismatch
https://bugs.webkit.org/show_bug.cgi?id=239390
Reviewed by Simon Fraser.
The oldParent and layer->parent() may be different under certain circumstances.
To account for this, we can just use the layer->parent() and remove the use
of oldParent. This also has the benefit of simplifying the moveLayers() function.
* rendering/RenderElement.cpp:
(WebCore::RenderElement::moveLayers):
* rendering/RenderElement.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::insertOnlyThisLayer):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (292910 => 292911)
--- trunk/Source/WebCore/ChangeLog 2022-04-15 16:24:21 UTC (rev 292910)
+++ trunk/Source/WebCore/ChangeLog 2022-04-15 17:11:58 UTC (rev 292911)
@@ -1,3 +1,20 @@
+2022-04-15 Brandon Stewart <[email protected]>
+
+ Parent Mismatch
+ https://bugs.webkit.org/show_bug.cgi?id=239390
+
+ Reviewed by Simon Fraser.
+
+ The oldParent and layer->parent() may be different under certain circumstances.
+ To account for this, we can just use the layer->parent() and remove the use
+ of oldParent. This also has the benefit of simplifying the moveLayers() function.
+
+ * rendering/RenderElement.cpp:
+ (WebCore::RenderElement::moveLayers):
+ * rendering/RenderElement.h:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::insertOnlyThisLayer):
+
2022-04-15 Youenn Fablet <[email protected]>
Sandboxed iframe loads should match a service worker registration based on sandbox flags
Modified: trunk/Source/WebCore/rendering/RenderElement.cpp (292910 => 292911)
--- trunk/Source/WebCore/rendering/RenderElement.cpp 2022-04-15 16:24:21 UTC (rev 292910)
+++ trunk/Source/WebCore/rendering/RenderElement.cpp 2022-04-15 17:11:58 UTC (rev 292911)
@@ -676,21 +676,21 @@
child.removeLayers();
}
-void RenderElement::moveLayers(RenderLayer* oldParent, RenderLayer& newParent)
+void RenderElement::moveLayers(RenderLayer& newParent)
{
if (hasLayer()) {
if (isInTopLayerOrBackdrop(style(), element()))
return;
RenderLayer* layer = downcast<RenderLayerModelObject>(*this).layer();
- ASSERT(oldParent == layer->parent());
- if (oldParent)
- oldParent->removeChild(*layer);
+ auto* layerParent = layer->parent();
+ if (layerParent)
+ layerParent->removeChild(*layer);
newParent.addChild(*layer);
return;
}
for (auto& child : childrenOfType<RenderElement>(*this))
- child.moveLayers(oldParent, newParent);
+ child.moveLayers(newParent);
}
RenderLayer* RenderElement::layerParent() const
Modified: trunk/Source/WebCore/rendering/RenderElement.h (292910 => 292911)
--- trunk/Source/WebCore/rendering/RenderElement.h 2022-04-15 16:24:21 UTC (rev 292910)
+++ trunk/Source/WebCore/rendering/RenderElement.h 2022-04-15 17:11:58 UTC (rev 292911)
@@ -112,7 +112,7 @@
RenderLayer* layerNextSibling(RenderLayer& parentLayer) const;
void addLayers(RenderLayer* parentLayer);
void removeLayers();
- void moveLayers(RenderLayer* oldParent, RenderLayer& newParent);
+ void moveLayers(RenderLayer& newParent);
virtual void dirtyLinesFromChangedChild(RenderObject&) { }
Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (292910 => 292911)
--- trunk/Source/WebCore/rendering/RenderLayer.cpp 2022-04-15 16:24:21 UTC (rev 292910)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp 2022-04-15 17:11:58 UTC (rev 292911)
@@ -498,7 +498,7 @@
// Remove all descendant layers from the hierarchy and add them to the new position.
for (auto& child : childrenOfType<RenderElement>(renderer()))
- child.moveLayers(m_parent, *this);
+ child.moveLayers(*this);
if (parent()) {
if (timing == LayerChangeTiming::StyleChange)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes