| Index: third_party/WebKit/Source/core/svg/SVGLengthContext.cpp | 
| diff --git a/third_party/WebKit/Source/core/svg/SVGLengthContext.cpp b/third_party/WebKit/Source/core/svg/SVGLengthContext.cpp | 
| index 621a277ce9125389e12206cad2ec8e0b535c5d92..f86e33bc17e0d63e9fd713da848aa019e29c42bb 100644 | 
| --- a/third_party/WebKit/Source/core/svg/SVGLengthContext.cpp | 
| +++ b/third_party/WebKit/Source/core/svg/SVGLengthContext.cpp | 
| @@ -24,6 +24,7 @@ | 
|  | 
| #include "core/css/CSSHelper.h" | 
| #include "core/css/CSSPrimitiveValue.h" | 
| +#include "core/css/CSSToLengthConversionData.h" | 
| #include "core/dom/NodeComputedStyle.h" | 
| #include "core/frame/FrameView.h" | 
| #include "core/layout/LayoutObject.h" | 
| @@ -417,4 +418,18 @@ bool SVGLengthContext::determineViewport(FloatSize& viewportSize) const | 
| return true; | 
| } | 
|  | 
| +float SVGLengthContext::resolveValue(const CSSPrimitiveValue& primitiveValue, SVGLengthMode mode) const | 
| +{ | 
| +    const ComputedStyle* style = computedStyleForLengthResolving(m_context); | 
| +    if (!style) | 
| +        return 0; | 
| + | 
| +    const ComputedStyle* rootStyle = rootElementStyle(m_context); | 
| +    if (!rootStyle) | 
| +        return 0; | 
| + | 
| +    CSSToLengthConversionData conversionData = CSSToLengthConversionData(style, rootStyle, m_context->document().layoutViewItem(), 1.0f); | 
| +    Length length = primitiveValue.convertToLength(conversionData); | 
| +    return valueForLength(length, 1.0f, mode); | 
| +} | 
| } // namespace blink | 
|  |