Index: Source/core/frame/FrameView.cpp |
diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp |
index bb0492541323368e4641aef3a4acc42f7ba7b61b..09c851b53ac02caece93d85a83ada1998d07e330 100644 |
--- a/Source/core/frame/FrameView.cpp |
+++ b/Source/core/frame/FrameView.cpp |
@@ -2784,8 +2784,14 @@ 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. |
+ view->compositor()->scheduleAnimationIfNeeded(); |
+ } |
} |
void FrameView::updateLayoutAndStyleIfNeededRecursive() |