Title: [203425] trunk/Source/WebCore
Revision
203425
Author
[email protected]
Date
2016-07-19 15:50:10 -0700 (Tue, 19 Jul 2016)

Log Message

REGRESSION(r203415): ASSERTION FAILED: !m_layoutRoot->container() || !m_layoutRoot->container()->needsLayout()
https://bugs.webkit.org/show_bug.cgi?id=159952

Reviewed by Simon Fraser.

Update ASSERTs to reflect new functionality, that is, now we can end up in a state
where the container (RenderView) of one of the dirty subtrees is dirty.
See r203415.

Covered by editing/pasteboard/drag-drop-input-in-svg.svg

* page/FrameView.cpp:
(WebCore::FrameView::scheduleRelayoutOfSubtree):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (203424 => 203425)


--- trunk/Source/WebCore/ChangeLog	2016-07-19 22:43:41 UTC (rev 203424)
+++ trunk/Source/WebCore/ChangeLog	2016-07-19 22:50:10 UTC (rev 203425)
@@ -1,3 +1,19 @@
+2016-07-19  Zalan Bujtas  <[email protected]>
+
+        REGRESSION(r203415): ASSERTION FAILED: !m_layoutRoot->container() || !m_layoutRoot->container()->needsLayout()
+        https://bugs.webkit.org/show_bug.cgi?id=159952
+
+        Reviewed by Simon Fraser.
+
+        Update ASSERTs to reflect new functionality, that is, now we can end up in a state
+        where the container (RenderView) of one of the dirty subtrees is dirty.
+        See r203415.
+ 
+        Covered by editing/pasteboard/drag-drop-input-in-svg.svg
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::scheduleRelayoutOfSubtree):
+
 2016-07-19  Dean Jackson  <[email protected]>
 
         REGRESSION(202927): The first slide is the only displayed slide when Quicklooking a Keynote file

Modified: trunk/Source/WebCore/page/FrameView.cpp (203424 => 203425)


--- trunk/Source/WebCore/page/FrameView.cpp	2016-07-19 22:43:41 UTC (rev 203424)
+++ trunk/Source/WebCore/page/FrameView.cpp	2016-07-19 22:50:10 UTC (rev 203425)
@@ -2747,7 +2747,7 @@
 
     if (!layoutPending() && m_layoutSchedulingEnabled) {
         std::chrono::milliseconds delay = renderView.document().minimumLayoutDelay();
-        ASSERT(!newRelayoutRoot.container() || !newRelayoutRoot.container()->needsLayout());
+        ASSERT(!newRelayoutRoot.container() || is<RenderView>(newRelayoutRoot.container()) || !newRelayoutRoot.container()->needsLayout());
         m_layoutRoot = &newRelayoutRoot;
         InspectorInstrumentation::didInvalidateLayout(frame());
         m_delayedLayout = delay.count();
@@ -2768,7 +2768,7 @@
     if (isObjectAncestorContainerOf(m_layoutRoot, &newRelayoutRoot)) {
         // Keep the current root.
         newRelayoutRoot.markContainingBlocksForLayout(ScheduleRelayout::No, m_layoutRoot);
-        ASSERT(!m_layoutRoot->container() || !m_layoutRoot->container()->needsLayout());
+        ASSERT(!m_layoutRoot->container() || is<RenderView>(m_layoutRoot->container()) || !m_layoutRoot->container()->needsLayout());
         return;
     }
 
@@ -2776,7 +2776,7 @@
         // Re-root at newRelayoutRoot.
         m_layoutRoot->markContainingBlocksForLayout(ScheduleRelayout::No, &newRelayoutRoot);
         m_layoutRoot = &newRelayoutRoot;
-        ASSERT(!m_layoutRoot->container() || !m_layoutRoot->container()->needsLayout());
+        ASSERT(!m_layoutRoot->container() || is<RenderView>(m_layoutRoot->container()) || !m_layoutRoot->container()->needsLayout());
         InspectorInstrumentation::didInvalidateLayout(frame());
         return;
     }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to