| Index: Source/core/svg/SVGScriptElement.cpp
|
| diff --git a/Source/core/svg/SVGScriptElement.cpp b/Source/core/svg/SVGScriptElement.cpp
|
| index 36b3a19a23ad23567f993480b47797a39aafa565..d07570a6ff28536f9b97717b308bb7573649f42d 100644
|
| --- a/Source/core/svg/SVGScriptElement.cpp
|
| +++ b/Source/core/svg/SVGScriptElement.cpp
|
| @@ -88,8 +88,14 @@ void SVGScriptElement::childrenChanged(const ChildrenChange& change)
|
|
|
| void SVGScriptElement::didMoveToNewDocument(Document& oldDocument)
|
| {
|
| - if (RefPtrWillBeRawPtr<Document> contextDocument = document().contextDocument().get())
|
| - oldDocument.scriptRunner()->movePendingAsyncScript(contextDocument->scriptRunner(), m_loader.get());
|
| + RefPtrWillBeRawPtr<Document> contextDocument = document().contextDocument().get();
|
| + if (!contextDocument)
|
| + contextDocument = &document();
|
| + RefPtrWillBeRawPtr<Document> oldContextDocument = oldDocument.contextDocument().get();
|
| + if (!oldContextDocument)
|
| + oldContextDocument = &oldDocument;
|
| + if (oldContextDocument != contextDocument)
|
| + oldContextDocument->scriptRunner()->movePendingAsyncScript(contextDocument->scriptRunner(), m_loader.get());
|
| SVGElement::didMoveToNewDocument(oldDocument);
|
| }
|
|
|
|
|