#include "content/browser/loader/prefetch_url_loader_service_context.h"
#include "content/browser/loader/prefetch_url_loader.h"
#include "content/browser/renderer_host/frame_tree_node.h"
#include "content/browser/renderer_host/render_frame_host_impl.h"
#include "content/browser/web_package/prefetched_signed_exchange_cache.h"
#include "content/public/browser/content_browser_client.h"
#include "content/public/browser/url_loader_throttles.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/content_client.h"
#include "third_party/blink/public/common/loader/url_loader_throttle.h"
#include "third_party/blink/public/common/renderer_preferences/renderer_preferences.h"
namespace content {
PrefetchURLLoaderServiceContext::PrefetchURLLoaderServiceContext(
BrowserContext* browser_context,
mojo::ReceiverSet<network::mojom::URLLoaderFactory,
scoped_refptr<BindContext>>& loader_factory_receivers)
: … { … }
void PrefetchURLLoaderServiceContext::CreatePrefetchLoaderAndStart(
mojo::PendingReceiver<network::mojom::URLLoader> receiver,
int32_t request_id,
uint32_t options,
const network::ResourceRequest& resource_request_in,
mojo::PendingRemote<network::mojom::URLLoaderClient> client,
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation) { … }
PrefetchURLLoaderServiceContext::~PrefetchURLLoaderServiceContext() = default;
bool PrefetchURLLoaderServiceContext::IsValidCrossOriginPrefetch(
const network::ResourceRequest& resource_request) { … }
void PrefetchURLLoaderServiceContext::EnsureCrossOriginFactory() { … }
void PrefetchURLLoaderServiceContext::NotifyUpdate(
const blink::RendererPreferences& new_prefs) { … }
base::UnguessableToken
PrefetchURLLoaderServiceContext::GenerateRecursivePrefetchToken(
base::WeakPtr<BindContext> current_context,
const network::ResourceRequest& request) { … }
std::vector<std::unique_ptr<blink::URLLoaderThrottle>>
PrefetchURLLoaderServiceContext::CreateURLLoaderThrottles(
const network::ResourceRequest& request,
int frame_tree_node_id) { … }
}