Index: Source/core/rendering/RenderObject.h |
diff --git a/Source/core/rendering/RenderObject.h b/Source/core/rendering/RenderObject.h |
index 6a667f49046556f1bd3515cef74466cd123ca674..9109075e0db3bfc34a77dc120bbfd6542e61183f 100644 |
--- a/Source/core/rendering/RenderObject.h |
+++ b/Source/core/rendering/RenderObject.h |
@@ -54,6 +54,7 @@ class HitTestLocation; |
class HitTestResult; |
class InlineBox; |
class InlineFlowBox; |
+class InvalidationTreeWalkState; |
class Position; |
class PositionWithAffinity; |
class PseudoStyleRequest; |
@@ -733,7 +734,7 @@ public: |
// Convert a local quad into the coordinate system of container, taking transforms into account. |
FloatQuad localToContainerQuad(const FloatQuad&, const RenderLayerModelObject* paintInvalidatinoContainer, MapCoordinatesFlags = 0, bool* wasFixed = 0) const; |
- FloatPoint localToContainerPoint(const FloatPoint&, const RenderLayerModelObject* paintInvalidationContainer, MapCoordinatesFlags = 0, bool* wasFixed = 0) const; |
+ FloatPoint localToContainerPoint(const FloatPoint&, const RenderLayerModelObject* paintInvalidationContainer, MapCoordinatesFlags = 0, bool* wasFixed = 0, const InvalidationTreeWalkState* = 0) const; |
// Return the offset from the container() renderer (excluding transforms). In multi-column layout, |
// different offsets apply at different points, so return the offset that applies to the given point. |
@@ -744,7 +745,7 @@ public: |
virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint&) const { } |
// Computes the position of the given render object in the space of |repaintContainer|. |
- LayoutPoint positionFromPaintInvalidationContainer(const RenderLayerModelObject* paintInvalidationContainer) const; |
+ LayoutPoint positionFromPaintInvalidationContainer(const RenderLayerModelObject* paintInvalidationContainer, const InvalidationTreeWalkState* = 0) const; |
IntRect absoluteBoundingBoxRect() const; |
// FIXME: This function should go away eventually |
@@ -808,10 +809,10 @@ public: |
} |
// Returns the paint invalidation rect for this RenderObject in the coordinate space of the paint backing (typically a GraphicsLayer) for |paintInvalidationContainer|. |
- LayoutRect computePaintInvalidationRect(const RenderLayerModelObject* paintInvalidationContainer) const; |
+ LayoutRect computePaintInvalidationRect(const RenderLayerModelObject* paintInvalidationContainer, const InvalidationTreeWalkState* = 0) const; |
// Returns the rect bounds needed to invalidate the paint of this object, in the coordinate space of the rendering backing of |paintInvalidationContainer| |
- LayoutRect boundsRectForPaintInvalidation(const RenderLayerModelObject* paintInvalidationContainer) const; |
+ LayoutRect boundsRectForPaintInvalidation(const RenderLayerModelObject* paintInvalidationContainer, const InvalidationTreeWalkState* = 0) const; |
// Actually do the paint invalidate of rect r for this object which has been computed in the coordinate space |
// of the GraphicsLayer backing of |paintInvalidationContainer|. Note that this coordinaten space is not the same |
@@ -831,7 +832,7 @@ public: |
const LayoutRect& oldBounds, const LayoutPoint& oldPositionFromPaintInvalidationContainer); |
// Walk the tree after layout issuing paint invalidations for renderers that have changed or moved, updating bounds that have changed, and clearing paint invalidation state. |
- virtual void invalidateTreeAfterLayout(const RenderLayerModelObject&); |
+ virtual void invalidateTreeAfterLayout(const InvalidationTreeWalkState&); |
virtual void invalidatePaintForOverflow(); |
void invalidatePaintForOverflowIfNeeded(); |
@@ -845,13 +846,13 @@ public: |
return clippedOverflowRectForPaintInvalidation(0); |
} |
IntRect pixelSnappedAbsoluteClippedOverflowRect() const; |
- virtual LayoutRect clippedOverflowRectForPaintInvalidation(const RenderLayerModelObject* paintInvalidationContainer) const; |
- virtual LayoutRect rectWithOutlineForPaintInvalidation(const RenderLayerModelObject* paintInvalidationContainer, LayoutUnit outlineWidth) const; |
+ virtual LayoutRect clippedOverflowRectForPaintInvalidation(const RenderLayerModelObject* paintInvalidationContainer, const InvalidationTreeWalkState* = 0) const; |
+ virtual LayoutRect rectWithOutlineForPaintInvalidation(const RenderLayerModelObject* paintInvalidationContainer, LayoutUnit outlineWidth, const InvalidationTreeWalkState* = 0) const; |
// Given a rect in the object's coordinate space, compute a rect suitable for invalidating paints of |
// that rect in the coordinate space of paintInvalidationContainer. |
- virtual void mapRectToPaintInvalidationBacking(const RenderLayerModelObject* paintInvalidationContainer, LayoutRect&, bool fixed = false) const; |
- virtual void computeFloatRectForPaintInvalidation(const RenderLayerModelObject* paintInvalidationContainer, FloatRect& paintInvalidationRect, bool fixed = false) const; |
+ virtual void mapRectToPaintInvalidationBacking(const RenderLayerModelObject* paintInvalidationContainer, LayoutRect&, bool fixed = false, const InvalidationTreeWalkState* = 0) const; |
+ virtual void computeFloatRectForPaintInvalidation(const RenderLayerModelObject* paintInvalidationContainer, FloatRect& paintInvalidationRect, bool fixed = false, const InvalidationTreeWalkState* = 0) const; |
// Return the offset to the column in which the specified point (in flow-thread coordinates) |
// lives. This is used to convert a flow-thread point to a visual point. |
@@ -951,7 +952,7 @@ public: |
// Map points and quads through elements, potentially via 3d transforms. You should never need to call these directly; use |
// localToAbsolute/absoluteToLocal methods instead. |
- virtual void mapLocalToContainer(const RenderLayerModelObject* paintInvalidationContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const; |
+ virtual void mapLocalToContainer(const RenderLayerModelObject* paintInvalidationContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0, const InvalidationTreeWalkState* = 0) const; |
virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) const; |
// Pushes state onto RenderGeometryMap about how to map coordinates from this renderer to its container, or ancestorToStopAt (whichever is encountered first). |