Index: Source/core/rendering/compositing/RenderLayerCompositor.cpp |
diff --git a/Source/core/rendering/compositing/RenderLayerCompositor.cpp b/Source/core/rendering/compositing/RenderLayerCompositor.cpp |
index b41e690d771a4e3cfa654d666a2c531d24db9dd8..1a941e9b7e3c8d58d46034ba5a7e6bac26a8f959 100644 |
--- a/Source/core/rendering/compositing/RenderLayerCompositor.cpp |
+++ b/Source/core/rendering/compositing/RenderLayerCompositor.cpp |
@@ -401,8 +401,18 @@ void RenderLayerCompositor::updateCompositingLayers() |
return; |
lifecycle().advanceTo(DocumentLifecycle::InCompositingUpdate); |
- DocumentLifecycle::Scope lifecycleScope(lifecycle(), DocumentLifecycle::CompositingClean); |
+ updateCompositingLayersInternal(); |
+ |
+ lifecycle().advanceTo(DocumentLifecycle::CompositingClean); |
+ |
+ DocumentAnimations::startPendingAnimations(m_renderView->document()); |
+ DocumentAnimations::dispatchAnimationEventsAsync(m_renderView->document()); |
+ ASSERT(m_renderView->document().lifecycle().state() == DocumentLifecycle::CompositingClean); |
+} |
+ |
+void RenderLayerCompositor::updateCompositingLayersInternal() |
+{ |
if (isMainFrame() && m_renderView->frameView()) |
finishCompositingUpdateForFrameTree(&m_renderView->frameView()->frame()); |