Index: Source/core/rendering/RenderObject.cpp |
diff --git a/Source/core/rendering/RenderObject.cpp b/Source/core/rendering/RenderObject.cpp |
index 8e69a50b5ae9e71bde754b370f8124534d3e483d..a0486bb7246bf8633ce3b829dee674a0397979a3 100644 |
--- a/Source/core/rendering/RenderObject.cpp |
+++ b/Source/core/rendering/RenderObject.cpp |
@@ -1335,16 +1335,6 @@ void RenderObject::addChildFocusRingRects(Vector<LayoutRect>& rects, const Layou |
} |
} |
-LayoutPoint RenderObject::positionFromPaintInvalidationContainer(const RenderLayerModelObject* paintInvalidationContainer, const PaintInvalidationState* paintInvalidationState) const |
-{ |
- ASSERT(containerForPaintInvalidation() == paintInvalidationContainer); |
- |
- if (paintInvalidationContainer == this) |
- return LayoutPoint(); |
- |
- return LayoutPoint(localToContainerPoint(LayoutPoint(), paintInvalidationContainer, 0, 0, paintInvalidationState)); |
-} |
- |
IntRect RenderObject::absoluteBoundingBoxRect() const |
{ |
Vector<FloatQuad> quads; |
@@ -2455,6 +2445,25 @@ FloatPoint RenderObject::localToContainerPoint(const FloatPoint& localPoint, con |
return transformState.lastPlanarPoint(); |
} |
+FloatPoint RenderObject::localToInvalidationBackingPoint(const LayoutPoint& localPoint, RenderLayer** backingLayer) |
+{ |
+ const RenderLayerModelObject* paintInvalidationContainer = containerForPaintInvalidation(); |
+ ASSERT(paintInvalidationContainer); |
+ RenderLayer* layer = paintInvalidationContainer->layer(); |
+ ASSERT(layer); |
+ |
+ if (backingLayer) |
+ *backingLayer = layer; |
+ FloatPoint containerPoint = localToContainerPoint(localPoint, paintInvalidationContainer, TraverseDocumentBoundaries); |
+ |
+ if (layer->compositingState() == NotComposited) // This can happen for RenderFlowThread. |
+ return containerPoint; |
+ |
+ RenderLayer::mapPointToPaintBackingCoordinates(paintInvalidationContainer, containerPoint); |
+ return containerPoint; |
+} |
+ |
+ |
LayoutSize RenderObject::offsetFromContainer(const RenderObject* o, const LayoutPoint& point, bool* offsetDependsOnPoint) const |
{ |
ASSERT(o == container()); |