Index: Source/core/rendering/RenderObject.h |
diff --git a/Source/core/rendering/RenderObject.h b/Source/core/rendering/RenderObject.h |
index 38819aefe6ef7d3c6534fc9c2009e55919c13718..0bd54dfdcb619cb822836e0c3fd5b96e09eb3fc4 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 PaintInvalidationState; |
class Position; |
class PositionWithAffinity; |
class PseudoStyleRequest; |
@@ -746,7 +747,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 PaintInvalidationState* = 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. |
@@ -757,7 +758,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 PaintInvalidationState* = 0) const; |
IntRect absoluteBoundingBoxRect() const; |
// FIXME: This function should go away eventually |
@@ -822,10 +823,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 PaintInvalidationState* = 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 PaintInvalidationState* = 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 |
@@ -845,7 +846,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 PaintInvalidationState&); |
virtual void invalidatePaintForOverflow(); |
void invalidatePaintForOverflowIfNeeded(); |
@@ -859,13 +860,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 PaintInvalidationState* = 0) const; |
+ virtual LayoutRect rectWithOutlineForPaintInvalidation(const RenderLayerModelObject* paintInvalidationContainer, LayoutUnit outlineWidth, const PaintInvalidationState* = 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 PaintInvalidationState* = 0) const; |
+ virtual void computeFloatRectForPaintInvalidation(const RenderLayerModelObject* paintInvalidationContainer, FloatRect& paintInvalidationRect, bool fixed = false, const PaintInvalidationState* = 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. |
@@ -965,7 +966,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 PaintInvalidationState* = 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). |