Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / bindings / v8 / V8ScriptRunner.cpp
index 038d6fe..374132f 100644 (file)
@@ -93,7 +93,7 @@ v8::Local<v8::Value> V8ScriptRunner::runCompiledScript(v8::Handle<v8::Script> sc
     if (script.IsEmpty())
         return v8::Local<v8::Value>();
 
-    if (V8RecursionScope::recursionLevel() >= kMaxRecursionDepth)
+    if (V8RecursionScope::recursionLevel(isolate) >= kMaxRecursionDepth)
         return handleMaxRecursionDepthExceeded(isolate);
 
     RELEASE_ASSERT(!context->isIteratingOverObservers());
@@ -101,7 +101,7 @@ v8::Local<v8::Value> V8ScriptRunner::runCompiledScript(v8::Handle<v8::Script> sc
     // Run the script and keep track of the current recursion depth.
     v8::Local<v8::Value> result;
     {
-        V8RecursionScope recursionScope(context);
+        V8RecursionScope recursionScope(isolate, context);
         result = script->Run();
     }
 
@@ -120,7 +120,7 @@ v8::Local<v8::Value> V8ScriptRunner::compileAndRunInternalScript(v8::Handle<v8::
     if (script.IsEmpty())
         return v8::Local<v8::Value>();
 
-    V8RecursionScope::MicrotaskSuppression recursionScope;
+    V8RecursionScope::MicrotaskSuppression recursionScope(isolate);
     v8::Local<v8::Value> result = script->Run();
     crashIfV8IsDead();
     return result;
@@ -131,12 +131,12 @@ v8::Local<v8::Value> V8ScriptRunner::callFunction(v8::Handle<v8::Function> funct
     TRACE_EVENT0("v8", "v8.callFunction");
     TRACE_EVENT_SCOPED_SAMPLING_STATE("V8", "V8Execution");
 
-    if (V8RecursionScope::recursionLevel() >= kMaxRecursionDepth)
+    if (V8RecursionScope::recursionLevel(isolate) >= kMaxRecursionDepth)
         return handleMaxRecursionDepthExceeded(isolate);
 
     RELEASE_ASSERT(!context->isIteratingOverObservers());
 
-    V8RecursionScope recursionScope(context);
+    V8RecursionScope recursionScope(isolate, context);
     v8::Local<v8::Value> result = function->Call(receiver, argc, args);
     crashIfV8IsDead();
     return result;
@@ -146,61 +146,50 @@ v8::Local<v8::Value> V8ScriptRunner::callInternalFunction(v8::Handle<v8::Functio
 {
     TRACE_EVENT0("v8", "v8.callFunction");
     TRACE_EVENT_SCOPED_SAMPLING_STATE("V8", "V8Execution");
-    V8RecursionScope::MicrotaskSuppression recursionScope;
+    V8RecursionScope::MicrotaskSuppression recursionScope(isolate);
     v8::Local<v8::Value> result = function->Call(receiver, argc, args);
     crashIfV8IsDead();
     return result;
 }
 
-v8::Local<v8::Value> V8ScriptRunner::callAsFunction(v8::Handle<v8::Object> object, v8::Handle<v8::Value> receiver, int argc, v8::Handle<v8::Value> args[])
+v8::Local<v8::Value> V8ScriptRunner::callAsFunction(v8::Isolate* isolate, v8::Handle<v8::Object> object, v8::Handle<v8::Value> receiver, int argc, v8::Handle<v8::Value> args[])
 {
     TRACE_EVENT0("v8", "v8.callFunction");
     TRACE_EVENT_SCOPED_SAMPLING_STATE("V8", "V8Execution");
 
-    V8RecursionScope::MicrotaskSuppression recursionScope;
+    V8RecursionScope::MicrotaskSuppression recursionScope(isolate);
     v8::Local<v8::Value> result = object->CallAsFunction(receiver, argc, args);
     crashIfV8IsDead();
     return result;
 }
 
-v8::Local<v8::Value> V8ScriptRunner::callAsConstructor(v8::Handle<v8::Object> object, int argc, v8::Handle<v8::Value> args[])
-{
-    TRACE_EVENT0("v8", "v8.callFunction");
-    TRACE_EVENT_SCOPED_SAMPLING_STATE("V8", "V8Execution");
-
-    V8RecursionScope::MicrotaskSuppression recursionScope;
-    v8::Local<v8::Value> result = object->CallAsConstructor(argc, args);
-    crashIfV8IsDead();
-    return result;
-}
-
-v8::Local<v8::Object> V8ScriptRunner::instantiateObject(v8::Handle<v8::ObjectTemplate> objectTemplate)
+v8::Local<v8::Object> V8ScriptRunner::instantiateObject(v8::Isolate* isolate, v8::Handle<v8::ObjectTemplate> objectTemplate)
 {
     TRACE_EVENT0("v8", "v8.newInstance");
     TRACE_EVENT_SCOPED_SAMPLING_STATE("V8", "V8Execution");
 
-    V8RecursionScope::MicrotaskSuppression scope;
+    V8RecursionScope::MicrotaskSuppression scope(isolate);
     v8::Local<v8::Object> result = objectTemplate->NewInstance();
     crashIfV8IsDead();
     return result;
 }
 
-v8::Local<v8::Object> V8ScriptRunner::instantiateObject(v8::Handle<v8::Function> function, int argc, v8::Handle<v8::Value> argv[])
+v8::Local<v8::Object> V8ScriptRunner::instantiateObject(v8::Isolate* isolate, v8::Handle<v8::Function> function, int argc, v8::Handle<v8::Value> argv[])
 {
     TRACE_EVENT0("v8", "v8.newInstance");
     TRACE_EVENT_SCOPED_SAMPLING_STATE("V8", "V8Execution");
 
-    V8RecursionScope::MicrotaskSuppression scope;
+    V8RecursionScope::MicrotaskSuppression scope(isolate);
     v8::Local<v8::Object> result = function->NewInstance(argc, argv);
     crashIfV8IsDead();
     return result;
 }
 
-v8::Local<v8::Object> V8ScriptRunner::instantiateObjectInDocument(v8::Handle<v8::Function> function, ExecutionContext* context, int argc, v8::Handle<v8::Value> argv[])
+v8::Local<v8::Object> V8ScriptRunner::instantiateObjectInDocument(v8::Isolate* isolate, v8::Handle<v8::Function> function, ExecutionContext* context, int argc, v8::Handle<v8::Value> argv[])
 {
     TRACE_EVENT0("v8", "v8.newInstance");
     TRACE_EVENT_SCOPED_SAMPLING_STATE("V8", "V8Execution");
-    V8RecursionScope scope(context);
+    V8RecursionScope scope(isolate, context);
     v8::Local<v8::Object> result = function->NewInstance(argc, argv);
     crashIfV8IsDead();
     return result;