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

Side by Side Diff: content/browser/service_worker/embedded_worker_test_helper.h

Issue 2678733002: [ServiceWorker] Mojofy ActivateEvent of Service Worker (Closed)
Patch Set: Created 3 years, 10 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_BROWSER_SERVICE_WORKER_EMBEDDED_WORKER_TEST_HELPER_H_ 5 #ifndef CONTENT_BROWSER_SERVICE_WORKER_EMBEDDED_WORKER_TEST_HELPER_H_
6 #define CONTENT_BROWSER_SERVICE_WORKER_EMBEDDED_WORKER_TEST_HELPER_H_ 6 #define CONTENT_BROWSER_SERVICE_WORKER_EMBEDDED_WORKER_TEST_HELPER_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 // also returns success for event messages (e.g. InstallEvent, FetchEvent). 57 // also returns success for event messages (e.g. InstallEvent, FetchEvent).
58 // 58 //
59 // Alternatively consumers can subclass this helper and override On*() 59 // Alternatively consumers can subclass this helper and override On*()
60 // methods to add their own logic/verification code. 60 // methods to add their own logic/verification code.
61 // 61 //
62 // See embedded_worker_instance_unittest.cc for example usages. 62 // See embedded_worker_instance_unittest.cc for example usages.
63 // 63 //
64 class EmbeddedWorkerTestHelper : public IPC::Sender, 64 class EmbeddedWorkerTestHelper : public IPC::Sender,
65 public IPC::Listener { 65 public IPC::Listener {
66 public: 66 public:
67 enum class Event { OnActivateEvent, LastEvent };
shimazu 2017/02/07 04:43:47 How about "enum class EventType { Activate, Last }
falken 2017/02/07 05:19:35 nit: "LastEvent" doesn't seem used in this patch,
xiaofengzhang 2017/02/07 06:15:36 Thanks, I will remove it in this cl, InstallEvent
67 using FetchCallback = 68 using FetchCallback =
68 base::Callback<void(ServiceWorkerStatusCode, 69 base::Callback<void(ServiceWorkerStatusCode,
69 base::Time /* dispatch_event_time */)>; 70 base::Time /* dispatch_event_time */)>;
71 const std::vector<Event>& events() const { return events_; }
shimazu 2017/02/07 04:43:48 dispatched_events() might be clearer.
xiaofengzhang 2017/02/07 06:15:36 Acknowledged.
xiaofengzhang 2017/02/15 06:14:44 Done.
70 72
71 class MockEmbeddedWorkerInstanceClient 73 class MockEmbeddedWorkerInstanceClient
72 : public mojom::EmbeddedWorkerInstanceClient { 74 : public mojom::EmbeddedWorkerInstanceClient {
73 public: 75 public:
74 explicit MockEmbeddedWorkerInstanceClient( 76 explicit MockEmbeddedWorkerInstanceClient(
75 base::WeakPtr<EmbeddedWorkerTestHelper> helper); 77 base::WeakPtr<EmbeddedWorkerTestHelper> helper);
76 ~MockEmbeddedWorkerInstanceClient() override; 78 ~MockEmbeddedWorkerInstanceClient() override;
77 79
78 static void Bind(const base::WeakPtr<EmbeddedWorkerTestHelper>& helper, 80 static void Bind(const base::WeakPtr<EmbeddedWorkerTestHelper>& helper,
79 mojom::EmbeddedWorkerInstanceClientRequest request); 81 mojom::EmbeddedWorkerInstanceClientRequest request);
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 // The legacy IPC message handler. This passes the messages to their 177 // The legacy IPC message handler. This passes the messages to their
176 // respective On*Event handler by default. 178 // respective On*Event handler by default.
177 virtual bool OnMessageToWorker(int thread_id, 179 virtual bool OnMessageToWorker(int thread_id,
178 int embedded_worker_id, 180 int embedded_worker_id,
179 const IPC::Message& message); 181 const IPC::Message& message);
180 182
181 // On*Event handlers. Called by the default implementation of 183 // On*Event handlers. Called by the default implementation of
182 // OnMessageToWorker when events are sent to the embedded 184 // OnMessageToWorker when events are sent to the embedded
183 // worker. By default they just return success via 185 // worker. By default they just return success via
184 // SimulateSendReplyToBrowser. 186 // SimulateSendReplyToBrowser.
185 virtual void OnActivateEvent(int embedded_worker_id, int request_id); 187 virtual void OnActivateEvent(
188 const mojom::ServiceWorkerEventDispatcher::DispatchActivateEventCallback&
189 callback);
186 virtual void OnExtendableMessageEvent( 190 virtual void OnExtendableMessageEvent(
187 mojom::ExtendableMessageEventPtr event, 191 mojom::ExtendableMessageEventPtr event,
188 const mojom::ServiceWorkerEventDispatcher:: 192 const mojom::ServiceWorkerEventDispatcher::
189 DispatchExtendableMessageEventCallback& callback); 193 DispatchExtendableMessageEventCallback& callback);
190 virtual void OnInstallEvent(int embedded_worker_id, int request_id); 194 virtual void OnInstallEvent(int embedded_worker_id, int request_id);
191 virtual void OnFetchEvent(int embedded_worker_id, 195 virtual void OnFetchEvent(int embedded_worker_id,
192 int fetch_event_id, 196 int fetch_event_id,
193 const ServiceWorkerFetchRequest& request, 197 const ServiceWorkerFetchRequest& request,
194 mojom::FetchEventPreloadHandlePtr preload_handle, 198 mojom::FetchEventPreloadHandlePtr preload_handle,
195 const FetchCallback& callback); 199 const FetchCallback& callback);
(...skipping 11 matching lines...) Expand all
207 void SimulateWorkerReadyForInspection(int embedded_worker_id); 211 void SimulateWorkerReadyForInspection(int embedded_worker_id);
208 void SimulateWorkerScriptCached(int embedded_worker_id); 212 void SimulateWorkerScriptCached(int embedded_worker_id);
209 void SimulateWorkerScriptLoaded(int embedded_worker_id); 213 void SimulateWorkerScriptLoaded(int embedded_worker_id);
210 void SimulateWorkerThreadStarted(int thread_id, int embedded_worker_id); 214 void SimulateWorkerThreadStarted(int thread_id, int embedded_worker_id);
211 void SimulateWorkerScriptEvaluated(int embedded_worker_id, bool success); 215 void SimulateWorkerScriptEvaluated(int embedded_worker_id, bool success);
212 void SimulateWorkerStarted(int embedded_worker_id); 216 void SimulateWorkerStarted(int embedded_worker_id);
213 void SimulateWorkerStopped(int embedded_worker_id); 217 void SimulateWorkerStopped(int embedded_worker_id);
214 void SimulateSend(IPC::Message* message); 218 void SimulateSend(IPC::Message* message);
215 219
216 EmbeddedWorkerRegistry* registry(); 220 EmbeddedWorkerRegistry* registry();
221 std::vector<Event> events_;
217 222
218 private: 223 private:
219 class MockServiceWorkerEventDispatcher; 224 class MockServiceWorkerEventDispatcher;
220 225
221 void OnStartWorkerStub(const EmbeddedWorkerStartParams& params, 226 void OnStartWorkerStub(const EmbeddedWorkerStartParams& params,
222 mojom::ServiceWorkerEventDispatcherRequest request); 227 mojom::ServiceWorkerEventDispatcherRequest request);
223 void OnResumeAfterDownloadStub(int embedded_worker_id); 228 void OnResumeAfterDownloadStub(int embedded_worker_id);
224 void OnStopWorkerStub( 229 void OnStopWorkerStub(
225 const mojom::EmbeddedWorkerInstanceClient::StopWorkerCallback& callback); 230 const mojom::EmbeddedWorkerInstanceClient::StopWorkerCallback& callback);
226 void OnMessageToWorkerStub(int thread_id, 231 void OnMessageToWorkerStub(int thread_id,
227 int embedded_worker_id, 232 int embedded_worker_id,
228 const IPC::Message& message); 233 const IPC::Message& message);
229 void OnActivateEventStub(int request_id); 234 void OnActivateEventStub(
235 const mojom::ServiceWorkerEventDispatcher::DispatchActivateEventCallback&
236 callback);
230 void OnExtendableMessageEventStub( 237 void OnExtendableMessageEventStub(
231 mojom::ExtendableMessageEventPtr event, 238 mojom::ExtendableMessageEventPtr event,
232 const mojom::ServiceWorkerEventDispatcher:: 239 const mojom::ServiceWorkerEventDispatcher::
233 DispatchExtendableMessageEventCallback& callback); 240 DispatchExtendableMessageEventCallback& callback);
234 void OnInstallEventStub(int request_id); 241 void OnInstallEventStub(int request_id);
235 void OnFetchEventStub(int thread_id, 242 void OnFetchEventStub(int thread_id,
236 int fetch_event_id, 243 int fetch_event_id,
237 const ServiceWorkerFetchRequest& request, 244 const ServiceWorkerFetchRequest& request,
238 mojom::FetchEventPreloadHandlePtr preload_handle, 245 mojom::FetchEventPreloadHandlePtr preload_handle,
239 const FetchCallback& callback); 246 const FetchCallback& callback);
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 std::unique_ptr<MockType> mock = 301 std::unique_ptr<MockType> mock =
295 base::MakeUnique<MockType>(std::forward<Args>(args)...); 302 base::MakeUnique<MockType>(std::forward<Args>(args)...);
296 MockType* mock_rawptr = mock.get(); 303 MockType* mock_rawptr = mock.get();
297 RegisterMockInstanceClient(std::move(mock)); 304 RegisterMockInstanceClient(std::move(mock));
298 return mock_rawptr; 305 return mock_rawptr;
299 } 306 }
300 307
301 } // namespace content 308 } // namespace content
302 309
303 #endif // CONTENT_BROWSER_SERVICE_WORKER_EMBEDDED_WORKER_TEST_HELPER_H_ 310 #endif // CONTENT_BROWSER_SERVICE_WORKER_EMBEDDED_WORKER_TEST_HELPER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698