diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/loader/worker_fetch_context.h')
-rw-r--r-- | chromium/third_party/blink/renderer/core/loader/worker_fetch_context.h | 41 |
1 files changed, 30 insertions, 11 deletions
diff --git a/chromium/third_party/blink/renderer/core/loader/worker_fetch_context.h b/chromium/third_party/blink/renderer/core/loader/worker_fetch_context.h index 5b97752a90a..f1ad8cbc146 100644 --- a/chromium/third_party/blink/renderer/core/loader/worker_fetch_context.h +++ b/chromium/third_party/blink/renderer/core/loader/worker_fetch_context.h @@ -8,18 +8,21 @@ #include <memory> #include "base/single_thread_task_runner.h" #include "services/network/public/mojom/request_context_frame_type.mojom-blink.h" +#include "third_party/blink/public/mojom/service_worker/service_worker_object.mojom-blink.h" #include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/loader/base_fetch_context.h" +#include "third_party/blink/renderer/core/script/fetch_client_settings_object_impl.h" #include "third_party/blink/renderer/platform/wtf/forward.h" namespace blink { -class ResourceFetcher; class SubresourceFilter; class WebURLLoader; class WebURLLoaderFactory; class WebWorkerFetchContext; class WorkerClients; +class WorkerContentSettingsClient; +class WorkerSettings; class WorkerOrWorkletGlobalScope; CORE_EXPORT void ProvideWorkerFetchContextToWorker( @@ -34,6 +37,8 @@ class WorkerFetchContext final : public BaseFetchContext { ~WorkerFetchContext() override; // BaseFetchContext implementation: + const FetchClientSettingsObject* GetFetchClientSettingsObject() + const override; KURL GetSiteForCookies() const override; SubresourceFilter* GetSubresourceFilter() const override; bool AllowScriptFromSource(const KURL&) const override; @@ -58,8 +63,6 @@ class WorkerFetchContext final : public BaseFetchContext { bool ShouldBlockFetchAsCredentialedSubresource(const ResourceRequest&, const KURL&) const override; bool ShouldLoadNewResource(Resource::Type) const override { return true; } - ReferrerPolicy GetReferrerPolicy() const override; - String GetOutgoingReferrer() const override; const KURL& Url() const override; const SecurityOrigin* GetParentSecurityOrigin() const override; base::Optional<mojom::IPAddressSpace> GetAddressSpace() const override; @@ -70,10 +73,10 @@ class WorkerFetchContext final : public BaseFetchContext { const SecurityOrigin* GetSecurityOrigin() const override; std::unique_ptr<WebURLLoader> CreateURLLoader( const ResourceRequest&, - scoped_refptr<base::SingleThreadTaskRunner>, const ResourceLoaderOptions&) override; void PrepareRequest(ResourceRequest&, RedirectType) override; - bool IsControlledByServiceWorker() const override; + blink::mojom::ControllerServiceWorkerMode IsControlledByServiceWorker() + const override; int ApplicationCacheHostID() const override; void AddAdditionalRequestHeaders(ResourceRequest&, FetchResourceType) override; @@ -97,7 +100,7 @@ class WorkerFetchContext final : public BaseFetchContext { TimeTicks finish_time, int64_t encoded_data_length, int64_t decoded_body_length, - bool blocked_cross_site_document) override; + bool should_report_corb_blocking) override; void DispatchDidFail(const KURL&, unsigned long identifier, const ResourceError&, @@ -110,7 +113,13 @@ class WorkerFetchContext final : public BaseFetchContext { ResourceRequest&) override; scoped_refptr<base::SingleThreadTaskRunner> GetLoadingTaskRunner() override; - WebWorkerFetchContext* GetWebWorkerFetchContext() { + std::unique_ptr<scheduler::WebResourceLoadingTaskRunnerHandle> + CreateResourceLoadingTaskRunnerHandle() override; + + SecurityContext& GetSecurityContext() const; + WorkerSettings* GetWorkerSettings() const; + WorkerContentSettingsClient* GetWorkerContentSettingsClient() const; + WebWorkerFetchContext* GetWebWorkerFetchContext() const { return web_context_.get(); } @@ -122,12 +131,22 @@ class WorkerFetchContext final : public BaseFetchContext { void SetFirstPartyCookieAndRequestorOrigin(ResourceRequest&); - Member<WorkerOrWorkletGlobalScope> global_scope_; - std::unique_ptr<WebWorkerFetchContext> web_context_; + const Member<WorkerOrWorkletGlobalScope> global_scope_; + const std::unique_ptr<WebWorkerFetchContext> web_context_; + + // Responsible for regular loads from the worker (i.e., Fetch API). std::unique_ptr<WebURLLoaderFactory> url_loader_factory_; + + // Responsible for handling script loads in certian situations (i.e., + // script import from service workers, which invole special processing + // to persist the script in storage). May be null, fallback to + // url_loader_factory_ in that case. + std::unique_ptr<WebURLLoaderFactory> script_loader_factory_; + Member<SubresourceFilter> subresource_filter_; - Member<ResourceFetcher> resource_fetcher_; - scoped_refptr<base::SingleThreadTaskRunner> loading_task_runner_; + const scoped_refptr<base::SingleThreadTaskRunner> loading_task_runner_; + + const Member<FetchClientSettingsObjectImpl> fetch_client_settings_object_; // The value of |save_data_enabled_| is read once per frame from // NetworkStateNotifier, which is guarded by a mutex lock, and cached locally |