Title: [262835] trunk/Source/WebCore
Revision
262835
Author
[email protected]
Date
2020-06-09 21:16:13 -0700 (Tue, 09 Jun 2020)

Log Message

Release Assert @ WebCore::RenderTreeBuilder::RenderTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=212714

Patch by Pinki Gyanchandani <[email protected]> on 2020-06-09
Reviewed by Geoffrey Garen.

Made change in the WidgetHierarchyUpdatesSuspensionScope::moveWidgets() to handle all widgets scheduled to move,
including new widgets scheduled during moveWidgets().

Test would be added later.

* rendering/RenderWidget.cpp:
(WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (262834 => 262835)


--- trunk/Source/WebCore/ChangeLog	2020-06-10 04:10:06 UTC (rev 262834)
+++ trunk/Source/WebCore/ChangeLog	2020-06-10 04:16:13 UTC (rev 262835)
@@ -1,3 +1,18 @@
+2020-06-09  Pinki Gyanchandani  <[email protected]>
+
+        Release Assert @ WebCore::RenderTreeBuilder::RenderTreeBuilder
+        https://bugs.webkit.org/show_bug.cgi?id=212714
+
+        Reviewed by Geoffrey Garen.
+
+        Made change in the WidgetHierarchyUpdatesSuspensionScope::moveWidgets() to handle all widgets scheduled to move,
+        including new widgets scheduled during moveWidgets().
+
+        Test would be added later.
+
+        * rendering/RenderWidget.cpp:
+        (WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets):
+
 2020-06-09  Fujii Hironori  <[email protected]>
 
         Unreviewed, reverting r262791.

Modified: trunk/Source/WebCore/rendering/RenderWidget.cpp (262834 => 262835)


--- trunk/Source/WebCore/rendering/RenderWidget.cpp	2020-06-10 04:10:06 UTC (rev 262834)
+++ trunk/Source/WebCore/rendering/RenderWidget.cpp	2020-06-10 04:16:13 UTC (rev 262835)
@@ -56,16 +56,18 @@
 
 void WidgetHierarchyUpdatesSuspensionScope::moveWidgets()
 {
-    auto map = WTFMove(widgetNewParentMap());
-    for (auto& entry : map) {
-        auto& child = *entry.key;
-        auto* currentParent = child.parent();
-        auto* newParent = entry.value;
-        if (newParent != currentParent) {
-            if (currentParent)
-                currentParent->removeChild(child);
-            if (newParent)
-                newParent->addChild(child);
+    while (!widgetNewParentMap().isEmpty()) {
+        auto map = WTFMove(widgetNewParentMap());
+        for (auto& entry : map) {
+            auto& child = *entry.key;
+            auto* currentParent = child.parent();
+            auto* newParent = entry.value;
+            if (newParent != currentParent) {
+                if (currentParent)
+                    currentParent->removeChild(child);
+                if (newParent)
+                    newParent->addChild(child);
+            }
         }
     }
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to