Index: third_party/WebKit/Source/core/animation/InterpolationEnvironment.h |
diff --git a/third_party/WebKit/Source/core/animation/InterpolationEnvironment.h b/third_party/WebKit/Source/core/animation/InterpolationEnvironment.h |
index ac22bfa11075b0b3e6f4705a6a79092d590e10d3..dc756bec4d477f3a28a9ef7eac19387b437e41ec 100644 |
--- a/third_party/WebKit/Source/core/animation/InterpolationEnvironment.h |
+++ b/third_party/WebKit/Source/core/animation/InterpolationEnvironment.h |
@@ -10,19 +10,36 @@ |
namespace blink { |
class StyleResolverState; |
+class SVGPropertyBase; |
+class SVGElement; |
class InterpolationEnvironment { |
STACK_ALLOCATED(); |
public: |
explicit InterpolationEnvironment(StyleResolverState& state) |
: m_state(&state) |
+ , m_svgElement(nullptr) |
+ , m_svgBaseValue(nullptr) |
+ { } |
+ |
+ explicit InterpolationEnvironment(SVGElement& svgElement, const SVGPropertyBase& svgBaseValue) |
+ : m_state(nullptr) |
+ , m_svgElement(&svgElement) |
+ , m_svgBaseValue(&svgBaseValue) |
{ } |
StyleResolverState& state() { ASSERT(m_state); return *m_state; } |
const StyleResolverState& state() const { ASSERT(m_state); return *m_state; } |
+ SVGElement& svgElement() { ASSERT(m_svgElement); return *m_svgElement; } |
+ const SVGElement& svgElement() const { ASSERT(m_svgElement); return *m_svgElement; } |
+ |
+ const SVGPropertyBase& svgBaseValue() const { ASSERT(m_svgBaseValue); return *m_svgBaseValue; } |
+ |
private: |
StyleResolverState* m_state; |
+ SVGElement* m_svgElement; |
+ const SVGPropertyBase* m_svgBaseValue; |
}; |
} // namespace blink |