| Index: Source/core/rendering/svg/RenderSVGViewportContainer.cpp
|
| diff --git a/Source/core/rendering/svg/RenderSVGViewportContainer.cpp b/Source/core/rendering/svg/RenderSVGViewportContainer.cpp
|
| index 0dae02cd718424da5147d953eda4df5349dfecab..752859fa8dda88f15a3afacb7256f146e99d476f 100644
|
| --- a/Source/core/rendering/svg/RenderSVGViewportContainer.cpp
|
| +++ b/Source/core/rendering/svg/RenderSVGViewportContainer.cpp
|
| @@ -67,54 +67,6 @@ void RenderSVGViewportContainer::calcViewport()
|
| SVGLengthContext lengthContext(element);
|
| m_viewport = FloatRect(svg->x()->currentValue()->value(lengthContext), svg->y()->currentValue()->value(lengthContext), svg->width()->currentValue()->value(lengthContext), svg->height()->currentValue()->value(lengthContext));
|
|
|
| - SVGElement* correspondingElement = svg->correspondingElement();
|
| - if (correspondingElement && svg->isInShadowTree()) {
|
| - const HashSet<SVGElementInstance*>& instances = correspondingElement->instancesForElement();
|
| - ASSERT(!instances.isEmpty());
|
| -
|
| - SVGUseElement* useElement = 0;
|
| - const HashSet<SVGElementInstance*>::const_iterator end = instances.end();
|
| - for (HashSet<SVGElementInstance*>::const_iterator it = instances.begin(); it != end; ++it) {
|
| - const SVGElementInstance* instance = (*it);
|
| - ASSERT(isSVGSVGElement(instance->correspondingElement()) || isSVGSymbolElement(instance->correspondingElement()));
|
| - if (instance->shadowTreeElement() == svg) {
|
| - ASSERT(correspondingElement == instance->correspondingElement());
|
| - useElement = instance->directUseElement();
|
| - if (!useElement)
|
| - useElement = instance->correspondingUseElement();
|
| - break;
|
| - }
|
| - }
|
| -
|
| - ASSERT(useElement);
|
| - bool isSymbolElement = isSVGSymbolElement(*correspondingElement);
|
| -
|
| - // Spec (<use> on <symbol>): This generated 'svg' will always have explicit values for attributes width and height.
|
| - // If attributes width and/or height are provided on the 'use' element, then these attributes
|
| - // will be transferred to the generated 'svg'. If attributes width and/or height are not specified,
|
| - // the generated 'svg' element will use values of 100% for these attributes.
|
| -
|
| - // Spec (<use> on <svg>): If attributes width and/or height are provided on the 'use' element, then these
|
| - // values will override the corresponding attributes on the 'svg' in the generated tree.
|
| -
|
| - SVGLengthContext lengthContext(element);
|
| - if (useElement->hasAttribute(SVGNames::widthAttr))
|
| - m_viewport.setWidth(useElement->width()->currentValue()->value(lengthContext));
|
| - else if (isSymbolElement && svg->hasAttribute(SVGNames::widthAttr)) {
|
| - RefPtr<SVGLength> containerWidth = SVGLength::create(LengthModeWidth);
|
| - containerWidth->setValueAsString("100%", ASSERT_NO_EXCEPTION);
|
| - m_viewport.setWidth(containerWidth->value(lengthContext));
|
| - }
|
| -
|
| - if (useElement->hasAttribute(SVGNames::heightAttr))
|
| - m_viewport.setHeight(useElement->height()->currentValue()->value(lengthContext));
|
| - else if (isSymbolElement && svg->hasAttribute(SVGNames::heightAttr)) {
|
| - RefPtr<SVGLength> containerHeight = SVGLength::create(LengthModeHeight);
|
| - containerHeight->setValueAsString("100%", ASSERT_NO_EXCEPTION);
|
| - m_viewport.setHeight(containerHeight->value(lengthContext));
|
| - }
|
| - }
|
| -
|
| if (oldViewport != m_viewport) {
|
| setNeedsBoundariesUpdate();
|
| setNeedsTransformUpdate();
|
|
|