| Index: Source/core/html/parser/HTMLConstructionSite.cpp | 
| diff --git a/Source/core/html/parser/HTMLConstructionSite.cpp b/Source/core/html/parser/HTMLConstructionSite.cpp | 
| index ab3531b54c68b07acc7ed447a6bba22fa4b4532d..62ffde324b2a51f2c5a1382e60d775a240fc67ec 100644 | 
| --- a/Source/core/html/parser/HTMLConstructionSite.cpp | 
| +++ b/Source/core/html/parser/HTMLConstructionSite.cpp | 
| @@ -50,6 +50,7 @@ | 
| #include "core/loader/FrameLoaderClient.h" | 
| #include "core/svg/SVGScriptElement.h" | 
| #include "platform/NotImplemented.h" | 
| +#include "platform/ScriptForbiddenScope.h" | 
| #include "platform/text/TextBreakIterator.h" | 
| #include <limits> | 
|  | 
| @@ -102,8 +103,10 @@ static inline void insert(HTMLConstructionSiteTask& task) | 
| if (isHTMLTemplateElement(*task.parent)) | 
| task.parent = toHTMLTemplateElement(task.parent.get())->content(); | 
|  | 
| -    if (ContainerNode* parent = task.child->parentNode()) | 
| +    if (ContainerNode* parent = task.child->parentNode()) { | 
| +        ScriptForbiddenScope forbidScript; | 
| parent->parserRemoveChild(*task.child); | 
| +    } | 
|  | 
| if (task.nextChild) | 
| task.parent->parserInsertBefore(task.child.get(), *task.nextChild); | 
| @@ -150,8 +153,10 @@ static inline void executeReparentTask(HTMLConstructionSiteTask& task) | 
| { | 
| ASSERT(task.operation == HTMLConstructionSiteTask::Reparent); | 
|  | 
| -    if (ContainerNode* parent = task.child->parentNode()) | 
| +    if (ContainerNode* parent = task.child->parentNode()) { | 
| +        ScriptForbiddenScope forbidScript; | 
| parent->parserRemoveChild(*task.child); | 
| +    } | 
|  | 
| task.parent->parserAppendChild(task.child); | 
| } | 
|  |