Index: third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp |
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp b/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp |
index de8a036d9f524a54370239529c3759fc281b69b9..51bc05d7fd9fc95f72e0411f9ed57381384dd7a5 100644 |
--- a/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp |
+++ b/third_party/WebKit/Source/bindings/core/v8/V8ScriptRunner.cpp |
@@ -29,6 +29,7 @@ |
#include "bindings/core/v8/ScriptStreamer.h" |
#include "bindings/core/v8/V8Binding.h" |
#include "bindings/core/v8/V8GCController.h" |
+#include "bindings/core/v8/V8RecursionScope.h" |
#include "bindings/core/v8/V8ThrowException.h" |
#include "core/dom/ExecutionContext.h" |
#include "core/fetch/CachedMetadata.h" |
@@ -399,7 +400,7 @@ |
TRACE_EVENT_SCOPED_SAMPLING_STATE("v8", "V8Execution"); |
TRACE_EVENT1("v8", "v8.run", "fileName", TRACE_STR_COPY(*v8::String::Utf8Value(script->GetUnboundScript()->GetScriptName()))); |
- if (v8::MicrotasksScope::GetCurrentDepth(isolate) >= kMaxRecursionDepth) |
+ if (V8RecursionScope::recursionLevel(isolate) >= kMaxRecursionDepth) |
return throwStackOverflowExceptionIfNeeded(isolate); |
RELEASE_ASSERT(!context->isIteratingOverObservers()); |
@@ -411,7 +412,7 @@ |
throwScriptForbiddenException(isolate); |
return v8::MaybeLocal<v8::Value>(); |
} |
- v8::MicrotasksScope microtasksScope(isolate, v8::MicrotasksScope::kRunMicrotasks); |
+ V8RecursionScope recursionScope(isolate); |
InspectorInstrumentationCookie cookie = InspectorInstrumentation::willExecuteScript(context, script->GetUnboundScript()->GetId()); |
result = script->Run(isolate->GetCurrentContext()); |
InspectorInstrumentation::didExecuteScript(cookie); |
@@ -429,7 +430,7 @@ |
TRACE_EVENT0("v8", "v8.run"); |
TRACE_EVENT_SCOPED_SAMPLING_STATE("v8", "V8Execution"); |
- v8::MicrotasksScope microtasksScope(isolate, v8::MicrotasksScope::kDoNotRunMicrotasks); |
+ V8RecursionScope::MicrotaskSuppression recursionScope(isolate); |
v8::MaybeLocal<v8::Value> result = script->Run(isolate->GetCurrentContext()); |
crashIfIsolateIsDead(isolate); |
return result; |
@@ -439,7 +440,7 @@ |
{ |
TRACE_EVENT0("v8", "v8.run"); |
TRACE_EVENT_SCOPED_SAMPLING_STATE("v8", "V8Execution"); |
- v8::MicrotasksScope microtasksScope(isolate, v8::MicrotasksScope::kDoNotRunMicrotasks); |
+ V8RecursionScope::MicrotaskSuppression recursionScope(isolate); |
v8::MaybeLocal<v8::Value> result = script->Run(isolate->GetCurrentContext()); |
crashIfIsolateIsDead(isolate); |
return result; |
@@ -450,7 +451,7 @@ |
TRACE_EVENT1("devtools.timeline,v8", "FunctionCall", "data", devToolsTraceEventData(isolate, context, function)); |
TRACE_EVENT_SCOPED_SAMPLING_STATE("v8", "V8Execution"); |
- if (v8::MicrotasksScope::GetCurrentDepth(isolate) >= kMaxRecursionDepth) |
+ if (V8RecursionScope::recursionLevel(isolate) >= kMaxRecursionDepth) |
return v8::MaybeLocal<v8::Value>(throwStackOverflowExceptionIfNeeded(isolate)); |
RELEASE_ASSERT(!context->isIteratingOverObservers()); |
@@ -459,7 +460,7 @@ |
throwScriptForbiddenException(isolate); |
return v8::MaybeLocal<v8::Value>(); |
} |
- v8::MicrotasksScope microtasksScope(isolate, v8::MicrotasksScope::kRunMicrotasks); |
+ V8RecursionScope recursionScope(isolate); |
InspectorInstrumentationCookie cookie = InspectorInstrumentation::willExecuteScript(context, function->ScriptId()); |
v8::MaybeLocal<v8::Value> result = function->Call(isolate->GetCurrentContext(), receiver, argc, args); |
crashIfIsolateIsDead(isolate); |
@@ -471,7 +472,7 @@ |
{ |
TRACE_EVENT0("v8", "v8.callFunction"); |
TRACE_EVENT_SCOPED_SAMPLING_STATE("v8", "V8Execution"); |
- v8::MicrotasksScope microtasksScope(isolate, v8::MicrotasksScope::kDoNotRunMicrotasks); |
+ V8RecursionScope::MicrotaskSuppression recursionScope(isolate); |
v8::MaybeLocal<v8::Value> result = function->Call(isolate->GetCurrentContext(), receiver, argc, args); |
crashIfIsolateIsDead(isolate); |
return result; |
@@ -482,7 +483,7 @@ |
TRACE_EVENT0("v8", "v8.newInstance"); |
TRACE_EVENT_SCOPED_SAMPLING_STATE("v8", "V8Execution"); |
- v8::MicrotasksScope microtasksScope(isolate, v8::MicrotasksScope::kDoNotRunMicrotasks); |
+ V8RecursionScope::MicrotaskSuppression scope(isolate); |
v8::MaybeLocal<v8::Object> result = objectTemplate->NewInstance(isolate->GetCurrentContext()); |
crashIfIsolateIsDead(isolate); |
return result; |
@@ -493,7 +494,7 @@ |
TRACE_EVENT0("v8", "v8.newInstance"); |
TRACE_EVENT_SCOPED_SAMPLING_STATE("v8", "V8Execution"); |
- v8::MicrotasksScope microtasksScope(isolate, v8::MicrotasksScope::kDoNotRunMicrotasks); |
+ V8RecursionScope::MicrotaskSuppression scope(isolate); |
v8::MaybeLocal<v8::Object> result = function->NewInstance(isolate->GetCurrentContext(), argc, argv); |
crashIfIsolateIsDead(isolate); |
return result; |
@@ -507,7 +508,7 @@ |
throwScriptForbiddenException(isolate); |
return v8::MaybeLocal<v8::Object>(); |
} |
- v8::MicrotasksScope microtasksScope(isolate, v8::MicrotasksScope::kRunMicrotasks); |
+ V8RecursionScope scope(isolate); |
v8::MaybeLocal<v8::Object> result = function->NewInstance(isolate->GetCurrentContext(), argc, argv); |
crashIfIsolateIsDead(isolate); |
return result; |