Index: Source/core/rendering/RenderObject.cpp |
diff --git a/Source/core/rendering/RenderObject.cpp b/Source/core/rendering/RenderObject.cpp |
index 437c6654ccc6e1cdf87004ffc4463a6d2b934183..2a505e3786c11adb9bbb907abb8fdf592c803376 100644 |
--- a/Source/core/rendering/RenderObject.cpp |
+++ b/Source/core/rendering/RenderObject.cpp |
@@ -2449,6 +2449,25 @@ FloatPoint RenderObject::localToContainerPoint(const FloatPoint& localPoint, con |
return transformState.lastPlanarPoint(); |
} |
+FloatPoint RenderObject::localToInvalidationBackingPoint(const LayoutPoint& localPoint, RenderLayer** backingLayer) |
chrishtr
2014/09/17 16:41:33
Why can't this be unified with positionFromPaintIn
trchen
2014/09/17 19:34:16
They do different things.
positionFromPaintInvalid
chrishtr
2014/09/18 04:06:00
Then delete the RenderObject::positionFromPaintInv
|
+{ |
+ 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()); |