summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/modules/crypto/crypto_result_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/modules/crypto/crypto_result_impl.cc')
-rw-r--r--chromium/third_party/blink/renderer/modules/crypto/crypto_result_impl.cc23
1 files changed, 6 insertions, 17 deletions
diff --git a/chromium/third_party/blink/renderer/modules/crypto/crypto_result_impl.cc b/chromium/third_party/blink/renderer/modules/crypto/crypto_result_impl.cc
index 91e9cb555e8..5252b6db429 100644
--- a/chromium/third_party/blink/renderer/modules/crypto/crypto_result_impl.cc
+++ b/chromium/third_party/blink/renderer/modules/crypto/crypto_result_impl.cc
@@ -65,12 +65,14 @@ class CryptoResultImpl::Resolver final : public ScriptPromiseResolver {
public:
static Resolver* Create(ScriptState* script_state, CryptoResultImpl* result) {
DCHECK(script_state->ContextIsValid());
- Resolver* resolver = new Resolver(script_state, result);
- resolver->PauseIfNeeded();
+ Resolver* resolver = MakeGarbageCollected<Resolver>(script_state, result);
resolver->KeepAliveWhilePending();
return resolver;
}
+ Resolver(ScriptState* script_state, CryptoResultImpl* result)
+ : ScriptPromiseResolver(script_state), result_(result) {}
+
void ContextDestroyed(ExecutionContext* destroyed_context) override {
result_->Cancel();
result_ = nullptr;
@@ -83,22 +85,9 @@ class CryptoResultImpl::Resolver final : public ScriptPromiseResolver {
}
private:
- Resolver(ScriptState* script_state, CryptoResultImpl* result)
- : ScriptPromiseResolver(script_state), result_(result) {}
-
Member<CryptoResultImpl> result_;
};
-CryptoResultImpl::ResultCancel::ResultCancel() : cancelled_(0) {}
-
-bool CryptoResultImpl::ResultCancel::Cancelled() const {
- return AcquireLoad(&cancelled_);
-}
-
-void CryptoResultImpl::ResultCancel::Cancel() {
- ReleaseStore(&cancelled_, 1);
-}
-
ExceptionCode WebCryptoErrorToExceptionCode(WebCryptoErrorType error_type) {
switch (error_type) {
case kWebCryptoErrorTypeNotSupported:
@@ -121,7 +110,7 @@ ExceptionCode WebCryptoErrorToExceptionCode(WebCryptoErrorType error_type) {
CryptoResultImpl::CryptoResultImpl(ScriptState* script_state)
: resolver_(Resolver::Create(script_state, this)),
- cancel_(ResultCancel::Create()) {
+ cancel_(base::MakeRefCounted<CryptoResultCancel>()) {
// Sync cancellation state.
if (ExecutionContext::From(script_state)->IsContextDestroyed())
cancel_->Cancel();
@@ -141,7 +130,7 @@ void CryptoResultImpl::ClearResolver() {
}
CryptoResultImpl* CryptoResultImpl::Create(ScriptState* script_state) {
- return new CryptoResultImpl(script_state);
+ return MakeGarbageCollected<CryptoResultImpl>(script_state);
}
void CryptoResultImpl::CompleteWithError(WebCryptoErrorType error_type,