OLD | NEW |
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 11 matching lines...) Expand all Loading... |
22 #include "content/common/service_worker/service_worker_event_dispatcher.mojom.h" | 22 #include "content/common/service_worker/service_worker_event_dispatcher.mojom.h" |
23 #include "content/common/service_worker/service_worker_status_code.h" | 23 #include "content/common/service_worker/service_worker_status_code.h" |
24 #include "ipc/ipc_listener.h" | 24 #include "ipc/ipc_listener.h" |
25 #include "ipc/ipc_test_sink.h" | 25 #include "ipc/ipc_test_sink.h" |
26 #include "mojo/public/cpp/bindings/binding.h" | 26 #include "mojo/public/cpp/bindings/binding.h" |
27 #include "net/http/http_response_info.h" | 27 #include "net/http/http_response_info.h" |
28 #include "url/gurl.h" | 28 #include "url/gurl.h" |
29 | 29 |
30 class GURL; | 30 class GURL; |
31 | 31 |
32 namespace service_manager { | |
33 class InterfaceRegistry; | |
34 } | |
35 | |
36 namespace content { | 32 namespace content { |
37 | 33 |
38 struct BackgroundFetchSettledFetch; | 34 struct BackgroundFetchSettledFetch; |
39 class EmbeddedWorkerRegistry; | 35 class EmbeddedWorkerRegistry; |
40 class EmbeddedWorkerTestHelper; | 36 class EmbeddedWorkerTestHelper; |
41 class MockRenderProcessHost; | 37 class MockRenderProcessHost; |
42 class ServiceWorkerContextCore; | 38 class ServiceWorkerContextCore; |
43 class ServiceWorkerContextWrapper; | 39 class ServiceWorkerContextWrapper; |
44 class ServiceWorkerDispatcherHost; | 40 class ServiceWorkerDispatcherHost; |
45 class TestBrowserContext; | 41 class TestBrowserContext; |
(...skipping 26 matching lines...) Expand all Loading... |
72 base::Time /* dispatch_event_time */)>; | 68 base::Time /* dispatch_event_time */)>; |
73 | 69 |
74 class MockEmbeddedWorkerInstanceClient | 70 class MockEmbeddedWorkerInstanceClient |
75 : public mojom::EmbeddedWorkerInstanceClient { | 71 : public mojom::EmbeddedWorkerInstanceClient { |
76 public: | 72 public: |
77 explicit MockEmbeddedWorkerInstanceClient( | 73 explicit MockEmbeddedWorkerInstanceClient( |
78 base::WeakPtr<EmbeddedWorkerTestHelper> helper); | 74 base::WeakPtr<EmbeddedWorkerTestHelper> helper); |
79 ~MockEmbeddedWorkerInstanceClient() override; | 75 ~MockEmbeddedWorkerInstanceClient() override; |
80 | 76 |
81 static void Bind(const base::WeakPtr<EmbeddedWorkerTestHelper>& helper, | 77 static void Bind(const base::WeakPtr<EmbeddedWorkerTestHelper>& helper, |
82 mojom::EmbeddedWorkerInstanceClientRequest request); | 78 mojo::ScopedMessagePipeHandle request); |
83 | 79 |
84 protected: | 80 protected: |
85 // Implementation of mojo interfaces. | 81 // Implementation of mojo interfaces. |
86 void StartWorker( | 82 void StartWorker( |
87 const EmbeddedWorkerStartParams& params, | 83 const EmbeddedWorkerStartParams& params, |
88 mojom::ServiceWorkerEventDispatcherRequest dispatcher_request) override; | 84 mojom::ServiceWorkerEventDispatcherRequest dispatcher_request) override; |
89 void StopWorker(const StopWorkerCallback& callback) override; | 85 void StopWorker(const StopWorkerCallback& callback) override; |
90 void ResumeAfterDownload() override; | 86 void ResumeAfterDownload() override; |
91 void AddMessageToConsole(blink::WebConsoleMessage::Level level, | 87 void AddMessageToConsole(blink::WebConsoleMessage::Level level, |
92 const std::string& message) override; | 88 const std::string& message) override; |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
310 DispatchNotificationCloseEventCallback& callback); | 306 DispatchNotificationCloseEventCallback& callback); |
311 void OnPushEventStub( | 307 void OnPushEventStub( |
312 const PushEventPayload& payload, | 308 const PushEventPayload& payload, |
313 const mojom::ServiceWorkerEventDispatcher::DispatchPushEventCallback& | 309 const mojom::ServiceWorkerEventDispatcher::DispatchPushEventCallback& |
314 callback); | 310 callback); |
315 void OnPaymentRequestEventStub( | 311 void OnPaymentRequestEventStub( |
316 payments::mojom::PaymentAppRequestPtr data, | 312 payments::mojom::PaymentAppRequestPtr data, |
317 const mojom::ServiceWorkerEventDispatcher:: | 313 const mojom::ServiceWorkerEventDispatcher:: |
318 DispatchPaymentRequestEventCallback& callback); | 314 DispatchPaymentRequestEventCallback& callback); |
319 | 315 |
320 std::unique_ptr<service_manager::InterfaceRegistry> CreateInterfaceRegistry( | |
321 MockRenderProcessHost* rph); | |
322 | |
323 std::unique_ptr<TestBrowserContext> browser_context_; | 316 std::unique_ptr<TestBrowserContext> browser_context_; |
324 std::unique_ptr<MockRenderProcessHost> render_process_host_; | 317 std::unique_ptr<MockRenderProcessHost> render_process_host_; |
325 std::unique_ptr<MockRenderProcessHost> new_render_process_host_; | 318 std::unique_ptr<MockRenderProcessHost> new_render_process_host_; |
326 | 319 |
327 scoped_refptr<ServiceWorkerContextWrapper> wrapper_; | 320 scoped_refptr<ServiceWorkerContextWrapper> wrapper_; |
328 | 321 |
329 IPC::TestSink sink_; | 322 IPC::TestSink sink_; |
330 IPC::TestSink inner_sink_; | 323 IPC::TestSink inner_sink_; |
331 | 324 |
332 std::vector<std::unique_ptr<MockEmbeddedWorkerInstanceClient>> | 325 std::vector<std::unique_ptr<MockEmbeddedWorkerInstanceClient>> |
333 mock_instance_clients_; | 326 mock_instance_clients_; |
334 size_t mock_instance_clients_next_index_; | 327 size_t mock_instance_clients_next_index_; |
335 | 328 |
336 int next_thread_id_; | 329 int next_thread_id_; |
337 int mock_render_process_id_; | 330 int mock_render_process_id_; |
338 int new_mock_render_process_id_; | 331 int new_mock_render_process_id_; |
339 | 332 |
340 std::map<int /* process_id */, scoped_refptr<ServiceWorkerDispatcherHost>> | 333 std::map<int /* process_id */, scoped_refptr<ServiceWorkerDispatcherHost>> |
341 dispatcher_hosts_; | 334 dispatcher_hosts_; |
342 | 335 |
343 std::unique_ptr<service_manager::InterfaceRegistry> | |
344 render_process_interface_registry_; | |
345 std::unique_ptr<service_manager::InterfaceRegistry> | |
346 new_render_process_interface_registry_; | |
347 | |
348 std::map<int, int64_t> embedded_worker_id_service_worker_version_id_map_; | 336 std::map<int, int64_t> embedded_worker_id_service_worker_version_id_map_; |
349 std::map<int /* thread_id */, int /* embedded_worker_id */> | 337 std::map<int /* thread_id */, int /* embedded_worker_id */> |
350 thread_id_embedded_worker_id_map_; | 338 thread_id_embedded_worker_id_map_; |
351 | 339 |
352 // Updated each time MessageToWorker message is received. | 340 // Updated each time MessageToWorker message is received. |
353 int current_embedded_worker_id_; | 341 int current_embedded_worker_id_; |
354 | 342 |
355 std::vector<Event> events_; | 343 std::vector<Event> events_; |
356 | 344 |
357 base::WeakPtrFactory<EmbeddedWorkerTestHelper> weak_factory_; | 345 base::WeakPtrFactory<EmbeddedWorkerTestHelper> weak_factory_; |
358 | 346 |
359 DISALLOW_COPY_AND_ASSIGN(EmbeddedWorkerTestHelper); | 347 DISALLOW_COPY_AND_ASSIGN(EmbeddedWorkerTestHelper); |
360 }; | 348 }; |
361 | 349 |
362 template <typename MockType, typename... Args> | 350 template <typename MockType, typename... Args> |
363 MockType* EmbeddedWorkerTestHelper::CreateAndRegisterMockInstanceClient( | 351 MockType* EmbeddedWorkerTestHelper::CreateAndRegisterMockInstanceClient( |
364 Args&&... args) { | 352 Args&&... args) { |
365 std::unique_ptr<MockType> mock = | 353 std::unique_ptr<MockType> mock = |
366 base::MakeUnique<MockType>(std::forward<Args>(args)...); | 354 base::MakeUnique<MockType>(std::forward<Args>(args)...); |
367 MockType* mock_rawptr = mock.get(); | 355 MockType* mock_rawptr = mock.get(); |
368 RegisterMockInstanceClient(std::move(mock)); | 356 RegisterMockInstanceClient(std::move(mock)); |
369 return mock_rawptr; | 357 return mock_rawptr; |
370 } | 358 } |
371 | 359 |
372 } // namespace content | 360 } // namespace content |
373 | 361 |
374 #endif // CONTENT_BROWSER_SERVICE_WORKER_EMBEDDED_WORKER_TEST_HELPER_H_ | 362 #endif // CONTENT_BROWSER_SERVICE_WORKER_EMBEDDED_WORKER_TEST_HELPER_H_ |
OLD | NEW |