Index: third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.h |
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.h b/third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.h |
index b3e1fee76f54b0702a8245d1e07258392ff4c978..8af1ed32e423771b37ec75cbb1a7ad4479f86f9b 100644 |
--- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.h |
+++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.h |
@@ -70,8 +70,17 @@ protected: |
bool nodeAtFloatPoint(HitTestResult&, const FloatPoint& pointInParent, HitTestAction) override; |
+ // The following enumeration is used to optimize cases where the scale is |
+ // known to be invariant (see: LayoutSVGContainer::layout). The value |
+ // 'Full' can be used in the general case when the scale change is unknown, |
+ // or known to change. |
+ enum class TransformChange { |
+ None, |
+ ScaleInvariant, |
+ Full, |
+ }; |
// Allow LayoutSVGTransformableContainer to hook in at the right time in layout(). |
- virtual bool calculateLocalTransform() { return false; } |
+ virtual TransformChange calculateLocalTransform() { return TransformChange::None; } |
// Allow LayoutSVGViewportContainer to hook in at the right times in layout() and nodeAtFloatPoint(). |
virtual void calcViewport() { } |