diff --git content/browser/storage_partition_impl.cc content/browser/storage_partition_impl.cc index c626801963af..9d05b869101b 100644 --- content/browser/storage_partition_impl.cc +++ content/browser/storage_partition_impl.cc @@ -583,10 +583,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; @@ -643,12 +639,6 @@ void OnAuthRequiredContinuation( web_contents_getter = base::BindRepeating(GetWebContents, process_id, routing_id); } - if (!web_contents_getter.Run()) { - mojo::Remote - auth_challenge_responder_remote(std::move(auth_challenge_responder)); - auth_challenge_responder_remote->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 1ab5688d10d6..7e8d8242a06f 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::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 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 255cb1830c5c..bd89d66d2520 100644 --- services/network/public/cpp/simple_url_loader.h +++ services/network/public/cpp/simple_url_loader.h @@ -327,6 +327,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;