Title: [293998] trunk/Source/WebCore
Revision
293998
Author
za...@apple.com
Date
2022-05-09 21:41:10 -0700 (Mon, 09 May 2022)

Log Message

Do not use the cached renderer's parent in handleFragmentedFlowStateChange lambda
https://bugs.webkit.org/show_bug.cgi?id=240266

Reviewed by Simon Fraser.

* rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (293997 => 293998)


--- trunk/Source/WebCore/ChangeLog	2022-05-10 03:49:35 UTC (rev 293997)
+++ trunk/Source/WebCore/ChangeLog	2022-05-10 04:41:10 UTC (rev 293998)
@@ -1,3 +1,13 @@
+2022-05-09  Alan Bujtas  <za...@apple.com>
+
+        Do not use the cached renderer's parent in handleFragmentedFlowStateChange lambda
+        https://bugs.webkit.org/show_bug.cgi?id=240266
+
+        Reviewed by Simon Fraser.
+
+        * rendering/updating/RenderTreeBuilder.cpp:
+        (WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange):
+
 2022-05-07  Wenson Hsieh  <wenson_hs...@apple.com>
 
         [iOS] Adjust some viewport behaviors when multitasking mode is enabled

Modified: trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp (293997 => 293998)


--- trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp	2022-05-10 03:49:35 UTC (rev 293997)
+++ trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp	2022-05-10 04:41:10 UTC (rev 293998)
@@ -591,8 +591,6 @@
     if (!renderer.parent())
         return;
 
-    auto& parent = *renderer.parent();
-
     bool wasFloating = oldStyle.isFloating();
     bool wasOutOfFlowPositioned = oldStyle.hasOutOfFlowPosition();
     bool isFloating = renderer.style().isFloating();
@@ -604,7 +602,7 @@
             return;
         // Out of flow children of RenderMultiColumnFlow are not really part of the multicolumn flow. We need to ensure that changes in positioning like this
         // trigger insertions into the multicolumn flow.
-        if (auto* enclosingFragmentedFlow = parent.enclosingFragmentedFlow(); is<RenderMultiColumnFlow>(enclosingFragmentedFlow)) {
+        if (auto* enclosingFragmentedFlow = renderer.parent()->enclosingFragmentedFlow(); is<RenderMultiColumnFlow>(enclosingFragmentedFlow)) {
             auto movingIntoMulticolumn = [&] {
                 if (wasOutOfFlowPositioned && !isOutOfFlowPositioned)
                     return true;
@@ -643,6 +641,7 @@
         }
     };
 
+    auto& parent = *renderer.parent();
     if (is<RenderBlock>(parent))
         noLongerAffectsParent = (!wasFloating && isFloating) || (!wasOutOfFlowPositioned && isOutOfFlowPositioned);
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to