diff --git a/shell/browser/api/electron_api_utility_process.cc b/shell/browser/api/electron_api_utility_process.cc index 2fa5bb1750..8a7b07bcbd 100644 --- a/shell/browser/api/electron_api_utility_process.cc +++ b/shell/browser/api/electron_api_utility_process.cc @@ -19,6 +19,7 @@ #include "content/public/common/result_codes.h" #include "gin/object_template_builder.h" #include "mojo/public/cpp/bindings/pending_receiver.h" +#include "services/network/public/cpp/originating_process.h" #include "shell/browser/api/message_port.h" #include "shell/browser/browser.h" #include "shell/browser/javascript_environment.h" @@ -212,7 +213,7 @@ UtilityProcessWrapper::UtilityProcessWrapper( mojo::PendingRemote url_loader_factory; network::mojom::URLLoaderFactoryParamsPtr loader_params = network::mojom::URLLoaderFactoryParams::New(); - loader_params->process_id = pid_; + loader_params->process_id = network::OriginatingProcess::browser(); loader_params->is_orb_enabled = false; loader_params->is_trusted = true; if (create_network_observer) { diff --git a/shell/browser/electron_browser_client.cc b/shell/browser/electron_browser_client.cc index 9fea5d0e06..61450497ca 100644 --- a/shell/browser/electron_browser_client.cc +++ b/shell/browser/electron_browser_client.cc @@ -67,6 +67,7 @@ #include "services/network/public/cpp/features.h" #include "services/network/public/cpp/is_potentially_trustworthy.h" #include "services/network/public/cpp/network_switches.h" +#include "services/network/public/cpp/originating_process.h" #include "services/network/public/cpp/resource_request_body.h" #include "services/network/public/cpp/self_deleting_url_loader_factory.h" #include "services/network/public/cpp/url_loader_factory_builder.h" @@ -1430,11 +1431,12 @@ void ElectronBrowserClient::OverrideURLLoaderFactoryParams( bool is_for_isolated_world, bool is_for_service_worker, network::mojom::URLLoaderFactoryParams* factory_params) { - if (factory_params->top_frame_id) { + if (factory_params->top_frame_id && + !factory_params->process_id.is_browser()) { // Bypass CORB and CORS when web security is disabled. auto* rfh = content::RenderFrameHost::FromFrameToken( content::GlobalRenderFrameHostToken( - factory_params->process_id, + factory_params->process_id.renderer_process().value(), blink::LocalFrameToken(factory_params->top_frame_id.value()))); auto* web_contents = content::WebContents::FromRenderFrameHost(rfh); auto* prefs = WebContentsPreferences::From(web_contents); diff --git a/shell/browser/electron_browser_context.cc b/shell/browser/electron_browser_context.cc index 0847aedc9b..624d40c599 100644 --- a/shell/browser/electron_browser_context.cc +++ b/shell/browser/electron_browser_context.cc @@ -41,6 +41,7 @@ #include "gin/arguments.h" #include "media/audio/audio_device_description.h" #include "services/network/public/cpp/features.h" +#include "services/network/public/cpp/originating_process.h" #include "services/network/public/cpp/url_loader_factory_builder.h" #include "services/network/public/cpp/wrapper_shared_url_loader_factory.h" #include "services/network/public/mojom/network_context.mojom.h" @@ -588,7 +589,7 @@ ElectronBrowserContext::GetURLLoaderFactory() { network::mojom::URLLoaderFactoryParamsPtr params = network::mojom::URLLoaderFactoryParams::New(); params->header_client = std::move(header_client); - params->process_id = network::mojom::kBrowserProcessId; + params->process_id = network::OriginatingProcess::browser(); params->is_trusted = true; params->is_orb_enabled = false; // The tests of net module would fail if this setting is true, it seems that diff --git a/shell/browser/net/system_network_context_manager.cc b/shell/browser/net/system_network_context_manager.cc index fe5d783c3b..59594726ed 100644 --- a/shell/browser/net/system_network_context_manager.cc +++ b/shell/browser/net/system_network_context_manager.cc @@ -30,6 +30,7 @@ #include "services/network/network_service.h" #include "services/network/public/cpp/cross_thread_pending_shared_url_loader_factory.h" #include "services/network/public/cpp/features.h" +#include "services/network/public/cpp/originating_process.h" #include "services/network/public/cpp/shared_url_loader_factory.h" #include "services/network/public/mojom/network_context.mojom.h" #include "services/network/public/mojom/url_response_head.mojom.h" @@ -164,7 +165,7 @@ SystemNetworkContextManager::GetURLLoaderFactory() { network::mojom::URLLoaderFactoryParamsPtr params = network::mojom::URLLoaderFactoryParams::New(); - params->process_id = network::mojom::kBrowserProcessId; + params->process_id = network::OriginatingProcess::browser(); params->is_orb_enabled = false; url_loader_factory_.reset(); GetContext()->CreateURLLoaderFactory(