#include "third_party/blink/public/common/loader/url_loader_factory_bundle.h"
#include <utility>
#include "base/no_destructor.h"
#include "base/notreached.h"
#include "services/network/public/cpp/not_implemented_url_loader_factory.h"
#include "services/network/public/cpp/resource_request.h"
#include "services/network/public/mojom/url_loader.mojom.h"
#include "url/gurl.h"
namespace blink {
namespace {
template <typename TKey>
void BindPendingRemoteMapToRemoteMap(
std::map<TKey, mojo::Remote<network::mojom::URLLoaderFactory>>* target,
std::map<TKey, mojo::PendingRemote<network::mojom::URLLoaderFactory>>
input) { … }
}
PendingURLLoaderFactoryBundle::PendingURLLoaderFactoryBundle() = default;
PendingURLLoaderFactoryBundle::PendingURLLoaderFactoryBundle(
mojo::PendingRemote<network::mojom::URLLoaderFactory>
pending_default_factory,
SchemeMap pending_scheme_specific_factories,
OriginMap pending_isolated_world_factories,
bool bypass_redirect_checks)
: … { … }
PendingURLLoaderFactoryBundle::~PendingURLLoaderFactoryBundle() = default;
bool PendingURLLoaderFactoryBundle::
IsTrackedChildPendingURLLoaderFactoryBundle() const { … }
scoped_refptr<network::SharedURLLoaderFactory>
PendingURLLoaderFactoryBundle::CreateFactory() { … }
URLLoaderFactoryBundle::URLLoaderFactoryBundle() = default;
URLLoaderFactoryBundle::URLLoaderFactoryBundle(
std::unique_ptr<PendingURLLoaderFactoryBundle> pending_factory) { … }
URLLoaderFactoryBundle::~URLLoaderFactoryBundle() = default;
network::mojom::URLLoaderFactory* URLLoaderFactoryBundle::GetFactory(
const network::ResourceRequest& request) { … }
void URLLoaderFactoryBundle::CreateLoaderAndStart(
mojo::PendingReceiver<network::mojom::URLLoader> loader,
int32_t request_id,
uint32_t options,
const network::ResourceRequest& request,
mojo::PendingRemote<network::mojom::URLLoaderClient> client,
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation) { … }
void URLLoaderFactoryBundle::Clone(
mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver) { … }
std::unique_ptr<network::PendingSharedURLLoaderFactory>
URLLoaderFactoryBundle::Clone() { … }
bool URLLoaderFactoryBundle::BypassRedirectChecks() const { … }
void URLLoaderFactoryBundle::Update(
std::unique_ptr<PendingURLLoaderFactoryBundle> pending_factories) { … }
}