Index: Source/core/rendering/compositing/RenderLayerCompositor.cpp |
diff --git a/Source/core/rendering/compositing/RenderLayerCompositor.cpp b/Source/core/rendering/compositing/RenderLayerCompositor.cpp |
index 272e670619223771a70ec8182ce722c63e6510bd..fd4e641f1caef7778e49f726263d40e306c50b79 100644 |
--- a/Source/core/rendering/compositing/RenderLayerCompositor.cpp |
+++ b/Source/core/rendering/compositing/RenderLayerCompositor.cpp |
@@ -284,12 +284,29 @@ void RenderLayerCompositor::applyOverlayFullscreenVideoAdjustment() |
m_inOverlayFullscreenVideo = true; |
} |
+void RenderLayerCompositor::updateWithoutAcceleratedCompositing(CompositingUpdateType updateType) |
+{ |
+ ASSERT(!hasAcceleratedCompositing()); |
+ |
+ if (updateType >= CompositingUpdateAfterCompositingInputChange) |
+ CompositingInputsUpdater(rootRenderLayer()).update(); |
+ |
+#if ENABLE(ASSERT) |
+ CompositingInputsUpdater::assertNeedsCompositingInputsUpdateBitsCleared(rootRenderLayer()); |
+#endif |
+} |
+ |
void RenderLayerCompositor::updateIfNeeded() |
{ |
CompositingUpdateType updateType = m_pendingUpdateType; |
m_pendingUpdateType = CompositingUpdateNone; |
- if (!hasAcceleratedCompositing() || updateType == CompositingUpdateNone) |
+ if (!hasAcceleratedCompositing()) { |
+ updateWithoutAcceleratedCompositing(updateType); |
+ return; |
+ } |
+ |
+ if (updateType == CompositingUpdateNone) |
return; |
RenderLayer* updateRoot = rootRenderLayer(); |