| Index: Source/bindings/v8/custom/V8PromiseCustom.cpp
|
| diff --git a/Source/bindings/v8/custom/V8PromiseCustom.cpp b/Source/bindings/v8/custom/V8PromiseCustom.cpp
|
| index 3efb2c5b1c5859287d62d59afb34a71a3853cc9f..650f6476af10c88ff3211704f90f77578cc46aea 100644
|
| --- a/Source/bindings/v8/custom/V8PromiseCustom.cpp
|
| +++ b/Source/bindings/v8/custom/V8PromiseCustom.cpp
|
| @@ -136,7 +136,7 @@ void PromiseTask::performTask(ScriptExecutionContext* context)
|
| v8::Handle<v8::Context> v8Context = state->context();
|
| v8::Context::Scope scope(v8Context);
|
| v8::Handle<v8::Value> args[] = { m_result.newLocal(isolate) };
|
| - V8ScriptRunner::callFunction(m_callback.newLocal(isolate), context, m_receiver.newLocal(isolate), WTF_ARRAY_LENGTH(args), args);
|
| + V8ScriptRunner::callFunction(m_callback.newLocal(isolate), context, m_receiver.newLocal(isolate), WTF_ARRAY_LENGTH(args), args, isolate);
|
| };
|
|
|
| v8::Handle<v8::Value> postTask(v8::Handle<v8::Function> callback, v8::Handle<v8::Object> receiver, v8::Handle<v8::Value> value, v8::Isolate* isolate)
|
| @@ -164,7 +164,7 @@ void wrapperCallback(const v8::FunctionCallbackInfo<v8::Value>& args)
|
| result,
|
| };
|
| v8::TryCatch trycatch;
|
| - result = V8ScriptRunner::callFunction(callback, getScriptExecutionContext(), promise, WTF_ARRAY_LENGTH(argv), argv);
|
| + result = V8ScriptRunner::callFunction(callback, getScriptExecutionContext(), promise, WTF_ARRAY_LENGTH(argv), argv, isolate);
|
| if (result.IsEmpty()) {
|
| V8PromiseCustom::rejectResolver(resolver, trycatch.Exception(), V8PromiseCustom::Synchronous, isolate);
|
| return;
|
| @@ -304,7 +304,7 @@ void V8Promise::constructorCustom(const v8::FunctionCallbackInfo<v8::Value>& arg
|
| resolver,
|
| };
|
| v8::TryCatch trycatch;
|
| - if (V8ScriptRunner::callFunction(init, getScriptExecutionContext(), promise, WTF_ARRAY_LENGTH(argv), argv).IsEmpty()) {
|
| + if (V8ScriptRunner::callFunction(init, getScriptExecutionContext(), promise, WTF_ARRAY_LENGTH(argv), argv, isolate).IsEmpty()) {
|
| // An exception is thrown. Reject the promise if its resolved flag is unset.
|
| if (!V8PromiseCustom::isInternalDetached(resolver) && V8PromiseCustom::getState(V8PromiseCustom::getInternal(resolver)) == V8PromiseCustom::Pending)
|
| V8PromiseCustom::rejectResolver(resolver, trycatch.Exception(), V8PromiseCustom::Asynchronous, isolate);
|
| @@ -533,7 +533,7 @@ void V8PromiseCustom::resolveResolver(v8::Handle<v8::Object> resolver, v8::Handl
|
| createClosure(promiseResolveCallback, resolver),
|
| createClosure(promiseRejectCallback, resolver),
|
| };
|
| - if (V8ScriptRunner::callFunction(then.As<v8::Function>(), getScriptExecutionContext(), result.As<v8::Object>(), WTF_ARRAY_LENGTH(argv), argv).IsEmpty())
|
| + if (V8ScriptRunner::callFunction(then.As<v8::Function>(), getScriptExecutionContext(), result.As<v8::Object>(), WTF_ARRAY_LENGTH(argv), argv, isolate).IsEmpty())
|
| rejectResolver(resolver, trycatch.Exception(), mode, isolate);
|
| return;
|
| }
|
| @@ -637,7 +637,7 @@ void V8PromiseCustom::call(v8::Handle<v8::Function> function, v8::Handle<v8::Obj
|
| // If an exception is thrown, catch it and do nothing.
|
| v8::TryCatch trycatch;
|
| v8::Handle<v8::Value> args[] = { result };
|
| - V8ScriptRunner::callFunction(function, getScriptExecutionContext(), receiver, WTF_ARRAY_LENGTH(args), args);
|
| + V8ScriptRunner::callFunction(function, getScriptExecutionContext(), receiver, WTF_ARRAY_LENGTH(args), args, isolate);
|
| } else {
|
| ASSERT(mode == Asynchronous);
|
| postTask(function, receiver, result, isolate);
|
|
|