| Index: third_party/WebKit/Source/core/dom/TreeScope.cpp
|
| diff --git a/third_party/WebKit/Source/core/dom/TreeScope.cpp b/third_party/WebKit/Source/core/dom/TreeScope.cpp
|
| index 2d1a1b6ee5785db7a5b02c61938eccb91f118cdc..970dec9c3b36bb0c836f55ffb0e899177932d9cf 100644
|
| --- a/third_party/WebKit/Source/core/dom/TreeScope.cpp
|
| +++ b/third_party/WebKit/Source/core/dom/TreeScope.cpp
|
| @@ -370,13 +370,14 @@ Element* TreeScope::findAnchor(const String& name)
|
|
|
| void TreeScope::adoptIfNeeded(Node& node)
|
| {
|
| + // Script is forbidden to protect against event handlers firing in the middle of rescoping
|
| + // in |didMoveToNewDocument| callbacks. See https://crbug.com/605766 and https://crbug.com/606651.
|
| + ScriptForbiddenScope forbidScript;
|
| DCHECK(this);
|
| DCHECK(!node.isDocumentNode());
|
| TreeScopeAdopter adopter(node, *this);
|
| - if (adopter.needsScopeChange()) {
|
| - ScriptForbiddenScope forbidScript;
|
| + if (adopter.needsScopeChange())
|
| adopter.execute();
|
| - }
|
| }
|
|
|
| Element* TreeScope::retarget(const Element& target) const
|
|
|