| Index: Source/core/rendering/svg/RenderSVGViewportContainer.cpp
 | 
| diff --git a/Source/core/rendering/svg/RenderSVGViewportContainer.cpp b/Source/core/rendering/svg/RenderSVGViewportContainer.cpp
 | 
| index 00e428e75ad5e5d65c7eb56ec4768b5fe2520e01..cb2f28e649b3246f50a62de364de9bdbd0e2f9c9 100644
 | 
| --- a/Source/core/rendering/svg/RenderSVGViewportContainer.cpp
 | 
| +++ b/Source/core/rendering/svg/RenderSVGViewportContainer.cpp
 | 
| @@ -96,14 +96,14 @@ void RenderSVGViewportContainer::calcViewport()
 | 
|          // values will override the corresponding attributes on the 'svg' in the generated tree.
 | 
|  
 | 
|          SVGLengthContext lengthContext(element);
 | 
| -        if (useElement->hasAttribute(SVGNames::widthAttr))
 | 
| +        if (useElement->width().value(lengthContext) > 0)
 | 
|              m_viewport.setWidth(useElement->width().value(lengthContext));
 | 
|          else if (isSymbolElement && svg->hasAttribute(SVGNames::widthAttr)) {
 | 
|              SVGLength containerWidth(LengthModeWidth, "100%");
 | 
|              m_viewport.setWidth(containerWidth.value(lengthContext));
 | 
|          }
 | 
|  
 | 
| -        if (useElement->hasAttribute(SVGNames::heightAttr))
 | 
| +        if (useElement->height().value(lengthContext) > 0)
 | 
|              m_viewport.setHeight(useElement->height().value(lengthContext));
 | 
|          else if (isSymbolElement && svg->hasAttribute(SVGNames::heightAttr)) {
 | 
|              SVGLength containerHeight(LengthModeHeight, "100%");
 | 
| 
 |