Index: Source/core/page/FrameView.cpp |
diff --git a/Source/core/page/FrameView.cpp b/Source/core/page/FrameView.cpp |
index 636768f8a632285da6f063abaec6d3ccd8b1fba6..08f931278066b91181e1435c2fb0493c0333fe03 100644 |
--- a/Source/core/page/FrameView.cpp |
+++ b/Source/core/page/FrameView.cpp |
@@ -710,6 +710,10 @@ void FrameView::updateCompositingLayersAfterStyleChange() |
if (!renderView) |
return; |
+ // PATCH 2 |
+ // Catch promotions due to style changes (e.g., z-order changes). |
+ renderView->compositor()->updateCompositingRequirementsState(CompositingUpdateAfterStyleChange); |
+ |
// If we expect to update compositing after an incipient layout, don't do so here. |
if (m_doingPreLayoutStyleUpdate || layoutPending() || renderView->needsLayout()) |
return; |
@@ -727,6 +731,9 @@ void FrameView::updateCompositingLayersAfterLayout() |
// This call will make sure the cached hasAcceleratedCompositing is updated from the pref |
renderView->compositor()->cacheAcceleratedCompositingFlags(); |
+ // PATCH 2 |
+ // Catch promotions due to layout changes (e.g., content now overflows). |
+ renderView->compositor()->updateCompositingRequirementsState(CompositingUpdateAfterLayout); |
renderView->compositor()->updateCompositingLayers(CompositingUpdateAfterLayout); |
} |