#include "third_party/blink/renderer/platform/loader/fetch/url_loader/worker_main_script_loader.h"
#include "base/containers/span.h"
#include "services/network/public/cpp/header_util.h"
#include "services/network/public/cpp/record_ontransfersizeupdate_utils.h"
#include "services/network/public/mojom/early_hints.mojom.h"
#include "services/network/public/mojom/url_response_head.mojom.h"
#include "third_party/blink/public/common/loader/referrer_utils.h"
#include "third_party/blink/public/mojom/loader/code_cache.mojom-blink.h"
#include "third_party/blink/public/mojom/timing/resource_timing.mojom-blink.h"
#include "third_party/blink/public/platform/resource_load_info_notifier_wrapper.h"
#include "third_party/blink/public/platform/url_conversion.h"
#include "third_party/blink/public/platform/web_url.h"
#include "third_party/blink/public/platform/web_url_response.h"
#include "third_party/blink/renderer/platform/loader/cors/cors.h"
#include "third_party/blink/renderer/platform/loader/fetch/cached_metadata.h"
#include "third_party/blink/renderer/platform/loader/fetch/fetch_context.h"
#include "third_party/blink/renderer/platform/loader/fetch/fetch_initiator_type_names.h"
#include "third_party/blink/renderer/platform/loader/fetch/fetch_parameters.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_load_timing.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_request.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_timing_utils.h"
#include "third_party/blink/renderer/platform/loader/fetch/script_cached_metadata_handler.h"
#include "third_party/blink/renderer/platform/loader/fetch/url_loader/cached_metadata_handler.h"
#include "third_party/blink/renderer/platform/loader/fetch/url_loader/worker_main_script_loader_client.h"
#include "third_party/blink/renderer/platform/wtf/functional.h"
namespace blink {
WorkerMainScriptLoader::WorkerMainScriptLoader() = default;
WorkerMainScriptLoader::~WorkerMainScriptLoader() = default;
void WorkerMainScriptLoader::Start(
const FetchParameters& fetch_params,
std::unique_ptr<WorkerMainScriptLoadParameters>
worker_main_script_load_params,
FetchContext* fetch_context,
ResourceLoadObserver* resource_load_observer,
WorkerMainScriptLoaderClient* client) { … }
void WorkerMainScriptLoader::Cancel() { … }
void WorkerMainScriptLoader::OnReceiveEarlyHints(
network::mojom::EarlyHintsPtr early_hints) { … }
void WorkerMainScriptLoader::OnReceiveResponse(
network::mojom::URLResponseHeadPtr response_head,
mojo::ScopedDataPipeConsumerHandle handle,
std::optional<mojo_base::BigBuffer> cached_metadata) { … }
void WorkerMainScriptLoader::OnReceiveRedirect(
const net::RedirectInfo& redirect_info,
network::mojom::URLResponseHeadPtr response_head) { … }
void WorkerMainScriptLoader::OnUploadProgress(
int64_t current_position,
int64_t total_size,
OnUploadProgressCallback callback) { … }
void WorkerMainScriptLoader::OnTransferSizeUpdated(int32_t transfer_size_diff) { … }
void WorkerMainScriptLoader::OnComplete(
const network::URLLoaderCompletionStatus& status) { … }
CachedMetadataHandler* WorkerMainScriptLoader::CreateCachedMetadataHandler() { … }
void WorkerMainScriptLoader::Trace(Visitor* visitor) const { … }
void WorkerMainScriptLoader::StartLoadingBody() { … }
void WorkerMainScriptLoader::OnReadable(MojoResult) { … }
void WorkerMainScriptLoader::NotifyCompletionIfAppropriate() { … }
void WorkerMainScriptLoader::OnConnectionClosed() { … }
void WorkerMainScriptLoader::HandleRedirections(
std::vector<net::RedirectInfo>& redirect_infos,
std::vector<network::mojom::URLResponseHeadPtr>& redirect_responses) { … }
}