diff --git a/browser/net/brave_proxying_url_loader_factory.cc b/browser/net/brave_proxying_url_loader_factory.cc index 4ab2943a62d..497ff71465b 100644 --- a/browser/net/brave_proxying_url_loader_factory.cc +++ b/browser/net/brave_proxying_url_loader_factory.cc @@ -221,9 +221,11 @@ void BraveProxyingURLLoaderFactory::InProgressRequest::OnReceiveEarlyHints( void BraveProxyingURLLoaderFactory::InProgressRequest::OnReceiveResponse( network::mojom::URLResponseHeadPtr head, - mojo::ScopedDataPipeConsumerHandle body) { + mojo::ScopedDataPipeConsumerHandle body, + absl::optional cached_metadata) { current_response_head_ = std::move(head); current_response_body_ = std::move(body); + cached_metadata_ = std::move(cached_metadata); ctx_->internal_redirect = false; HandleResponseOrRedirectHeaders( base::BindRepeating(&InProgressRequest::ContinueToResponseStarted, @@ -249,11 +251,6 @@ void BraveProxyingURLLoaderFactory::InProgressRequest::OnUploadProgress( std::move(callback)); } -void BraveProxyingURLLoaderFactory::InProgressRequest::OnReceiveCachedMetadata( - mojo_base::BigBuffer data) { - target_client_->OnReceiveCachedMetadata(std::move(data)); -} - void BraveProxyingURLLoaderFactory::InProgressRequest::OnTransferSizeUpdated( int32_t transfer_size_diff) { target_client_->OnTransferSizeUpdated(transfer_size_diff); @@ -367,7 +364,8 @@ void BraveProxyingURLLoaderFactory::InProgressRequest:: } // Craft the response. - target_client_->OnReceiveResponse(std::move(response), std::move(consumer)); + target_client_->OnReceiveResponse(std::move(response), std::move(consumer), + std::move(cached_metadata_)); auto write_data = std::make_unique(); write_data->client = weak_factory_.GetWeakPtr(); @@ -527,7 +525,8 @@ void BraveProxyingURLLoaderFactory::InProgressRequest:: proxied_client_receiver_.Resume(); target_client_->OnReceiveResponse(std::move(current_response_head_), - std::move(current_response_body_)); + std::move(current_response_body_), + std::move(cached_metadata_)); } void BraveProxyingURLLoaderFactory::InProgressRequest::ContinueToBeforeRedirect( diff --git a/browser/net/brave_proxying_url_loader_factory.h b/browser/net/brave_proxying_url_loader_factory.h index 35e8b9d6da2..ecae516560c 100644 --- a/browser/net/brave_proxying_url_loader_factory.h +++ b/browser/net/brave_proxying_url_loader_factory.h @@ -85,15 +85,16 @@ class BraveProxyingURLLoaderFactory // network::mojom::URLLoaderClient: void OnReceiveEarlyHints( network::mojom::EarlyHintsPtr early_hints) override; - void OnReceiveResponse(network::mojom::URLResponseHeadPtr response_head, - mojo::ScopedDataPipeConsumerHandle body) override; + void OnReceiveResponse( + network::mojom::URLResponseHeadPtr response_head, + mojo::ScopedDataPipeConsumerHandle body, + absl::optional cached_metadata) override; void OnReceiveRedirect( const net::RedirectInfo& redirect_info, network::mojom::URLResponseHeadPtr response_head) override; void OnUploadProgress(int64_t current_position, int64_t total_size, OnUploadProgressCallback callback) override; - void OnReceiveCachedMetadata(mojo_base::BigBuffer data) override; void OnTransferSizeUpdated(int32_t transfer_size_diff) override; void OnComplete(const network::URLLoaderCompletionStatus& status) override; @@ -147,6 +148,7 @@ class BraveProxyingURLLoaderFactory // ExtensionWebRequestEventRouter) through much of the request's lifetime. // That code supports both Network Service and non-Network Service behavior, // which is why this weirdness exists here. + absl::optional cached_metadata_; network::mojom::URLResponseHeadPtr current_response_head_; mojo::ScopedDataPipeConsumerHandle current_response_body_; scoped_refptr override_headers_; diff --git a/chromium_src/chrome/browser/ui/views/location_bar/location_bar_view_browsertest.cc b/chromium_src/chrome/browser/ui/views/location_bar/location_bar_view_browsertest.cc index 547c6e15509..ad4fdf7e1eb 100644 --- a/chromium_src/chrome/browser/ui/views/location_bar/location_bar_view_browsertest.cc +++ b/chromium_src/chrome/browser/ui/views/location_bar/location_bar_view_browsertest.cc @@ -77,7 +77,8 @@ class SecurityIndicatorTest mojo::CreateDataPipe(nullptr, producer_handle, consumer_handle); params->client->OnReceiveResponse(std::move(resource_response), - std::move(consumer_handle)); + std::move(consumer_handle), + absl::nullopt); network::URLLoaderCompletionStatus completion_status; completion_status.ssl_info = ssl_info; diff --git a/components/body_sniffer/body_sniffer_url_loader.cc b/components/body_sniffer/body_sniffer_url_loader.cc index 92ea7a70742..762d8e5e3fd 100644 --- a/components/body_sniffer/body_sniffer_url_loader.cc +++ b/components/body_sniffer/body_sniffer_url_loader.cc @@ -66,7 +66,8 @@ void BodySnifferURLLoader::OnReceiveEarlyHints( void BodySnifferURLLoader::OnReceiveResponse( network::mojom::URLResponseHeadPtr response_head, - mojo::ScopedDataPipeConsumerHandle body) { + mojo::ScopedDataPipeConsumerHandle body, + absl::optional cached_metadata) { // OnReceiveResponse() shouldn't be called because BodySnifferURLLoader is // created by WillProcessResponse(), which is equivalent // to OnReceiveResponse(). @@ -90,10 +91,6 @@ void BodySnifferURLLoader::OnUploadProgress( std::move(ack_callback)); } -void BodySnifferURLLoader::OnReceiveCachedMetadata(mojo_base::BigBuffer data) { - destination_url_loader_client_->OnReceiveCachedMetadata(std::move(data)); -} - void BodySnifferURLLoader::OnTransferSizeUpdated(int32_t transfer_size_diff) { destination_url_loader_client_->OnTransferSizeUpdated(transfer_size_diff); } diff --git a/components/body_sniffer/body_sniffer_url_loader.h b/components/body_sniffer/body_sniffer_url_loader.h index b984a4e342d..a0756efd2fe 100644 --- a/components/body_sniffer/body_sniffer_url_loader.h +++ b/components/body_sniffer/body_sniffer_url_loader.h @@ -68,15 +68,16 @@ class BodySnifferURLLoader : public network::mojom::URLLoaderClient, // network::mojom::URLLoaderClient implementation (called from the source of // the response): void OnReceiveEarlyHints(network::mojom::EarlyHintsPtr early_hints) override; - void OnReceiveResponse(network::mojom::URLResponseHeadPtr response_head, - mojo::ScopedDataPipeConsumerHandle body) override; + void OnReceiveResponse( + network::mojom::URLResponseHeadPtr response_head, + mojo::ScopedDataPipeConsumerHandle body, + absl::optional cached_metadata) override; void OnReceiveRedirect( const net::RedirectInfo& redirect_info, network::mojom::URLResponseHeadPtr response_head) override; void OnUploadProgress(int64_t current_position, int64_t total_size, OnUploadProgressCallback ack_callback) override; - void OnReceiveCachedMetadata(mojo_base::BigBuffer data) override; void OnTransferSizeUpdated(int32_t transfer_size_diff) override; void OnComplete(const network::URLLoaderCompletionStatus& status) override;