Index: Source/bindings/v8/ScriptPromiseResolver.cpp |
diff --git a/Source/bindings/v8/ScriptPromiseResolver.cpp b/Source/bindings/v8/ScriptPromiseResolver.cpp |
index 7ace64cd0fae27c1e8fb6549c087091cf7611494..c557d04d41269d93d33be5a738b6c3c9c257c9c3 100644 |
--- a/Source/bindings/v8/ScriptPromiseResolver.cpp |
+++ b/Source/bindings/v8/ScriptPromiseResolver.cpp |
@@ -41,29 +41,15 @@ |
namespace WebCore { |
-ScriptPromiseResolver::ScriptPromiseResolver(ExecutionContext* context) |
- : m_isolate(toIsolate(context)) |
+ScriptPromiseResolver::ScriptPromiseResolver(ScriptState* scriptState) |
+ : m_scriptState(scriptState) |
{ |
- ASSERT(context); |
- v8::Isolate* isolate = toIsolate(context); |
- ASSERT(isolate->InContext()); |
+ v8::Isolate* isolate = m_scriptState->isolate(); |
+ ASSERT(!m_scriptState->contextIsEmpty()); |
yhirano
2014/05/09 06:24:57
Please keep the InContext assertion.
haraken
2014/05/09 07:37:25
Done.
|
if (RuntimeEnabledFeatures::scriptPromiseOnV8PromiseEnabled()) { |
- m_resolver = ScriptValue(v8::Promise::Resolver::New(isolate), isolate); |
+ m_resolver = ScriptValue(scriptState, v8::Promise::Resolver::New(isolate)); |
} else { |
- v8::Handle<v8::Context> v8Context = toV8Context(context, DOMWrapperWorld::current(isolate)); |
- v8::Handle<v8::Object> creationContext = v8Context.IsEmpty() ? v8::Object::New(isolate) : v8Context->Global(); |
- m_promise = ScriptPromise(V8PromiseCustom::createPromise(creationContext, isolate), isolate); |
- } |
-} |
- |
-ScriptPromiseResolver::ScriptPromiseResolver(v8::Isolate* isolate) |
- : m_isolate(isolate) |
-{ |
- ASSERT(isolate->InContext()); |
- if (RuntimeEnabledFeatures::scriptPromiseOnV8PromiseEnabled()) { |
- m_resolver = ScriptValue(v8::Promise::Resolver::New(isolate), isolate); |
- } else { |
- m_promise = ScriptPromise(V8PromiseCustom::createPromise(v8::Object::New(isolate), isolate), isolate); |
+ m_promise = ScriptPromise(scriptState, V8PromiseCustom::createPromise(m_scriptState->context()->Global(), isolate)); |
} |
} |
@@ -78,36 +64,29 @@ ScriptPromiseResolver::~ScriptPromiseResolver() |
ScriptPromise ScriptPromiseResolver::promise() |
{ |
- ASSERT(m_isolate->InContext()); |
+ ASSERT(!m_scriptState->contextIsEmpty()); |
yhirano
2014/05/09 06:24:57
ditto
haraken
2014/05/09 07:37:25
Done.
haraken
2014/05/09 07:37:25
Done.
|
if (!m_resolver.isEmpty()) { |
v8::Local<v8::Promise::Resolver> v8Resolver = m_resolver.v8Value().As<v8::Promise::Resolver>(); |
- return ScriptPromise(v8Resolver->GetPromise(), m_isolate); |
+ return ScriptPromise(m_scriptState.get(), v8Resolver->GetPromise()); |
} |
return m_promise; |
} |
-PassRefPtr<ScriptPromiseResolver> ScriptPromiseResolver::create(ExecutionContext* context) |
-{ |
- ASSERT(context); |
- ASSERT(toIsolate(context)->InContext()); |
- return adoptRef(new ScriptPromiseResolver(context)); |
-} |
- |
-PassRefPtr<ScriptPromiseResolver> ScriptPromiseResolver::create(v8::Isolate* isolate) |
+PassRefPtr<ScriptPromiseResolver> ScriptPromiseResolver::create(ScriptState* scriptState) |
{ |
- ASSERT(isolate->InContext()); |
- return adoptRef(new ScriptPromiseResolver(isolate)); |
+ ASSERT(scriptState->isolate()->InContext()); |
+ return adoptRef(new ScriptPromiseResolver(scriptState)); |
} |
void ScriptPromiseResolver::resolve(v8::Handle<v8::Value> value) |
{ |
- ASSERT(m_isolate->InContext()); |
+ ASSERT(m_scriptState->isolate()->InContext()); |
if (!m_resolver.isEmpty()) { |
m_resolver.v8Value().As<v8::Promise::Resolver>()->Resolve(value); |
} else if (!m_promise.isEmpty()) { |
v8::Local<v8::Object> promise = m_promise.v8Value().As<v8::Object>(); |
- ASSERT(V8PromiseCustom::isPromise(promise, m_isolate)); |
- V8PromiseCustom::resolve(promise, value, m_isolate); |
+ ASSERT(V8PromiseCustom::isPromise(promise, m_scriptState->isolate())); |
+ V8PromiseCustom::resolve(promise, value, m_scriptState->isolate()); |
} |
m_promise.clear(); |
m_resolver.clear(); |
@@ -115,13 +94,13 @@ void ScriptPromiseResolver::resolve(v8::Handle<v8::Value> value) |
void ScriptPromiseResolver::reject(v8::Handle<v8::Value> value) |
{ |
- ASSERT(m_isolate->InContext()); |
+ ASSERT(m_scriptState->isolate()->InContext()); |
if (!m_resolver.isEmpty()) { |
m_resolver.v8Value().As<v8::Promise::Resolver>()->Reject(value); |
} else if (!m_promise.isEmpty()) { |
v8::Local<v8::Object> promise = m_promise.v8Value().As<v8::Object>(); |
- ASSERT(V8PromiseCustom::isPromise(promise, m_isolate)); |
- V8PromiseCustom::reject(promise, value, m_isolate); |
+ ASSERT(V8PromiseCustom::isPromise(promise, m_scriptState->isolate())); |
+ V8PromiseCustom::reject(promise, value, m_scriptState->isolate()); |
} |
m_promise.clear(); |
m_resolver.clear(); |