| 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 12f7a0ef121a622b79fed3e31feb5378abe4f76a..ab8f86fc55e8d846f5d136320978ddd47213644a 100644
|
| --- a/third_party/WebKit/Source/core/frame/FrameView.cpp
|
| +++ b/third_party/WebKit/Source/core/frame/FrameView.cpp
|
| @@ -1879,7 +1879,7 @@ bool FrameView::needsLayout() const
|
| || isSubtreeLayout();
|
| }
|
|
|
| -void FrameView::checkDoesNotNeedLayout() const
|
| +NOINLINE void FrameView::checkDoesNotNeedLayout() const
|
| {
|
| CHECK(!layoutPending());
|
| CHECK(layoutViewItem().isNull() || !layoutViewItem().needsLayout());
|
| @@ -2639,6 +2639,8 @@ void FrameView::updateStyleAndLayoutIfNeededRecursiveInternal()
|
| toPluginView(child.get())->updateAllLifecyclePhases();
|
| }
|
|
|
| + checkDoesNotNeedLayout();
|
| +
|
| // FIXME: Calling layout() shouldn't trigger script execution or have any
|
| // observable effects on the frame tree but we're not quite there yet.
|
| HeapVector<Member<FrameView>> frameViews;
|
| @@ -2652,6 +2654,8 @@ void FrameView::updateStyleAndLayoutIfNeededRecursiveInternal()
|
| for (const auto& frameView : frameViews)
|
| frameView->updateStyleAndLayoutIfNeededRecursiveInternal();
|
|
|
| + checkDoesNotNeedLayout();
|
| +
|
| // When SVG filters are invalidated using Document::scheduleSVGFilterLayerUpdateHack() they may trigger an
|
| // extra style recalc. See PaintLayer::filterNeedsPaintInvalidation().
|
| if (m_frame->document()->hasSVGFilterElementsRequiringLayerUpdate()) {
|
|
|