| Index: Source/core/layout/svg/LayoutSVGForeignObject.cpp
|
| diff --git a/Source/core/layout/svg/LayoutSVGForeignObject.cpp b/Source/core/layout/svg/LayoutSVGForeignObject.cpp
|
| index 298769cb550d6a2d08530aea77fb106b52f22efb..3cfa30a0ec7f4b2a036086047b451f6944bd9203 100644
|
| --- a/Source/core/layout/svg/LayoutSVGForeignObject.cpp
|
| +++ b/Source/core/layout/svg/LayoutSVGForeignObject.cpp
|
| @@ -93,8 +93,12 @@ void LayoutSVGForeignObject::layout()
|
|
|
| // Cache viewport boundaries
|
| SVGLengthContext lengthContext(foreign);
|
| - FloatPoint viewportLocation(foreign->x()->currentValue()->value(lengthContext), foreign->y()->currentValue()->value(lengthContext));
|
| - m_viewport = FloatRect(viewportLocation, FloatSize(foreign->width()->currentValue()->value(lengthContext), foreign->height()->currentValue()->value(lengthContext)));
|
| + FloatPoint viewportLocation(
|
| + lengthContext.valueForLength(styleRef().svgStyle().x(), styleRef(), SVGLengthMode::Width),
|
| + lengthContext.valueForLength(styleRef().svgStyle().y(), styleRef(), SVGLengthMode::Height));
|
| + m_viewport = FloatRect(viewportLocation, FloatSize(
|
| + lengthContext.valueForLength(styleRef().width(), styleRef(), SVGLengthMode::Width),
|
| + lengthContext.valueForLength(styleRef().height(), styleRef(), SVGLengthMode::Height)));
|
| if (!updateCachedBoundariesInParents)
|
| updateCachedBoundariesInParents = oldViewport != m_viewport;
|
|
|
|
|