| Index: third_party/WebKit/Source/core/loader/WorkerFetchContext.h
|
| diff --git a/third_party/WebKit/Source/core/loader/WorkerFetchContext.h b/third_party/WebKit/Source/core/loader/WorkerFetchContext.h
|
| index 4a9870669dd5d2d3f19c0519ebd7e701ab7f4fcb..297a175ef7e6628a745b2a85807c21f957a1ce33 100644
|
| --- a/third_party/WebKit/Source/core/loader/WorkerFetchContext.h
|
| +++ b/third_party/WebKit/Source/core/loader/WorkerFetchContext.h
|
| @@ -7,14 +7,17 @@
|
|
|
| #include <memory>
|
| #include "core/CoreExport.h"
|
| +#include "platform/Supplementable.h"
|
| #include "platform/loader/fetch/FetchContext.h"
|
| #include "platform/wtf/Forward.h"
|
|
|
| namespace blink {
|
|
|
| -class WorkerClients;
|
| +class ResourceFetcher;
|
| +class WebTaskRunner;
|
| class WebURLLoader;
|
| class WebWorkerFetchContext;
|
| +class WorkerClients;
|
| class WorkerGlobalScope;
|
|
|
| CORE_EXPORT void ProvideWorkerFetchContextToWorker(
|
| @@ -30,16 +33,85 @@ class WorkerFetchContext final : public FetchContext {
|
| static WorkerFetchContext* Create(WorkerGlobalScope&);
|
| virtual ~WorkerFetchContext();
|
|
|
| + ResourceFetcher* GetResourceFetcher();
|
| +
|
| // FetchContext implementation:
|
| - // TODO(horo): Implement more methods.
|
| std::unique_ptr<WebURLLoader> CreateURLLoader() override;
|
| void PrepareRequest(ResourceRequest&, RedirectType) override;
|
| bool IsControlledByServiceWorker() const override;
|
| + int64_t ServiceWorkerID() const override;
|
| + ResourceRequestBlockedReason CanRequest(
|
| + Resource::Type,
|
| + const ResourceRequest&,
|
| + const KURL&,
|
| + const ResourceLoaderOptions&,
|
| + SecurityViolationReportingPolicy,
|
| + FetchParameters::OriginRestriction) const override;
|
| + ResourceRequestBlockedReason CanFollowRedirect(
|
| + Resource::Type,
|
| + const ResourceRequest&,
|
| + const KURL&,
|
| + const ResourceLoaderOptions&,
|
| + SecurityViolationReportingPolicy,
|
| + FetchParameters::OriginRestriction) const override;
|
| + void AddAdditionalRequestHeaders(ResourceRequest&,
|
| + FetchResourceType) override;
|
| + void DispatchWillSendRequest(unsigned long,
|
| + ResourceRequest&,
|
| + const ResourceResponse&,
|
| + const FetchInitiatorInfo&) override;
|
| + void DispatchDidReceiveResponse(unsigned long identifier,
|
| + const ResourceResponse&,
|
| + WebURLRequest::FrameType,
|
| + WebURLRequest::RequestContext,
|
| + Resource*,
|
| + ResourceResponseType) override;
|
| + void DispatchDidReceiveData(unsigned long identifier,
|
| + const char* data,
|
| + int dataLength) override;
|
| + void DispatchDidReceiveEncodedData(unsigned long identifier,
|
| + int encodedDataLength) override;
|
| + void DispatchDidFinishLoading(unsigned long identifier,
|
| + double finishTime,
|
| + int64_t encodedDataLength,
|
| + int64_t decodedBodyLength) override;
|
| + void DispatchDidFail(unsigned long identifier,
|
| + const ResourceError&,
|
| + int64_t encodedDataLength,
|
| + bool isInternalRequest) override;
|
| + ResourceRequestBlockedReason AllowResponse(
|
| + Resource::Type,
|
| + const ResourceRequest&,
|
| + const KURL&,
|
| + const ResourceLoaderOptions&) const override;
|
| + void AddResourceTiming(const ResourceTimingInfo&) override;
|
| + RefPtr<WebTaskRunner> LoadingTaskRunner() const override;
|
| + RefPtr<WebTaskRunner> TimerTaskRunner() const override;
|
| + Resource::ResourceCallback* GetResourceCallback() override;
|
| +
|
| + DECLARE_VIRTUAL_TRACE();
|
|
|
| private:
|
| - explicit WorkerFetchContext(std::unique_ptr<WebWorkerFetchContext>);
|
| + class WorkerResourceCallback;
|
| + WorkerFetchContext(WorkerGlobalScope&,
|
| + std::unique_ptr<WebWorkerFetchContext>);
|
| + void InitializeOnWorkerThread(WorkerGlobalScope&);
|
| +
|
| + ResourceRequestBlockedReason CanRequestInternal(
|
| + Resource::Type,
|
| + const ResourceRequest&,
|
| + const KURL&,
|
| + const ResourceLoaderOptions&,
|
| + SecurityViolationReportingPolicy,
|
| + FetchParameters::OriginRestriction,
|
| + ResourceRequest::RedirectStatus) const;
|
|
|
| + Member<WorkerGlobalScope> worker_global_scope_;
|
| std::unique_ptr<WebWorkerFetchContext> web_context_;
|
| + Member<ResourceFetcher> resource_fetcher_;
|
| + RefPtr<WebTaskRunner> loading_task_runner_;
|
| + RefPtr<WebTaskRunner> timer_task_runner_;
|
| + Member<WorkerResourceCallback> resource_callback_;
|
| };
|
|
|
| } // namespace blink
|
|
|