diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.cc | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/chromium/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.cc b/chromium/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.cc index 835b86b9c93..eaadad2287b 100644 --- a/chromium/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.cc +++ b/chromium/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.cc @@ -17,7 +17,7 @@ namespace blink { ScriptPromiseResolver::ScriptPromiseResolver(ScriptState* script_state) - : ContextLifecycleObserver(ExecutionContext::From(script_state)), + : ExecutionContextLifecycleObserver(ExecutionContext::From(script_state)), state_(kPending), script_state_(script_state), resolver_(script_state), @@ -41,7 +41,7 @@ void ScriptPromiseResolver::Dispose() { state_ == kDetached || !is_promise_called_ || !GetScriptState()->ContextIsValid() || !GetExecutionContext() || GetExecutionContext()->IsContextDestroyed(); - if (!is_properly_detached) { + if (!is_properly_detached && !suppress_detach_check_) { // This is here to make it easier to track down which promise resolvers are // being abandoned. See https://crbug.com/873980. static crash_reporter::CrashKeyString<1024> trace_key( @@ -54,8 +54,6 @@ void ScriptPromiseResolver::Dispose() { } #endif deferred_resolve_task_.Cancel(); - resolver_.Clear(); - value_.Clear(); } void ScriptPromiseResolver::Reject(ExceptionState& exception_state) { @@ -118,11 +116,11 @@ void ScriptPromiseResolver::ResolveOrRejectDeferred() { ResolveOrRejectImmediately(); } -void ScriptPromiseResolver::Trace(blink::Visitor* visitor) { +void ScriptPromiseResolver::Trace(Visitor* visitor) { visitor->Trace(script_state_); visitor->Trace(resolver_); visitor->Trace(value_); - ContextLifecycleObserver::Trace(visitor); + ExecutionContextLifecycleObserver::Trace(visitor); } } // namespace blink |