| Index: Source/core/rendering/RenderObject.h
|
| diff --git a/Source/core/rendering/RenderObject.h b/Source/core/rendering/RenderObject.h
|
| index e1d71315345084d7556dabc696c54a9f38ce788b..342abb79a431d62d0f1c6d11b42b64a0c5768214 100644
|
| --- a/Source/core/rendering/RenderObject.h
|
| +++ b/Source/core/rendering/RenderObject.h
|
| @@ -54,6 +54,7 @@
|
| class HitTestResult;
|
| class InlineBox;
|
| class InlineFlowBox;
|
| +class PaintInvalidationState;
|
| class Position;
|
| class PositionWithAffinity;
|
| class PseudoStyleRequest;
|
| @@ -746,7 +747,7 @@
|
|
|
| // 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 @@
|
| 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 @@
|
| }
|
|
|
| // 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 @@
|
| 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 @@
|
| 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 @@
|
|
|
| // 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).
|
|
|