Title: [208172] trunk/Source/WebCore
Revision
208172
Author
[email protected]
Date
2016-10-31 13:18:03 -0700 (Mon, 31 Oct 2016)

Log Message

LayoutTests/fast/frames/invalid-frameset.html is not clean by the end of FrameView::layout().
https://bugs.webkit.org/show_bug.cgi?id=164230

Reviewed by Simon Fraser.

When a <frameset> has invalid children, in addition to clear the needs layout flag on the children
we also need to do clear the descendants too.

Covered by LayoutTests/fast/frames/invalid-frameset.html.

* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::positionFrames):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (208171 => 208172)


--- trunk/Source/WebCore/ChangeLog	2016-10-31 20:17:30 UTC (rev 208171)
+++ trunk/Source/WebCore/ChangeLog	2016-10-31 20:18:03 UTC (rev 208172)
@@ -1,3 +1,18 @@
+2016-10-31  Zalan Bujtas  <[email protected]>
+
+        LayoutTests/fast/frames/invalid-frameset.html is not clean by the end of FrameView::layout().
+        https://bugs.webkit.org/show_bug.cgi?id=164230
+
+        Reviewed by Simon Fraser.
+
+        When a <frameset> has invalid children, in addition to clear the needs layout flag on the children
+        we also need to do clear the descendants too.
+
+        Covered by LayoutTests/fast/frames/invalid-frameset.html.
+
+        * rendering/RenderFrameSet.cpp:
+        (WebCore::RenderFrameSet::positionFrames):
+
 2016-10-31  Jer Noble  <[email protected]>
 
         Unreviewed build fix after r208151; outputMIMECodecParameterForInputMIMECodecParameter not

Modified: trunk/Source/WebCore/rendering/RenderFrameSet.cpp (208171 => 208172)


--- trunk/Source/WebCore/rendering/RenderFrameSet.cpp	2016-10-31 20:17:30 UTC (rev 208171)
+++ trunk/Source/WebCore/rendering/RenderFrameSet.cpp	2016-10-31 20:18:03 UTC (rev 208172)
@@ -534,10 +534,10 @@
     }
 
     // all the remaining frames are hidden to avoid ugly spurious unflowed frames
-    for (; child; child = child->nextSiblingBox()) {
-        child->setWidth(0);
-        child->setHeight(0);
-        child->clearNeedsLayout();
+    for (auto* descendant = child; descendant; descendant = downcast<RenderBox>(RenderObjectTraversal::next(*descendant, this))) {
+        descendant->setWidth(0);
+        descendant->setHeight(0);
+        descendant->clearNeedsLayout();
     }
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to