Fix dcheck on blink::ScriptPromiseResolverBase::Dispose()
This commit is contained in:
@@ -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<v8::Value> 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");
|
||||
|
||||
Reference in New Issue
Block a user