| Index: third_party/WebKit/Source/core/loader/WorkerThreadableLoader.h
|
| diff --git a/third_party/WebKit/Source/core/loader/WorkerThreadableLoader.h b/third_party/WebKit/Source/core/loader/WorkerThreadableLoader.h
|
| index bcd683ee70200ca7ee1dabb3a5192b027c35b007..02c0d8af0a64be25a73a7c945f3d0e9015760461 100644
|
| --- a/third_party/WebKit/Source/core/loader/WorkerThreadableLoader.h
|
| +++ b/third_party/WebKit/Source/core/loader/WorkerThreadableLoader.h
|
| @@ -56,31 +56,9 @@
|
| struct CrossThreadResourceRequestData;
|
| struct CrossThreadResourceTimingInfoData;
|
|
|
| -// A WorkerThreadableLoader is a ThreadableLoader implementation intended to
|
| -// be used in a WebWorker thread. Because Blink's ResourceFetcher and
|
| -// ResourceLoader work only in the main thread, a WorkerThreadableLoader holds
|
| -// a ThreadableLoader in the main thread and delegates tasks asynchronously
|
| -// to the loader.
|
| -//
|
| -// CTP: CrossThreadPersistent
|
| -// CTWP: CrossThreadWeakPersistent
|
| -//
|
| -// ----------------------------------------------------------------
|
| -// +------------------------+
|
| -// raw ptr | ThreadableLoaderClient |
|
| -// +--------> | worker thread |
|
| -// | +------------------------+
|
| -// |
|
| -// +----+------------------+ CTP +------------------------+
|
| -// + WorkerThreadableLoader|<--------+ MainThreadLoaderHolder |
|
| -// | worker thread +-------->| main thread |
|
| -// +-----------------------+ CTWP +----------------------+-+
|
| -// |
|
| -// +------------------+ | Member
|
| -// | ThreadableLoader | <---+
|
| -// | main thread |
|
| -// +------------------+
|
| -//
|
| +// TODO(yhirano): Draw a diagram to illustrate the class relationship.
|
| +// TODO(yhirano): Rename inner classes so that readers can see in which thread
|
| +// they are living easily.
|
| class WorkerThreadableLoader final : public ThreadableLoader {
|
| public:
|
| static void loadResourceSynchronously(WorkerGlobalScope&, const ResourceRequest&, ThreadableLoaderClient&, const ThreadableLoaderOptions&, const ResourceLoaderOptions&);
|
| @@ -123,8 +101,8 @@
|
| // ThreadableLoaderClient for a DocumentThreadableLoader and forward
|
| // notifications to the associated WorkerThreadableLoader living in the
|
| // worker thread.
|
| - class MainThreadLoaderHolder final : public GarbageCollectedFinalized<MainThreadLoaderHolder>, public ThreadableLoaderClient, public WorkerThreadLifecycleObserver {
|
| - USING_GARBAGE_COLLECTED_MIXIN(MainThreadLoaderHolder);
|
| + class Peer final : public GarbageCollectedFinalized<Peer>, public ThreadableLoaderClient, public WorkerThreadLifecycleObserver {
|
| + USING_GARBAGE_COLLECTED_MIXIN(Peer);
|
| public:
|
| static void createAndStart(
|
| WorkerThreadableLoader*,
|
| @@ -135,7 +113,7 @@
|
| const ResourceLoaderOptions&,
|
| PassRefPtr<WaitableEventWithTasks>,
|
| ExecutionContext*);
|
| - ~MainThreadLoaderHolder() override;
|
| + ~Peer() override;
|
|
|
| void overrideTimeout(unsigned long timeoutMillisecond);
|
| void cancel();
|
| @@ -156,7 +134,7 @@
|
| DECLARE_TRACE();
|
|
|
| private:
|
| - MainThreadLoaderHolder(TaskForwarder*, WorkerThreadLifecycleContext*);
|
| + Peer(TaskForwarder*, WorkerThreadLifecycleContext*);
|
| void start(Document&, std::unique_ptr<CrossThreadResourceRequestData>, const ThreadableLoaderOptions&, const ResourceLoaderOptions&);
|
|
|
| Member<TaskForwarder> m_forwarder;
|
| @@ -167,7 +145,7 @@
|
| };
|
|
|
| WorkerThreadableLoader(WorkerGlobalScope&, ThreadableLoaderClient*, const ThreadableLoaderOptions&, const ResourceLoaderOptions&, BlockingBehavior);
|
| - void didStart(MainThreadLoaderHolder*);
|
| + void didStart(Peer*);
|
|
|
| void didSendData(unsigned long long bytesSent, unsigned long long totalBytesToBeSent);
|
| void didReceiveResponse(unsigned long identifier, std::unique_ptr<CrossThreadResourceResponseData>, std::unique_ptr<WebDataConsumerHandle>);
|
| @@ -188,8 +166,8 @@
|
| ResourceLoaderOptions m_resourceLoaderOptions;
|
| BlockingBehavior m_blockingBehavior;
|
|
|
| - // |*m_mainThreadLoaderHolder| lives in the main thread.
|
| - CrossThreadPersistent<MainThreadLoaderHolder> m_mainThreadLoaderHolder;
|
| + // |*m_peer| lives in the main thread.
|
| + CrossThreadPersistent<Peer> m_peer;
|
| };
|
|
|
| } // namespace blink
|
|
|