Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(195)

Side by Side Diff: third_party/WebKit/Source/core/loader/WorkerThreadableLoader.h

Issue 2840473002: Worker: Remove WorkerLoaderProxy for clean-up (Closed)
Patch Set: clean up Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 #include "platform/wtf/text/WTFString.h" 45 #include "platform/wtf/text/WTFString.h"
46 #include "public/platform/WebTraceLocation.h" 46 #include "public/platform/WebTraceLocation.h"
47 47
48 namespace blink { 48 namespace blink {
49 49
50 class ThreadableLoadingContext; 50 class ThreadableLoadingContext;
51 class ResourceError; 51 class ResourceError;
52 class ResourceRequest; 52 class ResourceRequest;
53 class ResourceResponse; 53 class ResourceResponse;
54 class WorkerGlobalScope; 54 class WorkerGlobalScope;
55 class WorkerLoaderProxy;
56 struct CrossThreadResourceRequestData; 55 struct CrossThreadResourceRequestData;
57 struct CrossThreadResourceTimingInfoData; 56 struct CrossThreadResourceTimingInfoData;
58 57
59 // A WorkerThreadableLoader is a ThreadableLoader implementation intended to 58 // A WorkerThreadableLoader is a ThreadableLoader implementation intended to
60 // be used in a WebWorker thread. Because Blink's ResourceFetcher and 59 // be used in a WebWorker thread. Because Blink's ResourceFetcher and
61 // ResourceLoader work only in the main thread, a WorkerThreadableLoader holds 60 // ResourceLoader work only in the main thread, a WorkerThreadableLoader holds
62 // a ThreadableLoader in the main thread and delegates tasks asynchronously 61 // a ThreadableLoader in the main thread and delegates tasks asynchronously
63 // to the loader. 62 // to the loader.
64 // 63 //
65 // CTP: CrossThreadPersistent 64 // CTP: CrossThreadPersistent
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 // worker thread. 133 // worker thread.
135 class MainThreadLoaderHolder final 134 class MainThreadLoaderHolder final
136 : public GarbageCollectedFinalized<MainThreadLoaderHolder>, 135 : public GarbageCollectedFinalized<MainThreadLoaderHolder>,
137 public ThreadableLoaderClient, 136 public ThreadableLoaderClient,
138 public WorkerThreadLifecycleObserver { 137 public WorkerThreadLifecycleObserver {
139 USING_GARBAGE_COLLECTED_MIXIN(MainThreadLoaderHolder); 138 USING_GARBAGE_COLLECTED_MIXIN(MainThreadLoaderHolder);
140 USING_PRE_FINALIZER(MainThreadLoaderHolder, Cancel); 139 USING_PRE_FINALIZER(MainThreadLoaderHolder, Cancel);
141 140
142 public: 141 public:
143 static void CreateAndStart(WorkerThreadableLoader*, 142 static void CreateAndStart(WorkerThreadableLoader*,
144 RefPtr<WorkerLoaderProxy>, 143 ThreadableLoadingContext*,
145 RefPtr<WebTaskRunner>, 144 RefPtr<WebTaskRunner>,
146 WorkerThreadLifecycleContext*, 145 WorkerThreadLifecycleContext*,
147 std::unique_ptr<CrossThreadResourceRequestData>, 146 std::unique_ptr<CrossThreadResourceRequestData>,
148 const ThreadableLoaderOptions&, 147 const ThreadableLoaderOptions&,
149 const ResourceLoaderOptions&, 148 const ResourceLoaderOptions&,
150 PassRefPtr<WaitableEventWithTasks>); 149 PassRefPtr<WaitableEventWithTasks>);
151 ~MainThreadLoaderHolder() override; 150 ~MainThreadLoaderHolder() override;
152 151
153 void OverrideTimeout(unsigned long timeout_millisecond); 152 void OverrideTimeout(unsigned long timeout_millisecond);
154 void Cancel(); 153 void Cancel();
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 void DidReceiveCachedMetadata(std::unique_ptr<Vector<char>> data); 203 void DidReceiveCachedMetadata(std::unique_ptr<Vector<char>> data);
205 void DidFinishLoading(unsigned long identifier, double finish_time); 204 void DidFinishLoading(unsigned long identifier, double finish_time);
206 void DidFail(const ResourceError&); 205 void DidFail(const ResourceError&);
207 void DidFailAccessControlCheck(const ResourceError&); 206 void DidFailAccessControlCheck(const ResourceError&);
208 void DidFailRedirectCheck(); 207 void DidFailRedirectCheck();
209 void DidDownloadData(int data_length); 208 void DidDownloadData(int data_length);
210 void DidReceiveResourceTiming( 209 void DidReceiveResourceTiming(
211 std::unique_ptr<CrossThreadResourceTimingInfoData>); 210 std::unique_ptr<CrossThreadResourceTimingInfoData>);
212 211
213 Member<WorkerGlobalScope> worker_global_scope_; 212 Member<WorkerGlobalScope> worker_global_scope_;
214 RefPtr<WorkerLoaderProxy> worker_loader_proxy_;
215 CrossThreadPersistent<ParentFrameTaskRunners> parent_frame_task_runners_; 213 CrossThreadPersistent<ParentFrameTaskRunners> parent_frame_task_runners_;
216 ThreadableLoaderClient* client_; 214 ThreadableLoaderClient* client_;
217 215
218 ThreadableLoaderOptions threadable_loader_options_; 216 ThreadableLoaderOptions threadable_loader_options_;
219 ResourceLoaderOptions resource_loader_options_; 217 ResourceLoaderOptions resource_loader_options_;
220 BlockingBehavior blocking_behavior_; 218 BlockingBehavior blocking_behavior_;
221 219
222 // |*m_mainThreadLoaderHolder| lives in the main thread. 220 // |*m_mainThreadLoaderHolder| lives in the main thread.
223 CrossThreadPersistent<MainThreadLoaderHolder> main_thread_loader_holder_; 221 CrossThreadPersistent<MainThreadLoaderHolder> main_thread_loader_holder_;
224 }; 222 };
225 223
226 } // namespace blink 224 } // namespace blink
227 225
228 #endif // WorkerThreadableLoader_h 226 #endif // WorkerThreadableLoader_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698