Index: third_party/WebKit/Source/core/frame/FrameView.cpp |
diff --git a/third_party/WebKit/Source/core/frame/FrameView.cpp b/third_party/WebKit/Source/core/frame/FrameView.cpp |
index f881a6042a874b94b9ee6295408a6c25b0d0dcb8..a68a45dd0703650b600c68d13f64ddfbab9aa63e 100644 |
--- a/third_party/WebKit/Source/core/frame/FrameView.cpp |
+++ b/third_party/WebKit/Source/core/frame/FrameView.cpp |
@@ -1779,8 +1779,15 @@ void FrameView::layoutOrthogonalWritingModeRoots() |
|| !root->styleRef().logicalHeight().isIntrinsicOrAuto()) { |
continue; |
} |
- LayoutState layoutState(*root); |
- root->layout(); |
+ |
+ // Floating objects are cached and re-created when containing block |
+ // layouts. At this point, it may contain old or even detached objects. |
+ if (LayoutBlock* cb = root->containingBlock()) { |
+ if (cb->isLayoutBlockFlow()) |
+ toLayoutBlockFlow(cb)->removeFloatingObjects(); |
rhogan
2016/06/06 09:41:02
Per my note on the bug, we should skip orthogonal
|
+ } |
+ |
+ layoutFromRootObject(*root); |
} |
} |