| Index: Source/core/frame/FrameView.cpp
|
| diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp
|
| index 73ffa854dab6d72fa68181f37a886b4eaa8ca77a..c3390d45b49ed7467b390fda9fa828c4e0c5a3ee 100644
|
| --- a/Source/core/frame/FrameView.cpp
|
| +++ b/Source/core/frame/FrameView.cpp
|
| @@ -2780,8 +2780,15 @@ void FrameView::updateLayoutAndStyleForPainting()
|
| RefPtr<FrameView> protector(this);
|
|
|
| updateLayoutAndStyleIfNeededRecursive();
|
| - if (RenderView* view = renderView())
|
| + if (RenderView* view = renderView()) {
|
| + ASSERT(!view->needsLayout());
|
| view->compositor()->updateCompositingLayers();
|
| +
|
| + // FIXME: we should not have any dirty bits left at this point. Unfortunately, this is not yet the case because
|
| + // the code in updateCompositingLayers sometimes creates new dirty bits when updating direct compositing reasons.
|
| + // See crbug.com/354100.
|
| + view->compositor()->scheduleAnimationIfNeeded();
|
| + }
|
| }
|
|
|
| void FrameView::updateLayoutAndStyleIfNeededRecursive()
|
|
|