Index: Source/core/rendering/RenderLayer.cpp |
diff --git a/Source/core/rendering/RenderLayer.cpp b/Source/core/rendering/RenderLayer.cpp |
index c77bc4f9f1fb9cbfb35a6dc08191385f14678507..cb31a435db34f40e03311fe58c4e075aeb06e758 100644 |
--- a/Source/core/rendering/RenderLayer.cpp |
+++ b/Source/core/rendering/RenderLayer.cpp |
@@ -440,24 +440,17 @@ bool RenderLayer::scrollsWithRespectTo(const RenderLayer* other) const |
void RenderLayer::updateLayerPositionsAfterDocumentScroll() |
{ |
ASSERT(this == renderer()->view()->layer()); |
- |
- RenderGeometryMap geometryMap(UseTransforms); |
- updateLayerPositionsAfterScroll(&geometryMap); |
+ updateLayerPositionsAfterScroll(); |
} |
void RenderLayer::updateLayerPositionsAfterOverflowScroll() |
{ |
- RenderGeometryMap geometryMap(UseTransforms); |
- RenderView* view = renderer()->view(); |
- if (this != view->layer()) |
- geometryMap.pushMappingsToAncestor(parent(), 0); |
- |
// FIXME: why is it OK to not check the ancestors of this layer in order to |
// initialize the HasSeenViewportConstrainedAncestor and HasSeenAncestorWithOverflowClip flags? |
- updateLayerPositionsAfterScroll(&geometryMap, IsOverflowScroll); |
+ updateLayerPositionsAfterScroll(IsOverflowScroll); |
} |
-void RenderLayer::updateLayerPositionsAfterScroll(RenderGeometryMap* geometryMap, UpdateLayerPositionsAfterScrollFlags flags) |
+void RenderLayer::updateLayerPositionsAfterScroll(UpdateLayerPositionsAfterScrollFlags flags) |
{ |
// FIXME: This shouldn't be needed, but there are some corner cases where |
// these flags are still dirty. Update so that the check below is valid. |
@@ -469,13 +462,9 @@ void RenderLayer::updateLayerPositionsAfterScroll(RenderGeometryMap* geometryMap |
if (subtreeIsInvisible()) |
return; |
- bool positionChanged = updateLayerPosition(); |
- if (positionChanged) |
+ if (updateLayerPosition()) |
flags |= HasChangedAncestor; |
- if (geometryMap) |
- geometryMap->pushMappingsToAncestor(this, parent()); |
- |
if ((flags & HasChangedAncestor) || (flags & HasSeenViewportConstrainedAncestor) || (flags & IsOverflowScroll)) |
m_clipper.clearClipRects(); |
@@ -495,14 +484,11 @@ void RenderLayer::updateLayerPositionsAfterScroll(RenderGeometryMap* geometryMap |
} |
for (RenderLayer* child = firstChild(); child; child = child->nextSibling()) |
- child->updateLayerPositionsAfterScroll(geometryMap, flags); |
+ child->updateLayerPositionsAfterScroll(flags); |
// We don't update our reflection as scrolling is a translation which does not change the size() |
// of an object, thus RenderReplica will still repaint itself properly as the layer position was |
// updated above. |
- |
- if (geometryMap) |
- geometryMap->popMappingsToAncestor(parent()); |
} |
void RenderLayer::updateTransform() |