#ifndef CONTENT_BROWSER_LOADER_URL_LOADER_FACTORY_UTILS_H_
#define CONTENT_BROWSER_LOADER_URL_LOADER_FACTORY_UTILS_H_
#include "base/memory/stack_allocated.h"
#include "content/browser/devtools/devtools_instrumentation.h"
#include "content/common/content_export.h"
#include "content/public/browser/content_browser_client.h"
#include "services/network/public/cpp/url_loader_factory_builder.h"
namespace net {
class IsolationInfo;
}
namespace content {
class StoragePartitionImpl;
namespace url_loader_factory {
Interceptor;
CONTENT_EXPORT const Interceptor& GetTestingInterceptor();
CONTENT_EXPORT void SetInterceptorForTesting(const Interceptor& interceptor);
CONTENT_EXPORT bool HasInterceptorOnIOThreadForTesting();
CONTENT_EXPORT void SetHasInterceptorOnIOThreadForTesting(bool has_interceptor);
class CONTENT_EXPORT ContentClientParams final { … };
enum class HeaderClientOption { … };
enum class DisableSecureDnsOption { … };
enum class FactoryOverrideOption { … };
class CONTENT_EXPORT TerminalParams final { … };
[[nodiscard]] CONTENT_EXPORT scoped_refptr<network::SharedURLLoaderFactory>
Create(ContentBrowserClient::URLLoaderFactoryType type,
TerminalParams terminal_params,
std::optional<ContentClientParams> content_client_params = std::nullopt,
std::optional<devtools_instrumentation::WillCreateURLLoaderFactoryParams>
devtools_params = std::nullopt);
[[nodiscard]] CONTENT_EXPORT mojo::PendingRemote<
network::mojom::URLLoaderFactory>
CreatePendingRemote(
ContentBrowserClient::URLLoaderFactoryType type,
TerminalParams terminal_params,
std::optional<ContentClientParams> content_client_params = std::nullopt,
std::optional<devtools_instrumentation::WillCreateURLLoaderFactoryParams>
devtools_params = std::nullopt);
CONTENT_EXPORT void CreateAndConnectToPendingReceiver(
mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver_to_connect,
ContentBrowserClient::URLLoaderFactoryType type,
TerminalParams terminal_params,
std::optional<ContentClientParams> content_client_params = std::nullopt,
std::optional<devtools_instrumentation::WillCreateURLLoaderFactoryParams>
devtools_params = std::nullopt);
}
}
#endif