| Index: Source/core/rendering/PaintInvalidationState.h
|
| diff --git a/Source/core/rendering/PaintInvalidationState.h b/Source/core/rendering/PaintInvalidationState.h
|
| index dcca3932f86641d1850efd77b6424936e3a584f3..da3fde13bcaaa37b16a76ea9f4d7d08d6326857e 100644
|
| --- a/Source/core/rendering/PaintInvalidationState.h
|
| +++ b/Source/core/rendering/PaintInvalidationState.h
|
| @@ -6,23 +6,27 @@
|
| #define PaintInvalidationState_h
|
|
|
| #include "platform/geometry/LayoutRect.h"
|
| +#include "platform/transforms/AffineTransform.h"
|
| #include "wtf/Noncopyable.h"
|
|
|
| namespace blink {
|
|
|
| class RenderLayerModelObject;
|
| class RenderObject;
|
| +class RenderSVGModelObject;
|
| class RenderView;
|
|
|
| class PaintInvalidationState {
|
| WTF_MAKE_NONCOPYABLE(PaintInvalidationState);
|
| public:
|
| PaintInvalidationState(const PaintInvalidationState& next, RenderLayerModelObject& renderer, const RenderLayerModelObject& paintInvalidationContainer);
|
| + PaintInvalidationState(const PaintInvalidationState& next, const RenderSVGModelObject& renderer);
|
|
|
| explicit PaintInvalidationState(const RenderView&);
|
|
|
| const LayoutRect& clipRect() const { return m_clipRect; }
|
| const LayoutSize& paintOffset() const { return m_paintOffset; }
|
| + const AffineTransform& svgTransform() const { ASSERT(m_svgTransform); return *m_svgTransform; }
|
|
|
| bool cachedOffsetsEnabled() const { return m_cachedOffsetsEnabled; }
|
| bool isClipped() const { return m_clipped; }
|
| @@ -38,6 +42,7 @@ public:
|
| }
|
| private:
|
| void applyClipIfNeeded(const RenderObject&);
|
| + void addClipRectRelativeToPaintOffset(const LayoutSize& clipSize);
|
|
|
| friend class ForceHorriblySlowRectMapping;
|
|
|
| @@ -51,6 +56,11 @@ private:
|
| LayoutSize m_paintOffset;
|
|
|
| const RenderLayerModelObject& m_paintInvalidationContainer;
|
| +
|
| + // Transform from the initial viewport coordinate system of an outermost
|
| + // SVG root to the userspace _before_ the relevant element. Combining this
|
| + // with |m_paintOffset| yields the "final" offset.
|
| + OwnPtr<AffineTransform> m_svgTransform;
|
| };
|
|
|
| } // namespace blink
|
|
|