Index: Source/modules/crypto/CryptoResultImpl.cpp |
diff --git a/Source/modules/crypto/CryptoResultImpl.cpp b/Source/modules/crypto/CryptoResultImpl.cpp |
index dc0b04082cf18c07b7d5437715b08167a377a7aa..995e5209d84209e71bfca9c7f7ed512191f184f1 100644 |
--- a/Source/modules/crypto/CryptoResultImpl.cpp |
+++ b/Source/modules/crypto/CryptoResultImpl.cpp |
@@ -62,9 +62,9 @@ static void rejectWithTypeError(const String& errorDetails, ScriptPromiseResolve |
class CryptoResultImpl::Resolver final : public ScriptPromiseResolver { |
public: |
- static PassRefPtr<ScriptPromiseResolver> create(ScriptState* scriptState, CryptoResultImpl* result) |
+ static PassRefPtrWillBeRawPtr<ScriptPromiseResolver> create(ScriptState* scriptState, CryptoResultImpl* result) |
{ |
- RefPtr<Resolver> resolver = adoptRef(new Resolver(scriptState, result)); |
+ RefPtrWillBeRawPtr<Resolver> resolver = adoptRefWillBeNoop(new Resolver(scriptState, result)); |
resolver->suspendIfNeeded(); |
resolver->keepAliveWhilePending(); |
return resolver.release(); |
@@ -78,6 +78,11 @@ public: |
ScriptPromiseResolver::stop(); |
} |
+ virtual void trace(Visitor* visitor) override |
+ { |
+ ScriptPromiseResolver::trace(visitor); |
+ } |
+ |
private: |
Resolver(ScriptState* scriptState, CryptoResultImpl* result) |
: ScriptPromiseResolver(scriptState) |
@@ -116,22 +121,23 @@ void CryptoResultImpl::clearResolver() |
m_resolver = nullptr; |
} |
-PassRefPtr<CryptoResultImpl> CryptoResultImpl::create(ScriptState* scriptState) |
+PassRefPtrWillBeRawPtr<CryptoResultImpl> CryptoResultImpl::create(ScriptState* scriptState) |
{ |
- return adoptRef(new CryptoResultImpl(scriptState)); |
+ return adoptRefWillBeNoop(new CryptoResultImpl(scriptState)); |
} |
void CryptoResultImpl::completeWithError(WebCryptoErrorType errorType, const WebString& errorDetails) |
{ |
if (m_resolver) { |
+ ScriptPromiseResolver* resolver = m_resolver; |
haraken
2014/12/16 13:52:45
This is unnecessary.
tasak
2014/12/17 08:40:08
Done.
|
ExceptionCode ec = webCryptoErrorToExceptionCode(errorType); |
// Handle TypeError separately, as it cannot be created using |
// DOMException. |
if (ec == V8TypeError) |
- rejectWithTypeError(errorDetails, m_resolver); |
+ rejectWithTypeError(errorDetails, resolver); |
else |
- m_resolver->reject(DOMException::create(ec, errorDetails)); |
+ resolver->reject(DOMException::create(ec, errorDetails)); |
} |
clearResolver(); |
} |