chromium/content/browser/loader/url_loader_factory_utils.cc

// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "content/browser/loader/url_loader_factory_utils.h"

#include "content/browser/storage_partition_impl.h"
#include "content/public/browser/browser_thread.h"

namespace content {
namespace url_loader_factory {

namespace {

Interceptor& GetMutableInterceptor() {}

bool s_has_interceptor =;

}  // namespace

const Interceptor& GetTestingInterceptor() {}

void SetInterceptorForTesting(const Interceptor& interceptor) {}

bool HasInterceptorOnIOThreadForTesting() {}

void SetHasInterceptorOnIOThreadForTesting(bool has_interceptor) {}

TerminalParams::TerminalParams(
    network::mojom::NetworkContext* network_context,
    network::mojom::URLLoaderFactoryParamsPtr factory_params,
    HeaderClientOption header_client_option,
    FactoryOverrideOption factory_override_option,
    DisableSecureDnsOption disable_secure_dns_option,
    StoragePartitionImpl* storage_partition,
    std::optional<URLLoaderFactoryTypes> url_loader_factory,
    int process_id)
    :{}

TerminalParams::~TerminalParams() = default;
TerminalParams::TerminalParams(TerminalParams&&) = default;
TerminalParams& TerminalParams::operator=(TerminalParams&&) = default;

// static
TerminalParams TerminalParams::ForNetworkContext(
    network::mojom::NetworkContext* network_context,
    network::mojom::URLLoaderFactoryParamsPtr factory_params,
    HeaderClientOption header_client_option,
    FactoryOverrideOption factory_override_option,
    DisableSecureDnsOption disable_secure_dns_option) {}

// static
TerminalParams TerminalParams::ForBrowserProcess(
    StoragePartitionImpl* storage_partition,
    HeaderClientOption header_client_option) {}

// static
TerminalParams TerminalParams::ForNonNetwork(
    URLLoaderFactoryTypes url_loader_factory,
    int process_id) {}

network::mojom::NetworkContext* TerminalParams::network_context() const {}
HeaderClientOption TerminalParams::header_client_option() const {}
FactoryOverrideOption TerminalParams::factory_override_option() const {}
DisableSecureDnsOption TerminalParams::disable_secure_dns_option() const {}
StoragePartitionImpl* TerminalParams::storage_partition() const {}
int TerminalParams::process_id() const {}
network::mojom::URLLoaderFactoryParamsPtr TerminalParams::TakeFactoryParams() {}
std::optional<TerminalParams::URLLoaderFactoryTypes>
TerminalParams::TakeURLLoaderFactory() {}

ContentClientParams::ContentClientParams(
    BrowserContext* browser_context,
    RenderFrameHost* frame,
    int render_process_id,
    const url::Origin& request_initiator,
    const net::IsolationInfo& isolation_info,
    ukm::SourceIdObj ukm_source_id,
    bool* bypass_redirect_checks,
    std::optional<int64_t> navigation_id,
    scoped_refptr<base::SequencedTaskRunner> navigation_response_task_runner)
    :{}

ContentClientParams::ContentClientParams(ContentClientParams&&) = default;
ContentClientParams& ContentClientParams::operator=(ContentClientParams&&) =
    default;
ContentClientParams::~ContentClientParams() = default;

void ContentClientParams::Run(
    network::URLLoaderFactoryBuilder& factory_builder,
    ContentBrowserClient::URLLoaderFactoryType type,
    mojo::PendingRemote<network::mojom::TrustedURLLoaderHeaderClient>*
        header_client,
    bool* disable_secure_dns,
    network::mojom::URLLoaderFactoryOverridePtr* factory_override) {}

namespace {

// Returns (is_navigation, is_download).
std::tuple<bool, bool> GetIsNavigationAndDownload(
    ContentBrowserClient::URLLoaderFactoryType type) {}

// `FinishArgs...` is `mojo::PendingReceiver<network::mojom::URLLoaderFactory>`
// when called from `CreateAndConnectToReceiver`, and empty otherwise.
template <typename OutType, typename... FinishArgs>
[[nodiscard]] OutType CreateInternal(
    ContentBrowserClient::URLLoaderFactoryType type,
    TerminalParams terminal_params,
    std::optional<ContentClientParams> content_client_params,
    std::optional<devtools_instrumentation::WillCreateURLLoaderFactoryParams>
        devtools_params,
    FinishArgs... finish_args) {}

}  // namespace

scoped_refptr<network::SharedURLLoaderFactory> Create(
    ContentBrowserClient::URLLoaderFactoryType type,
    TerminalParams terminal_params,
    std::optional<ContentClientParams> content_client_params,
    std::optional<devtools_instrumentation::WillCreateURLLoaderFactoryParams>
        devtools_params) {}

mojo::PendingRemote<network::mojom::URLLoaderFactory> CreatePendingRemote(
    ContentBrowserClient::URLLoaderFactoryType type,
    TerminalParams terminal_params,
    std::optional<ContentClientParams> content_client_params,
    std::optional<devtools_instrumentation::WillCreateURLLoaderFactoryParams>
        devtools_params) {}

void CreateAndConnectToPendingReceiver(
    mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver_to_connect,
    ContentBrowserClient::URLLoaderFactoryType type,
    TerminalParams terminal_params,
    std::optional<ContentClientParams> content_client_params,
    std::optional<devtools_instrumentation::WillCreateURLLoaderFactoryParams>
        devtools_params) {}

}  // namespace url_loader_factory
}  // namespace content