| Index: Source/core/svg/SVGUseElement.cpp
|
| diff --git a/Source/core/svg/SVGUseElement.cpp b/Source/core/svg/SVGUseElement.cpp
|
| index 9bdf713ca431656f4cddae0971b08de71e86df00..d06db557efd1aa18c5a7cd458cb1722a9ace7330 100644
|
| --- a/Source/core/svg/SVGUseElement.cpp
|
| +++ b/Source/core/svg/SVGUseElement.cpp
|
| @@ -167,10 +167,10 @@ Node::InsertionNotificationRequest SVGUseElement::insertedInto(ContainerNode* ro
|
| if (!m_wasInsertedByParser) {
|
| buildPendingResource();
|
|
|
| - m_haveFiredLoadEvent = true;
|
| - sendSVGLoadEventIfPossibleAsynchronously();
|
| + if (!isStructurallyExternal()) {
|
| + sendSVGLoadEventIfPossibleAsynchronously();
|
| + }
|
| }
|
| -
|
| return InsertionDone;
|
| }
|
|
|
| @@ -943,6 +943,12 @@ void SVGUseElement::notifyFinished(Resource* resource)
|
| ASSERT(m_haveFiredLoadEvent);
|
| else if (m_haveFiredLoadEvent)
|
| return;
|
| + if (!isStructurallyExternal())
|
| + return;
|
| +
|
| + ASSERT(!m_haveFiredLoadEvent);
|
| + m_haveFiredLoadEvent = true;
|
| + sendSVGLoadEventIfPossible();
|
| }
|
| }
|
|
|
| @@ -969,7 +975,6 @@ bool SVGUseElement::instanceTreeIsLoading(SVGElementInstance* targetElementInsta
|
| void SVGUseElement::finishParsingChildren()
|
| {
|
| SVGGraphicsElement::finishParsingChildren();
|
| - m_haveFiredLoadEvent = true;
|
| if (m_wasInsertedByParser) {
|
| buildPendingResource();
|
| m_wasInsertedByParser = false;
|
|
|