Chromium Code Reviews| Index: Source/modules/crypto/CryptoResultImpl.cpp |
| diff --git a/Source/modules/crypto/CryptoResultImpl.cpp b/Source/modules/crypto/CryptoResultImpl.cpp |
| index 5e9649c32f78c958d41ac603772175f492ae1b70..004d1ce588663e0cf1e49d7b7fa561cbe4a78cb1 100644 |
| --- a/Source/modules/crypto/CryptoResultImpl.cpp |
| +++ b/Source/modules/crypto/CryptoResultImpl.cpp |
| @@ -31,7 +31,8 @@ |
| #include "config.h" |
| #include "modules/crypto/CryptoResultImpl.h" |
| -#include "bindings/v8/ScriptPromiseResolver.h" |
| +#include "bindings/v8/NewScriptState.h" |
| +#include "bindings/v8/ScriptPromiseResolverWithContext.h" |
| #include "core/dom/ExecutionContext.h" |
| #include "modules/crypto/Key.h" |
| #include "modules/crypto/KeyPair.h" |
| @@ -57,12 +58,11 @@ void CryptoResultImpl::completeWithError(const blink::WebString& errorDetails) |
| ASSERT(!m_finished); |
| if (canCompletePromise()) { |
| - NewScriptState::Scope scope(m_scriptState.get()); |
|
eroman
2014/04/16 17:35:05
Does the call to:
execuctionContext()->addCons
yhirano
2014/04/17 01:51:25
AFAIK addConsoleMessage doesn't require to be in a
yurys
2014/04/17 09:27:13
Correct, addConsoleMessage doesn't require V8 to b
|
| if (!errorDetails.isEmpty()) { |
| // FIXME: Include the line number which started the crypto operation. |
| executionContext()->addConsoleMessage(JSMessageSource, ErrorMessageLevel, errorDetails); |
| } |
| - m_promiseResolver->reject(ScriptValue::createNull()); |
| + m_promiseResolver->reject(ScriptPromiseResolverWithContext::null()); |
| } |
| } |
| @@ -76,7 +76,6 @@ void CryptoResultImpl::completeWithBuffer(const blink::WebArrayBuffer& buffer) |
| ASSERT(!m_finished); |
| if (canCompletePromise()) { |
| - NewScriptState::Scope scope(m_scriptState.get()); |
| m_promiseResolver->resolve(PassRefPtr<ArrayBuffer>(buffer)); |
| } |
| @@ -88,8 +87,7 @@ void CryptoResultImpl::completeWithBoolean(bool b) |
| ASSERT(!m_finished); |
| if (canCompletePromise()) { |
| - NewScriptState::Scope scope(m_scriptState.get()); |
| - m_promiseResolver->resolve(ScriptValue::createBoolean(b)); |
| + m_promiseResolver->resolve(ScriptPromiseResolverWithContext::Boolean(b)); |
| } |
| finish(); |
| @@ -100,7 +98,6 @@ void CryptoResultImpl::completeWithKey(const blink::WebCryptoKey& key) |
| ASSERT(!m_finished); |
| if (canCompletePromise()) { |
| - NewScriptState::Scope scope(m_scriptState.get()); |
| m_promiseResolver->resolve(Key::create(key)); |
|
eroman
2014/04/16 17:35:05
If we remove canCompletePromise(), would it be saf
yhirano
2014/04/17 01:51:25
The ScriptWrappable constructor and ScriptWrappabl
|
| } |
| @@ -112,7 +109,6 @@ void CryptoResultImpl::completeWithKeyPair(const blink::WebCryptoKey& publicKey, |
| ASSERT(!m_finished); |
| if (canCompletePromise()) { |
| - NewScriptState::Scope scope(m_scriptState.get()); |
| m_promiseResolver->resolve(KeyPair::create(publicKey, privateKey)); |
| } |
| @@ -121,8 +117,7 @@ void CryptoResultImpl::completeWithKeyPair(const blink::WebCryptoKey& publicKey, |
| CryptoResultImpl::CryptoResultImpl(ExecutionContext* context) |
| : ContextLifecycleObserver(context) |
| - , m_promiseResolver(ScriptPromiseResolver::create(context)) |
| - , m_scriptState(NewScriptState::current(toIsolate(context))) |
| + , m_promiseResolver(ScriptPromiseResolverWithContext::create(NewScriptState::current(toIsolate(context)))) |
| #if !ASSERT_DISABLED |
| , m_owningThread(currentThread()) |
| , m_finished(false) |
| @@ -141,7 +136,6 @@ void CryptoResultImpl::finish() |
| void CryptoResultImpl::clearPromiseResolver() |
| { |
| m_promiseResolver.clear(); |
| - m_scriptState.clear(); |
| } |
| void CryptoResultImpl::CheckValidThread() const |