| Index: third_party/WebKit/Source/core/svg/SVGUseElement.cpp
|
| diff --git a/third_party/WebKit/Source/core/svg/SVGUseElement.cpp b/third_party/WebKit/Source/core/svg/SVGUseElement.cpp
|
| index ca7d9571a75eccc6cc91bcecf7002f44c747269f..fe8395d9c685a788366f03faa7439430b2ec6fff 100644
|
| --- a/third_party/WebKit/Source/core/svg/SVGUseElement.cpp
|
| +++ b/third_party/WebKit/Source/core/svg/SVGUseElement.cpp
|
| @@ -184,16 +184,21 @@ void SVGUseElement::collectStyleForPresentationAttribute(const QualifiedName& na
|
| SVGGraphicsElement::collectStyleForPresentationAttribute(name, value, style);
|
| }
|
|
|
| +bool SVGUseElement::isStructurallyExternal() const
|
| +{
|
| + return !m_elementIdentifierIsLocal;
|
| +}
|
| +
|
| void SVGUseElement::updateTargetReference()
|
| {
|
| - KURL resolvedUrl = document().completeURL(hrefString());
|
| - m_elementIdentifier = AtomicString(resolvedUrl.fragmentIdentifier());
|
| - m_elementIdentifierIsLocal = resolvedUrl.isNull()
|
| - || equalIgnoringFragmentIdentifier(resolvedUrl, document().url());
|
| + SVGURLReferenceResolver resolver(hrefString(), document());
|
| + m_elementIdentifier = resolver.fragmentIdentifier();
|
| + m_elementIdentifierIsLocal = resolver.isLocal();
|
| if (m_elementIdentifierIsLocal) {
|
| setDocumentResource(nullptr);
|
| return;
|
| }
|
| + KURL resolvedUrl = resolver.absoluteUrl();
|
| if (m_elementIdentifier.isEmpty()
|
| || (m_resource && equalIgnoringFragmentIdentifier(resolvedUrl, m_resource->url())))
|
| return;
|
|
|