Index: Source/bindings/dart/DartJsInterop.cpp |
diff --git a/Source/bindings/dart/DartJsInterop.cpp b/Source/bindings/dart/DartJsInterop.cpp |
index 36881d2a1263b6c774227134cec32a619cede11b..335d162b0548fbe48e8aee4aaed7865e8d25de64 100644 |
--- a/Source/bindings/dart/DartJsInterop.cpp |
+++ b/Source/bindings/dart/DartJsInterop.cpp |
@@ -77,6 +77,9 @@ static void functionInvocationCallback(const v8::FunctionCallbackInfo<v8::Value> |
DartScopes scopes(args.Holder()); |
Dart_Handle handle = scopes.handle; |
DartDOMData* domData = DartDOMData::current(); |
+ // We need to call V8Scope to properly track the stack depth and timestamp |
+ // for the transition between V8 and Dart. |
+ V8Scope v8scope(domData); |
ASSERT(domData); |
ASSERT(DartUtilities::isFunction(domData, handle)); |