Index: Source/modules/crypto/CryptoResultImpl.h |
diff --git a/Source/modules/crypto/CryptoResultImpl.h b/Source/modules/crypto/CryptoResultImpl.h |
index b6cb6e90126c8290fdfbbd3a2172afc230868247..4517484e5548bfceb5d6a50c4b9fa09aa6d27a2b 100644 |
--- a/Source/modules/crypto/CryptoResultImpl.h |
+++ b/Source/modules/crypto/CryptoResultImpl.h |
@@ -55,9 +55,9 @@ MODULES_EXPORT ExceptionCode webCryptoErrorToExceptionCode(WebCryptoErrorType); |
// m_resolver will be leaked until the ExecutionContext is destroyed. |
class CryptoResultImpl final : public CryptoResult { |
public: |
- ~CryptoResultImpl(); |
+ static CryptoResultImpl* create(ScriptState*); |
- static PassRefPtrWillBeRawPtr<CryptoResultImpl> create(ScriptState*); |
+ ~CryptoResultImpl(); |
void completeWithError(WebCryptoErrorType, const WebString&) override; |
void completeWithBuffer(const void* bytes, unsigned bytesSize) override; |
@@ -71,6 +71,8 @@ public: |
// ScriptPromise. |
ScriptPromise promise(); |
+ DECLARE_VIRTUAL_TRACE(); |
+ |
private: |
class Resolver; |
explicit CryptoResultImpl(ScriptState*); |
@@ -78,9 +80,7 @@ private: |
void clearResolver(); |
void cancel(); |
- // FIXME: ScriptPromiseResolver should not be exported. |
- // Instead, use ScriptPromise. |
- ScriptPromiseResolver* m_resolver; |
+ Member<Resolver> m_resolver; |
volatile int m_cancelled; |
}; |