Chromium Code Reviews| Index: Source/core/rendering/PaintInvalidationState.h |
| diff --git a/Source/core/rendering/PaintInvalidationState.h b/Source/core/rendering/PaintInvalidationState.h |
| index dcca3932f86641d1850efd77b6424936e3a584f3..7eb8f4c8f6134327bd7b754f61b9c502ffbd5462 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 { 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. |
| + AffineTransform m_svgTransform; |
|
pdr.
2014/09/25 05:38:59
Could we use an OwnPtr here to lazily allocate thi
fs
2014/09/25 12:17:53
Yes, I suppose that could be a reasonable compromi
|
| }; |
| } // namespace blink |