cef/patch/patches/services_network_request_id_2718.patch
Alexander Guettler 46d3a81ba0 Update to Chromium version 77.0.3865.0 (#681094)
- Windows: SDK version 10.0.18362.0 is now required.
2019-09-04 15:13:32 +00:00

85 lines
3.7 KiB
Diff

diff --git content/browser/network_service_client.cc content/browser/network_service_client.cc
index b89e764feb03..0bb056852db2 100644
--- content/browser/network_service_client.cc
+++ content/browser/network_service_client.cc
@@ -207,10 +207,6 @@ class LoginHandlerDelegate {
}
WebContents* web_contents = web_contents_getter_.Run();
- if (!web_contents) {
- OnAuthCredentials(base::nullopt);
- return;
- }
// WeakPtr is not strictly necessary here due to OnRequestCancelled.
creating_login_delegate_ = true;
@@ -332,10 +328,7 @@ void OnAuthRequiredContinuation(
web_contents_getter =
base::BindRepeating(GetWebContents, process_id, routing_id);
}
- if (!web_contents_getter.Run()) {
- std::move(auth_challenge_responder)->OnAuthCredentials(base::nullopt);
- return;
- }
+
new LoginHandlerDelegate(std::move(auth_challenge_responder),
std::move(web_contents_getter), auth_info,
is_request_for_main_frame, process_id, routing_id,
diff --git services/network/public/cpp/simple_url_loader.cc services/network/public/cpp/simple_url_loader.cc
index b575b0bb3a35..a04e74d5896f 100644
--- services/network/public/cpp/simple_url_loader.cc
+++ services/network/public/cpp/simple_url_loader.cc
@@ -227,6 +227,7 @@ class SimpleURLLoaderImpl : public SimpleURLLoader,
uint64_t length = std::numeric_limits<uint64_t>::max()) override;
void SetRetryOptions(int max_retries, int retry_mode) override;
void SetTimeoutDuration(base::TimeDelta timeout_duration) override;
+ void SetRequestId(int32_t request_id) override;
int NetError() const override;
const ResourceResponseHead* ResponseInfo() const override;
@@ -344,6 +345,8 @@ class SimpleURLLoaderImpl : public SimpleURLLoader,
// The next values contain all the information required to restart the
// request.
+ int32_t request_id_ = 0;
+
// Populated in the constructor, and cleared once no longer needed, when no
// more retries are possible.
std::unique_ptr<ResourceRequest> resource_request_;
@@ -1363,6 +1366,12 @@ void SimpleURLLoaderImpl::SetTimeoutDuration(base::TimeDelta timeout_duration) {
timeout_duration_ = timeout_duration;
}
+void SimpleURLLoaderImpl::SetRequestId(int32_t request_id) {
+ // Check if a request has not yet been started.
+ DCHECK(!body_handler_);
+ request_id_ = request_id;
+}
+
int SimpleURLLoaderImpl::NetError() const {
// Should only be called once the request is compelete.
DCHECK(request_state_->finished);
@@ -1511,7 +1520,7 @@ void SimpleURLLoaderImpl::StartRequest(
string_upload_data_pipe_getter_->GetPtrForNewUpload());
}
url_loader_factory->CreateLoaderAndStart(
- mojo::MakeRequest(&url_loader_), 0 /* routing_id */, 0 /* request_id */,
+ mojo::MakeRequest(&url_loader_), 0 /* routing_id */, request_id_,
0 /* options */, *resource_request_, std::move(client_ptr),
net::MutableNetworkTrafficAnnotationTag(annotation_tag_));
diff --git services/network/public/cpp/simple_url_loader.h services/network/public/cpp/simple_url_loader.h
index f81788d25fda..ba8948be5ebf 100644
--- services/network/public/cpp/simple_url_loader.h
+++ services/network/public/cpp/simple_url_loader.h
@@ -324,6 +324,9 @@ class COMPONENT_EXPORT(NETWORK_CPP) SimpleURLLoader {
// as much time as it wants.
virtual void SetTimeoutDuration(base::TimeDelta timeout_duration) = 0;
+ // Set the ID that will be associated with the request.
+ virtual void SetRequestId(int32_t request_id) = 0;
+
// Returns the net::Error representing the final status of the request. May
// only be called once the loader has informed the caller of completion.
virtual int NetError() const = 0;