fix: webRequest.onBeforeSendHeaders not being able to modify reserved headers (#49226)

* fix: `webRequest.onBeforeSendHeaders` not being able to modify reserved headers

* chore: add unit test for reserved header
This commit is contained in:
Samuel Attard
2025-12-19 23:08:40 +13:00
committed by GitHub
parent 7433c14af5
commit 3df3a6a736
3 changed files with 41 additions and 4 deletions

View File

@@ -55,9 +55,9 @@ ProxyingURLLoaderFactory::InProgressRequest::InProgressRequest(
proxied_loader_receiver_(this, std::move(loader_receiver)),
target_client_(std::move(client)),
current_response_(network::mojom::URLResponseHead::New()),
// Always use "extraHeaders" mode to be compatible with old APIs, except
// when the |request_id_| is zero, which is not supported in Chromium and
// only happens in Electron when the request is started from net module.
// Always use "extraHeaders" mode to be compatible with old APIs.
// A non-zero request ID is required to use the TrustedHeaderClient path
// which allows webRequest to modify headers like Proxy-Authorization.
has_any_extra_headers_listeners_(network_service_request_id != 0) {
// If there is a client error, clean up the request.
target_client_.set_disconnect_handler(base::BindOnce(