Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / bindings / v8 / V8ObjectConstructor.cpp
index b94cb53..d52bdc1 100644 (file)
 
 namespace WebCore {
 
-v8::Local<v8::Object> V8ObjectConstructor::newInstance(v8::Handle<v8::Function> function)
+v8::Local<v8::Object> V8ObjectConstructor::newInstance(v8::Isolate* isolate, v8::Handle<v8::Function> function)
 {
     if (function.IsEmpty())
         return v8::Local<v8::Object>();
-    ConstructorMode constructorMode;
-    return V8ScriptRunner::instantiateObject(function);
+    ConstructorMode constructorMode(isolate);
+    return V8ScriptRunner::instantiateObject(isolate, function);
 }
 
-v8::Local<v8::Object> V8ObjectConstructor::newInstance(v8::Handle<v8::ObjectTemplate> objectTemplate)
-{
-    if (objectTemplate.IsEmpty())
-        return v8::Local<v8::Object>();
-    ConstructorMode constructorMode;
-    return V8ScriptRunner::instantiateObject(objectTemplate);
-}
-
-v8::Local<v8::Object> V8ObjectConstructor::newInstance(v8::Handle<v8::Function> function, int argc, v8::Handle<v8::Value> argv[])
+v8::Local<v8::Object> V8ObjectConstructor::newInstance(v8::Isolate* isolate, v8::Handle<v8::Function> function, int argc, v8::Handle<v8::Value> argv[])
 {
     if (function.IsEmpty())
         return v8::Local<v8::Object>();
-    ConstructorMode constructorMode;
-    return V8ScriptRunner::instantiateObject(function, argc, argv);
+    ConstructorMode constructorMode(isolate);
+    return V8ScriptRunner::instantiateObject(isolate, function, argc, argv);
 }
 
-v8::Local<v8::Object> V8ObjectConstructor::newInstanceInDocument(v8::Handle<v8::Function> function, int argc, v8::Handle<v8::Value> argv[], Document* document)
+v8::Local<v8::Object> V8ObjectConstructor::newInstanceInDocument(v8::Isolate* isolate, v8::Handle<v8::Function> function, int argc, v8::Handle<v8::Value> argv[], Document* document)
 {
     if (function.IsEmpty())
         return v8::Local<v8::Object>();
-    return V8ScriptRunner::instantiateObjectInDocument(function, document, argc, argv);
+    return V8ScriptRunner::instantiateObjectInDocument(isolate, function, document, argc, argv);
 }
 
 void V8ObjectConstructor::isValidConstructorMode(const v8::FunctionCallbackInfo<v8::Value>& info)
 {
-    if (ConstructorMode::current() == ConstructorMode::CreateNewObject) {
+    if (ConstructorMode::current(info.GetIsolate()) == ConstructorMode::CreateNewObject) {
         throwTypeError("Illegal constructor", info.GetIsolate());
         return;
     }