Index: Source/core/layout/compositing/CompositedDeprecatedPaintLayerMapping.cpp |
diff --git a/Source/core/layout/compositing/CompositedDeprecatedPaintLayerMapping.cpp b/Source/core/layout/compositing/CompositedDeprecatedPaintLayerMapping.cpp |
index ff9151aac9a36797b0029dedc8093deb200bf711..3a2c3683122e2867aee88aab8fefe3fec6ada5e3 100644 |
--- a/Source/core/layout/compositing/CompositedDeprecatedPaintLayerMapping.cpp |
+++ b/Source/core/layout/compositing/CompositedDeprecatedPaintLayerMapping.cpp |
@@ -1471,6 +1471,16 @@ void CompositedDeprecatedPaintLayerMapping::updateShouldFlattenTransform() |
layer->setShouldFlattenTransform(false); |
}, ApplyToChildContainingLayers); |
} |
+ |
+ // Regardless, mark the scrolling contents layer and scrolling block |
+ // selection layer (if they exist) as not flattening. Having them flatten |
+ // causes unclipped render surfaces which cause bugs. |
+ // http://crbug.com/521768 |
+ if (hasScrollingLayer()) { |
+ m_scrollingContentsLayer->setShouldFlattenTransform(false); |
+ if (m_scrollingBlockSelectionLayer) |
+ m_scrollingBlockSelectionLayer->setShouldFlattenTransform(false); |
+ } |
} |
bool CompositedDeprecatedPaintLayerMapping::updateForegroundLayer(bool needsForegroundLayer) |