mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			98 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| diff --git content/browser/storage_partition_impl.cc content/browser/storage_partition_impl.cc
 | |
| index c05ce85a2327..2a9124db10a4 100644
 | |
| --- content/browser/storage_partition_impl.cc
 | |
| +++ content/browser/storage_partition_impl.cc
 | |
| @@ -581,10 +581,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;
 | |
| @@ -641,12 +637,6 @@ void OnAuthRequiredContinuation(
 | |
|      web_contents_getter =
 | |
|          base::BindRepeating(GetWebContents, process_id, routing_id);
 | |
|    }
 | |
| -  if (!web_contents_getter.Run()) {
 | |
| -    mojo::Remote<network::mojom::AuthChallengeResponder>
 | |
| -        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,
 | |
| @@ -2267,7 +2257,10 @@ void StoragePartitionImpl::GetQuotaSettings(
 | |
|  void StoragePartitionImpl::InitNetworkContext() {
 | |
|    network_context_ = GetContentClient()->browser()->CreateNetworkContext(
 | |
|        browser_context_, is_in_memory_, relative_partition_path_);
 | |
| -  DCHECK(network_context_);
 | |
| +  if (!network_context_) {
 | |
| +    // May happen during shutdown.
 | |
| +    return;
 | |
| +  }
 | |
|  
 | |
|    network_context_client_receiver_.reset();
 | |
|    network_context_->SetClient(
 | |
| diff --git services/network/public/cpp/simple_url_loader.cc services/network/public/cpp/simple_url_loader.cc
 | |
| index f73b5b6fdc3d..14403d2e468c 100644
 | |
| --- services/network/public/cpp/simple_url_loader.cc
 | |
| +++ services/network/public/cpp/simple_url_loader.cc
 | |
| @@ -230,6 +230,7 @@ class SimpleURLLoaderImpl : public SimpleURLLoader,
 | |
|    void SetRetryOptions(int max_retries, int retry_mode) override;
 | |
|    void SetURLLoaderFactoryOptions(uint32_t options) override;
 | |
|    void SetTimeoutDuration(base::TimeDelta timeout_duration) override;
 | |
| +  void SetRequestId(int32_t request_id) override;
 | |
|  
 | |
|    int NetError() const override;
 | |
|    const mojom::URLResponseHead* ResponseInfo() const override;
 | |
| @@ -348,6 +349,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_;
 | |
| @@ -1371,6 +1374,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);
 | |
| @@ -1516,7 +1525,7 @@ void SimpleURLLoaderImpl::StartRequest(
 | |
|    }
 | |
|    url_loader_factory->CreateLoaderAndStart(
 | |
|        url_loader_.BindNewPipeAndPassReceiver(), 0 /* routing_id */,
 | |
| -      0 /* request_id */, url_loader_factory_options_, *resource_request_,
 | |
| +      request_id_, url_loader_factory_options_, *resource_request_,
 | |
|        client_receiver_.BindNewPipeAndPassRemote(),
 | |
|        net::MutableNetworkTrafficAnnotationTag(annotation_tag_));
 | |
|    client_receiver_.set_disconnect_handler(base::BindOnce(
 | |
| diff --git services/network/public/cpp/simple_url_loader.h services/network/public/cpp/simple_url_loader.h
 | |
| index 5a0df57c4444..5ee2bef53374 100644
 | |
| --- services/network/public/cpp/simple_url_loader.h
 | |
| +++ services/network/public/cpp/simple_url_loader.h
 | |
| @@ -332,6 +332,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;
 |