| Index: Source/core/rendering/RenderLayer.cpp
|
| diff --git a/Source/core/rendering/RenderLayer.cpp b/Source/core/rendering/RenderLayer.cpp
|
| index 698712e90dd528ebc967e2d819e44bcbddc9fd77..8f2e29829dba97002e8c583e594801870e7a81a8 100644
|
| --- a/Source/core/rendering/RenderLayer.cpp
|
| +++ b/Source/core/rendering/RenderLayer.cpp
|
| @@ -544,6 +544,25 @@ LayoutPoint RenderLayer::positionFromPaintInvalidationContainer(const RenderObje
|
| return point;
|
| }
|
|
|
| +void RenderLayer::mapPointToPaintBackingCoordinates(const RenderLayerModelObject* paintInvalidationContainer, FloatPoint& point)
|
| +{
|
| + RenderLayer* paintInvalidationLayer = paintInvalidationContainer->layer();
|
| + if (!paintInvalidationLayer->groupedMapping()) {
|
| + point.move(paintInvalidationLayer->compositedLayerMapping()->contentOffsetInCompositingLayer());
|
| + return;
|
| + }
|
| +
|
| + RenderLayerModelObject* transformedAncestor = paintInvalidationLayer->enclosingTransformedAncestor()->renderer();
|
| + if (!transformedAncestor)
|
| + return;
|
| +
|
| + // |paintInvalidationContainer| may have a local 2D transform on it, so take that into account when mapping into the space of the
|
| + // transformed ancestor.
|
| + point = paintInvalidationContainer->localToContainerPoint(point, transformedAncestor);
|
| +
|
| + point.moveBy(-paintInvalidationLayer->groupedMapping()->squashingOffsetFromTransformedAncestor());
|
| +}
|
| +
|
| void RenderLayer::mapRectToPaintBackingCoordinates(const RenderLayerModelObject* paintInvalidationContainer, LayoutRect& rect)
|
| {
|
| RenderLayer* paintInvalidationLayer = paintInvalidationContainer->layer();
|
|
|