Chromium Code Reviews| 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); |
| } |
| } |