From decf2121e6c77411d34cc4c885e0b4789bc1528a Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Wed, 22 May 2024 16:33:55 +0200 Subject: [PATCH] Fix dcheck on blink::ScriptPromiseResolverBase::Dispose() --- build/patches/Keep-disabled-FetchLaterAPI.patch | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/build/patches/Keep-disabled-FetchLaterAPI.patch b/build/patches/Keep-disabled-FetchLaterAPI.patch index ecf038d3..812fd858 100644 --- a/build/patches/Keep-disabled-FetchLaterAPI.patch +++ b/build/patches/Keep-disabled-FetchLaterAPI.patch @@ -12,11 +12,11 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../browser/loader/keep_alive_url_loader.cc | 33 +++++++++++++++++-- .../browser/loader/keep_alive_url_loader.h | 3 -- .../Keep-disabled-FetchLaterAPI.inc | 2 ++ - .../renderer/core/fetch/fetch_manager.cc | 8 +++-- + .../renderer/core/fetch/fetch_manager.cc | 12 +++++-- .../loader/child_url_loader_factory_bundle.cc | 14 ++++---- .../platform/loader/fetch/resource_fetcher.cc | 2 +- .../platform/runtime_enabled_features.json5 | 5 ++- - 7 files changed, 50 insertions(+), 17 deletions(-) + 7 files changed, 54 insertions(+), 17 deletions(-) create mode 100644 cromite_flags/third_party/blink/common/features_cc/Keep-disabled-FetchLaterAPI.inc diff --git a/content/browser/loader/keep_alive_url_loader.cc b/content/browser/loader/keep_alive_url_loader.cc @@ -99,24 +99,28 @@ new file mode 100644 diff --git a/third_party/blink/renderer/core/fetch/fetch_manager.cc b/third_party/blink/renderer/core/fetch/fetch_manager.cc --- a/third_party/blink/renderer/core/fetch/fetch_manager.cc +++ b/third_party/blink/renderer/core/fetch/fetch_manager.cc -@@ -1176,7 +1176,9 @@ void FetchManager::Loader::Failed( +@@ -1176,7 +1176,11 @@ void FetchManager::Loader::Failed( if (resolver_) { ScriptState::Scope scope(GetScriptState()); if (dom_exception) { - resolver_->Reject(dom_exception); + if (!GetFetchRequestData()->Keepalive()) { + resolver_->Reject(dom_exception); ++ } else { ++ resolver_->Detach(); + } } else { v8::Local value = exception_.Get(GetScriptState()->GetIsolate()); -@@ -1196,7 +1198,9 @@ void FetchManager::Loader::Failed( +@@ -1196,7 +1200,11 @@ void FetchManager::Loader::Failed( V8String(GetScriptState()->GetIsolate(), IdentifiersFactory::IdFromToken(*issue_id))); } - resolver_->Reject(value); + if (!GetFetchRequestData()->Keepalive()) { + resolver_->Reject(value);; ++ } else { ++ resolver_->Detach(); + } SendHistogram(FetchManagerLoaderCheckPoint::kFailed); LogIfKeepalive("Failed");