Index: Source/core/dom/Microtask.cpp |
diff --git a/Source/core/dom/Microtask.cpp b/Source/core/dom/Microtask.cpp |
index 9340c1df4780ce2ef665054201638b4cb02b27e4..56de67277d06b9b141435a0f1769d19bbdb97e19 100644 |
--- a/Source/core/dom/Microtask.cpp |
+++ b/Source/core/dom/Microtask.cpp |
@@ -33,6 +33,7 @@ |
#include "bindings/core/v8/V8PerIsolateData.h" |
#include "bindings/core/v8/V8RecursionScope.h" |
+#include "platform/ScriptForbiddenScope.h" |
#include "platform/Task.h" |
#include "public/platform/WebThread.h" |
#include <v8.h> |
@@ -44,7 +45,7 @@ void Microtask::performCheckpoint() |
v8::Isolate* isolate = v8::Isolate::GetCurrent(); |
V8PerIsolateData* isolateData = V8PerIsolateData::from(isolate); |
ASSERT(isolateData); |
- if (isolateData->recursionLevel() || isolateData->performingMicrotaskCheckpoint() || isolateData->destructionPending()) |
+ if (isolateData->recursionLevel() || isolateData->performingMicrotaskCheckpoint() || isolateData->destructionPending() || ScriptForbiddenScope::isScriptForbidden()) |
return; |
isolateData->setPerformingMicrotaskCheckpoint(true); |
{ |