| 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 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 base::WeakPtr<EmbeddedWorkerTestHelper> helper); | 78 base::WeakPtr<EmbeddedWorkerTestHelper> helper); |
| 79 ~MockEmbeddedWorkerInstanceClient() override; | 79 ~MockEmbeddedWorkerInstanceClient() override; |
| 80 | 80 |
| 81 static void Bind(const base::WeakPtr<EmbeddedWorkerTestHelper>& helper, | 81 static void Bind(const base::WeakPtr<EmbeddedWorkerTestHelper>& helper, |
| 82 mojom::EmbeddedWorkerInstanceClientRequest request); | 82 mojom::EmbeddedWorkerInstanceClientRequest request); |
| 83 | 83 |
| 84 protected: | 84 protected: |
| 85 // Implementation of mojo interfaces. | 85 // Implementation of mojo interfaces. |
| 86 void StartWorker( | 86 void StartWorker( |
| 87 const EmbeddedWorkerStartParams& params, | 87 const EmbeddedWorkerStartParams& params, |
| 88 mojom::ServiceWorkerEventDispatcherRequest dispatcher_request) override; | 88 mojom::ServiceWorkerEventDispatcherRequest dispatcher_request, |
| 89 mojom::EmbeddedWorkerInstanceHostAssociatedPtrInfo instance_host) |
| 90 override; |
| 89 void StopWorker(const StopWorkerCallback& callback) override; | 91 void StopWorker(const StopWorkerCallback& callback) override; |
| 90 void ResumeAfterDownload() override; | 92 void ResumeAfterDownload() override; |
| 91 void AddMessageToConsole(blink::WebConsoleMessage::Level level, | 93 void AddMessageToConsole(blink::WebConsoleMessage::Level level, |
| 92 const std::string& message) override; | 94 const std::string& message) override; |
| 93 | 95 |
| 94 base::WeakPtr<EmbeddedWorkerTestHelper> helper_; | 96 base::WeakPtr<EmbeddedWorkerTestHelper> helper_; |
| 95 mojo::Binding<mojom::EmbeddedWorkerInstanceClient> binding_; | 97 mojo::Binding<mojom::EmbeddedWorkerInstanceClient> binding_; |
| 96 | 98 |
| 97 base::Optional<int> embedded_worker_id_; | 99 base::Optional<int> embedded_worker_id_; |
| 98 | 100 |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 164 protected: | 166 protected: |
| 165 // StartWorker IPC handler routed through MockEmbeddedWorkerInstanceClient. | 167 // StartWorker IPC handler routed through MockEmbeddedWorkerInstanceClient. |
| 166 // This simulates each legacy IPC sent from the renderer and binds |request| | 168 // This simulates each legacy IPC sent from the renderer and binds |request| |
| 167 // to MockServiceWorkerEventDispatcher by default. | 169 // to MockServiceWorkerEventDispatcher by default. |
| 168 virtual void OnStartWorker( | 170 virtual void OnStartWorker( |
| 169 int embedded_worker_id, | 171 int embedded_worker_id, |
| 170 int64_t service_worker_version_id, | 172 int64_t service_worker_version_id, |
| 171 const GURL& scope, | 173 const GURL& scope, |
| 172 const GURL& script_url, | 174 const GURL& script_url, |
| 173 bool pause_after_download, | 175 bool pause_after_download, |
| 174 mojom::ServiceWorkerEventDispatcherRequest request); | 176 mojom::ServiceWorkerEventDispatcherRequest request, |
| 177 mojom::EmbeddedWorkerInstanceHostAssociatedPtrInfo instance_host); |
| 175 virtual void OnResumeAfterDownload(int embedded_worker_id); | 178 virtual void OnResumeAfterDownload(int embedded_worker_id); |
| 176 // StopWorker IPC handler routed through MockEmbeddedWorkerInstanceClient. | 179 // StopWorker IPC handler routed through MockEmbeddedWorkerInstanceClient. |
| 177 // This calls StopWorkerCallback by default. | 180 // This calls StopWorkerCallback by default. |
| 178 virtual void OnStopWorker( | 181 virtual void OnStopWorker( |
| 179 const mojom::EmbeddedWorkerInstanceClient::StopWorkerCallback& callback); | 182 const mojom::EmbeddedWorkerInstanceClient::StopWorkerCallback& callback); |
| 180 // The legacy IPC message handler. This passes the messages to their | 183 // The legacy IPC message handler. This passes the messages to their |
| 181 // respective On*Event handler by default. | 184 // respective On*Event handler by default. |
| 182 virtual bool OnMessageToWorker(int thread_id, | 185 virtual bool OnMessageToWorker(int thread_id, |
| 183 int embedded_worker_id, | 186 int embedded_worker_id, |
| 184 const IPC::Message& message); | 187 const IPC::Message& message); |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 250 void SimulateWorkerScriptEvaluated(int embedded_worker_id, bool success); | 253 void SimulateWorkerScriptEvaluated(int embedded_worker_id, bool success); |
| 251 void SimulateWorkerStarted(int embedded_worker_id); | 254 void SimulateWorkerStarted(int embedded_worker_id); |
| 252 void SimulateWorkerStopped(int embedded_worker_id); | 255 void SimulateWorkerStopped(int embedded_worker_id); |
| 253 void SimulateSend(IPC::Message* message); | 256 void SimulateSend(IPC::Message* message); |
| 254 | 257 |
| 255 EmbeddedWorkerRegistry* registry(); | 258 EmbeddedWorkerRegistry* registry(); |
| 256 | 259 |
| 257 private: | 260 private: |
| 258 class MockServiceWorkerEventDispatcher; | 261 class MockServiceWorkerEventDispatcher; |
| 259 | 262 |
| 260 void OnStartWorkerStub(const EmbeddedWorkerStartParams& params, | 263 void OnStartWorkerStub( |
| 261 mojom::ServiceWorkerEventDispatcherRequest request); | 264 const EmbeddedWorkerStartParams& params, |
| 265 mojom::ServiceWorkerEventDispatcherRequest request, |
| 266 mojom::EmbeddedWorkerInstanceHostAssociatedPtrInfo instance_host); |
| 262 void OnResumeAfterDownloadStub(int embedded_worker_id); | 267 void OnResumeAfterDownloadStub(int embedded_worker_id); |
| 263 void OnStopWorkerStub( | 268 void OnStopWorkerStub( |
| 264 const mojom::EmbeddedWorkerInstanceClient::StopWorkerCallback& callback); | 269 const mojom::EmbeddedWorkerInstanceClient::StopWorkerCallback& callback); |
| 265 void OnMessageToWorkerStub(int thread_id, | 270 void OnMessageToWorkerStub(int thread_id, |
| 266 int embedded_worker_id, | 271 int embedded_worker_id, |
| 267 const IPC::Message& message); | 272 const IPC::Message& message); |
| 268 void OnActivateEventStub( | 273 void OnActivateEventStub( |
| 269 const mojom::ServiceWorkerEventDispatcher::DispatchActivateEventCallback& | 274 const mojom::ServiceWorkerEventDispatcher::DispatchActivateEventCallback& |
| 270 callback); | 275 callback); |
| 271 void OnBackgroundFetchAbortEventStub( | 276 void OnBackgroundFetchAbortEventStub( |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 344 | 349 |
| 345 std::unique_ptr<service_manager::InterfaceRegistry> | 350 std::unique_ptr<service_manager::InterfaceRegistry> |
| 346 render_process_interface_registry_; | 351 render_process_interface_registry_; |
| 347 std::unique_ptr<service_manager::InterfaceRegistry> | 352 std::unique_ptr<service_manager::InterfaceRegistry> |
| 348 new_render_process_interface_registry_; | 353 new_render_process_interface_registry_; |
| 349 | 354 |
| 350 std::map<int, int64_t> embedded_worker_id_service_worker_version_id_map_; | 355 std::map<int, int64_t> embedded_worker_id_service_worker_version_id_map_; |
| 351 std::map<int /* thread_id */, int /* embedded_worker_id */> | 356 std::map<int /* thread_id */, int /* embedded_worker_id */> |
| 352 thread_id_embedded_worker_id_map_; | 357 thread_id_embedded_worker_id_map_; |
| 353 | 358 |
| 359 std::map< |
| 360 int /* embedded_worker_id */, |
| 361 mojom::EmbeddedWorkerInstanceHostAssociatedPtr /* instance_host_ptr */> |
| 362 embedded_worker_id_instance_host_ptr_map_; |
| 363 |
| 354 // Updated each time MessageToWorker message is received. | 364 // Updated each time MessageToWorker message is received. |
| 355 int current_embedded_worker_id_; | 365 int current_embedded_worker_id_; |
| 356 | 366 |
| 357 std::vector<Event> events_; | 367 std::vector<Event> events_; |
| 358 | 368 |
| 359 base::WeakPtrFactory<EmbeddedWorkerTestHelper> weak_factory_; | 369 base::WeakPtrFactory<EmbeddedWorkerTestHelper> weak_factory_; |
| 360 | 370 |
| 361 DISALLOW_COPY_AND_ASSIGN(EmbeddedWorkerTestHelper); | 371 DISALLOW_COPY_AND_ASSIGN(EmbeddedWorkerTestHelper); |
| 362 }; | 372 }; |
| 363 | 373 |
| 364 template <typename MockType, typename... Args> | 374 template <typename MockType, typename... Args> |
| 365 MockType* EmbeddedWorkerTestHelper::CreateAndRegisterMockInstanceClient( | 375 MockType* EmbeddedWorkerTestHelper::CreateAndRegisterMockInstanceClient( |
| 366 Args&&... args) { | 376 Args&&... args) { |
| 367 std::unique_ptr<MockType> mock = | 377 std::unique_ptr<MockType> mock = |
| 368 base::MakeUnique<MockType>(std::forward<Args>(args)...); | 378 base::MakeUnique<MockType>(std::forward<Args>(args)...); |
| 369 MockType* mock_rawptr = mock.get(); | 379 MockType* mock_rawptr = mock.get(); |
| 370 RegisterMockInstanceClient(std::move(mock)); | 380 RegisterMockInstanceClient(std::move(mock)); |
| 371 return mock_rawptr; | 381 return mock_rawptr; |
| 372 } | 382 } |
| 373 | 383 |
| 374 } // namespace content | 384 } // namespace content |
| 375 | 385 |
| 376 #endif // CONTENT_BROWSER_SERVICE_WORKER_EMBEDDED_WORKER_TEST_HELPER_H_ | 386 #endif // CONTENT_BROWSER_SERVICE_WORKER_EMBEDDED_WORKER_TEST_HELPER_H_ |
| OLD | NEW |