| Index: Source/core/rendering/compositing/CompositedLayerMapping.cpp
|
| diff --git a/Source/core/rendering/compositing/CompositedLayerMapping.cpp b/Source/core/rendering/compositing/CompositedLayerMapping.cpp
|
| index 44b0f6fb922301d8b3acf8bb2b6c61acc5621f25..58c210d8c2ea9dbda5c62e2b7debf205af8cfbc3 100644
|
| --- a/Source/core/rendering/compositing/CompositedLayerMapping.cpp
|
| +++ b/Source/core/rendering/compositing/CompositedLayerMapping.cpp
|
| @@ -888,6 +888,7 @@ GraphicsLayerUpdater::UpdateType CompositedLayerMapping::updateGraphicsLayerGeom
|
| updateRenderingContext();
|
| updateShouldFlattenTransform();
|
| updateChildrenTransform();
|
| + updateScrollParent(m_owningLayer.scrollParent());
|
| registerScrollingLayers();
|
|
|
| updateCompositingReasons();
|
| @@ -1414,9 +1415,12 @@ static void updateScrollParentForGraphicsLayer(GraphicsLayer* layer, GraphicsLay
|
|
|
| void CompositedLayerMapping::updateScrollParent(RenderLayer* scrollParent)
|
| {
|
| + if (!scrollParent && m_squashedLayers.size())
|
| + scrollParent = m_squashedLayers[0].renderLayer->scrollParent();
|
|
|
| if (ScrollingCoordinator* scrollingCoordinator = scrollingCoordinatorFromLayer(m_owningLayer)) {
|
| - GraphicsLayer* topmostLayer = localRootForOwningLayer();
|
| + GraphicsLayer* topmostLayer = childForSuperlayers();
|
| + updateScrollParentForGraphicsLayer(m_squashingContainmentLayer.get(), topmostLayer, scrollParent, scrollingCoordinator);
|
| updateScrollParentForGraphicsLayer(m_ancestorClippingLayer.get(), topmostLayer, scrollParent, scrollingCoordinator);
|
| updateScrollParentForGraphicsLayer(m_graphicsLayer.get(), topmostLayer, scrollParent, scrollingCoordinator);
|
| }
|
|
|