| 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 #include "content/browser/service_worker/embedded_worker_test_helper.h" | 5 #include "content/browser/service_worker/embedded_worker_test_helper.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 std::move(preload_handle), callback); | 179 std::move(preload_handle), callback); |
| 180 } | 180 } |
| 181 | 181 |
| 182 void DispatchSyncEvent( | 182 void DispatchSyncEvent( |
| 183 const std::string& tag, | 183 const std::string& tag, |
| 184 blink::mojom::BackgroundSyncEventLastChance last_chance, | 184 blink::mojom::BackgroundSyncEventLastChance last_chance, |
| 185 const DispatchSyncEventCallback& callback) override { | 185 const DispatchSyncEventCallback& callback) override { |
| 186 NOTIMPLEMENTED(); | 186 NOTIMPLEMENTED(); |
| 187 } | 187 } |
| 188 | 188 |
| 189 void DispatchExtendableMessageEvent( |
| 190 mojom::ExtendableMessageEventPtr event, |
| 191 const DispatchExtendableMessageEventCallback& callback) override { |
| 192 if (!helper_) |
| 193 return; |
| 194 helper_->OnExtendableMessageEventStub(std::move(event), callback); |
| 195 } |
| 196 |
| 189 private: | 197 private: |
| 190 base::WeakPtr<EmbeddedWorkerTestHelper> helper_; | 198 base::WeakPtr<EmbeddedWorkerTestHelper> helper_; |
| 191 const int thread_id_; | 199 const int thread_id_; |
| 192 }; | 200 }; |
| 193 | 201 |
| 194 EmbeddedWorkerTestHelper::EmbeddedWorkerTestHelper( | 202 EmbeddedWorkerTestHelper::EmbeddedWorkerTestHelper( |
| 195 const base::FilePath& user_data_directory) | 203 const base::FilePath& user_data_directory) |
| 196 : browser_context_(new TestBrowserContext), | 204 : browser_context_(new TestBrowserContext), |
| 197 render_process_host_(new MockRenderProcessHost(browser_context_.get())), | 205 render_process_host_(new MockRenderProcessHost(browser_context_.get())), |
| 198 new_render_process_host_( | 206 new_render_process_host_( |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 297 SimulateWorkerStopped(embedded_worker_id); | 305 SimulateWorkerStopped(embedded_worker_id); |
| 298 } | 306 } |
| 299 | 307 |
| 300 bool EmbeddedWorkerTestHelper::OnMessageToWorker(int thread_id, | 308 bool EmbeddedWorkerTestHelper::OnMessageToWorker(int thread_id, |
| 301 int embedded_worker_id, | 309 int embedded_worker_id, |
| 302 const IPC::Message& message) { | 310 const IPC::Message& message) { |
| 303 bool handled = true; | 311 bool handled = true; |
| 304 current_embedded_worker_id_ = embedded_worker_id; | 312 current_embedded_worker_id_ = embedded_worker_id; |
| 305 IPC_BEGIN_MESSAGE_MAP(EmbeddedWorkerTestHelper, message) | 313 IPC_BEGIN_MESSAGE_MAP(EmbeddedWorkerTestHelper, message) |
| 306 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ActivateEvent, OnActivateEventStub) | 314 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ActivateEvent, OnActivateEventStub) |
| 307 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ExtendableMessageEvent, | |
| 308 OnExtendableMessageEventStub) | |
| 309 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEventStub) | 315 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEventStub) |
| 310 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_PushEvent, OnPushEventStub) | 316 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_PushEvent, OnPushEventStub) |
| 311 IPC_MESSAGE_UNHANDLED(handled = false) | 317 IPC_MESSAGE_UNHANDLED(handled = false) |
| 312 IPC_END_MESSAGE_MAP() | 318 IPC_END_MESSAGE_MAP() |
| 313 // Record all messages directed to inner script context. | 319 // Record all messages directed to inner script context. |
| 314 inner_sink_.OnMessageReceived(message); | 320 inner_sink_.OnMessageReceived(message); |
| 315 return handled; | 321 return handled; |
| 316 } | 322 } |
| 317 | 323 |
| 318 void EmbeddedWorkerTestHelper::OnSetupMojo( | 324 void EmbeddedWorkerTestHelper::OnSetupMojo( |
| 319 int thread_id, | 325 int thread_id, |
| 320 mojom::ServiceWorkerEventDispatcherRequest dispatcher_request) { | 326 mojom::ServiceWorkerEventDispatcherRequest dispatcher_request) { |
| 321 MockServiceWorkerEventDispatcher::Create(AsWeakPtr(), thread_id, | 327 MockServiceWorkerEventDispatcher::Create(AsWeakPtr(), thread_id, |
| 322 std::move(dispatcher_request)); | 328 std::move(dispatcher_request)); |
| 323 } | 329 } |
| 324 | 330 |
| 325 void EmbeddedWorkerTestHelper::OnActivateEvent(int embedded_worker_id, | 331 void EmbeddedWorkerTestHelper::OnActivateEvent(int embedded_worker_id, |
| 326 int request_id) { | 332 int request_id) { |
| 327 SimulateSend(new ServiceWorkerHostMsg_ActivateEventFinished( | 333 SimulateSend(new ServiceWorkerHostMsg_ActivateEventFinished( |
| 328 embedded_worker_id, request_id, | 334 embedded_worker_id, request_id, |
| 329 blink::WebServiceWorkerEventResultCompleted, base::Time::Now())); | 335 blink::WebServiceWorkerEventResultCompleted, base::Time::Now())); |
| 330 } | 336 } |
| 331 | 337 |
| 332 void EmbeddedWorkerTestHelper::OnExtendableMessageEvent(int embedded_worker_id, | 338 void EmbeddedWorkerTestHelper::OnExtendableMessageEvent( |
| 333 int request_id) { | 339 mojom::ExtendableMessageEventPtr event, |
| 334 SimulateSend(new ServiceWorkerHostMsg_ExtendableMessageEventFinished( | 340 const mojom::ServiceWorkerEventDispatcher:: |
| 335 embedded_worker_id, request_id, | 341 DispatchExtendableMessageEventCallback& callback) { |
| 336 blink::WebServiceWorkerEventResultCompleted, base::Time::Now())); | 342 callback.Run(SERVICE_WORKER_OK, base::Time::Now()); |
| 337 } | 343 } |
| 338 | 344 |
| 339 void EmbeddedWorkerTestHelper::OnInstallEvent(int embedded_worker_id, | 345 void EmbeddedWorkerTestHelper::OnInstallEvent(int embedded_worker_id, |
| 340 int request_id) { | 346 int request_id) { |
| 341 // The installing worker may have been doomed and terminated. | 347 // The installing worker may have been doomed and terminated. |
| 342 if (!registry()->GetWorker(embedded_worker_id)) | 348 if (!registry()->GetWorker(embedded_worker_id)) |
| 343 return; | 349 return; |
| 344 SimulateSend(new ServiceWorkerHostMsg_InstallEventFinished( | 350 SimulateSend(new ServiceWorkerHostMsg_InstallEventFinished( |
| 345 embedded_worker_id, request_id, | 351 embedded_worker_id, request_id, |
| 346 blink::WebServiceWorkerEventResultCompleted, true, base::Time::Now())); | 352 blink::WebServiceWorkerEventResultCompleted, true, base::Time::Now())); |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 486 } | 492 } |
| 487 | 493 |
| 488 void EmbeddedWorkerTestHelper::OnActivateEventStub(int request_id) { | 494 void EmbeddedWorkerTestHelper::OnActivateEventStub(int request_id) { |
| 489 base::ThreadTaskRunnerHandle::Get()->PostTask( | 495 base::ThreadTaskRunnerHandle::Get()->PostTask( |
| 490 FROM_HERE, | 496 FROM_HERE, |
| 491 base::Bind(&EmbeddedWorkerTestHelper::OnActivateEvent, AsWeakPtr(), | 497 base::Bind(&EmbeddedWorkerTestHelper::OnActivateEvent, AsWeakPtr(), |
| 492 current_embedded_worker_id_, request_id)); | 498 current_embedded_worker_id_, request_id)); |
| 493 } | 499 } |
| 494 | 500 |
| 495 void EmbeddedWorkerTestHelper::OnExtendableMessageEventStub( | 501 void EmbeddedWorkerTestHelper::OnExtendableMessageEventStub( |
| 496 int request_id, | 502 mojom::ExtendableMessageEventPtr event, |
| 497 const ServiceWorkerMsg_ExtendableMessageEvent_Params& params) { | 503 const mojom::ServiceWorkerEventDispatcher:: |
| 504 DispatchExtendableMessageEventCallback& callback) { |
| 498 base::ThreadTaskRunnerHandle::Get()->PostTask( | 505 base::ThreadTaskRunnerHandle::Get()->PostTask( |
| 499 FROM_HERE, | 506 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnExtendableMessageEvent, |
| 500 base::Bind(&EmbeddedWorkerTestHelper::OnExtendableMessageEvent, | 507 AsWeakPtr(), base::Passed(&event), callback)); |
| 501 AsWeakPtr(), current_embedded_worker_id_, request_id)); | |
| 502 } | 508 } |
| 503 | 509 |
| 504 void EmbeddedWorkerTestHelper::OnInstallEventStub(int request_id) { | 510 void EmbeddedWorkerTestHelper::OnInstallEventStub(int request_id) { |
| 505 base::ThreadTaskRunnerHandle::Get()->PostTask( | 511 base::ThreadTaskRunnerHandle::Get()->PostTask( |
| 506 FROM_HERE, | 512 FROM_HERE, |
| 507 base::Bind(&EmbeddedWorkerTestHelper::OnInstallEvent, AsWeakPtr(), | 513 base::Bind(&EmbeddedWorkerTestHelper::OnInstallEvent, AsWeakPtr(), |
| 508 current_embedded_worker_id_, request_id)); | 514 current_embedded_worker_id_, request_id)); |
| 509 } | 515 } |
| 510 | 516 |
| 511 void EmbeddedWorkerTestHelper::OnFetchEventStub( | 517 void EmbeddedWorkerTestHelper::OnFetchEventStub( |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 558 service_manager::InterfaceProviderSpec()); | 564 service_manager::InterfaceProviderSpec()); |
| 559 | 565 |
| 560 std::unique_ptr<service_manager::InterfaceProvider> remote_interfaces( | 566 std::unique_ptr<service_manager::InterfaceProvider> remote_interfaces( |
| 561 new service_manager::InterfaceProvider); | 567 new service_manager::InterfaceProvider); |
| 562 remote_interfaces->Bind(std::move(interfaces)); | 568 remote_interfaces->Bind(std::move(interfaces)); |
| 563 rph->SetRemoteInterfaces(std::move(remote_interfaces)); | 569 rph->SetRemoteInterfaces(std::move(remote_interfaces)); |
| 564 return registry; | 570 return registry; |
| 565 } | 571 } |
| 566 | 572 |
| 567 } // namespace content | 573 } // namespace content |
| OLD | NEW |