mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
Make FileURLLoaderFactory always owned by its |receivers_|.
https://chromium-review.googlesource.com/c/chromium/src/+/2337411
This commit is contained in:
committed by
Samuel Attard
parent
507eb0965f
commit
284abad17d
@@ -1266,12 +1266,13 @@ void ElectronBrowserClient::SetUserAgent(const std::string& user_agent) {
|
||||
void ElectronBrowserClient::RegisterNonNetworkNavigationURLLoaderFactories(
|
||||
int frame_tree_node_id,
|
||||
base::UkmSourceId ukm_source_id,
|
||||
NonNetworkURLLoaderFactoryDeprecatedMap* uniquely_owned_factories,
|
||||
NonNetworkURLLoaderFactoryMap* factories) {
|
||||
content::WebContents* web_contents =
|
||||
content::WebContents::FromFrameTreeNodeId(frame_tree_node_id);
|
||||
content::BrowserContext* context = web_contents->GetBrowserContext();
|
||||
#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
|
||||
factories->emplace(
|
||||
uniquely_owned_factories->emplace(
|
||||
extensions::kExtensionScheme,
|
||||
extensions::CreateExtensionNavigationURLLoaderFactory(
|
||||
context, ukm_source_id,
|
||||
@@ -1285,7 +1286,7 @@ void ElectronBrowserClient::RegisterNonNetworkNavigationURLLoaderFactories(
|
||||
void ElectronBrowserClient::
|
||||
RegisterNonNetworkWorkerMainResourceURLLoaderFactories(
|
||||
content::BrowserContext* browser_context,
|
||||
NonNetworkURLLoaderFactoryMap* factories) {
|
||||
NonNetworkURLLoaderFactoryDeprecatedMap* factories) {
|
||||
auto* protocol_registry =
|
||||
ProtocolRegistry::FromBrowserContext(browser_context);
|
||||
protocol_registry->RegisterURLLoaderFactories(
|
||||
@@ -1341,6 +1342,7 @@ class FileURLLoaderFactory : public network::mojom::URLLoaderFactory {
|
||||
void ElectronBrowserClient::RegisterNonNetworkSubresourceURLLoaderFactories(
|
||||
int render_process_id,
|
||||
int render_frame_id,
|
||||
NonNetworkURLLoaderFactoryDeprecatedMap* uniquely_owned_factories,
|
||||
NonNetworkURLLoaderFactoryMap* factories) {
|
||||
content::RenderFrameHost* frame_host =
|
||||
content::RenderFrameHost::FromID(render_process_id, render_frame_id);
|
||||
@@ -1356,7 +1358,8 @@ void ElectronBrowserClient::RegisterNonNetworkSubresourceURLLoaderFactories(
|
||||
auto factory = extensions::CreateExtensionURLLoaderFactory(render_process_id,
|
||||
render_frame_id);
|
||||
if (factory)
|
||||
factories->emplace(extensions::kExtensionScheme, std::move(factory));
|
||||
uniquely_owned_factories->emplace(extensions::kExtensionScheme,
|
||||
std::move(factory));
|
||||
|
||||
if (!web_contents)
|
||||
return;
|
||||
|
||||
@@ -178,13 +178,16 @@ class ElectronBrowserClient : public content::ContentBrowserClient,
|
||||
void RegisterNonNetworkNavigationURLLoaderFactories(
|
||||
int frame_tree_node_id,
|
||||
base::UkmSourceId ukm_source_id,
|
||||
NonNetworkURLLoaderFactoryDeprecatedMap* uniquely_owned_factories,
|
||||
NonNetworkURLLoaderFactoryMap* factories) override;
|
||||
void RegisterNonNetworkWorkerMainResourceURLLoaderFactories(
|
||||
content::BrowserContext* browser_context,
|
||||
NonNetworkURLLoaderFactoryMap* factories) override;
|
||||
NonNetworkURLLoaderFactoryDeprecatedMap* uniquely_owned_factories)
|
||||
override;
|
||||
void RegisterNonNetworkSubresourceURLLoaderFactories(
|
||||
int render_process_id,
|
||||
int render_frame_id,
|
||||
NonNetworkURLLoaderFactoryDeprecatedMap* uniquely_owned_factories,
|
||||
NonNetworkURLLoaderFactoryMap* factories) override;
|
||||
void CreateWebSocket(
|
||||
content::RenderFrameHost* frame,
|
||||
|
||||
Reference in New Issue
Block a user