| 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 <memory> | 8 #include <memory> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 std::move(request)); | 119 std::move(request)); |
| 120 } | 120 } |
| 121 | 121 |
| 122 MockServiceWorkerEventDispatcher( | 122 MockServiceWorkerEventDispatcher( |
| 123 const base::WeakPtr<EmbeddedWorkerTestHelper>& helper, | 123 const base::WeakPtr<EmbeddedWorkerTestHelper>& helper, |
| 124 int thread_id) | 124 int thread_id) |
| 125 : helper_(helper), thread_id_(thread_id) {} | 125 : helper_(helper), thread_id_(thread_id) {} |
| 126 | 126 |
| 127 ~MockServiceWorkerEventDispatcher() override {} | 127 ~MockServiceWorkerEventDispatcher() override {} |
| 128 | 128 |
| 129 void DispatchActivateEvent( | |
| 130 const DispatchActivateEventCallback& callback) override { | |
| 131 if (!helper_) | |
| 132 return; | |
| 133 helper_->OnActivateEventStub(callback); | |
| 134 } | |
| 135 | |
| 136 void DispatchFetchEvent(int fetch_event_id, | 129 void DispatchFetchEvent(int fetch_event_id, |
| 137 const ServiceWorkerFetchRequest& request, | 130 const ServiceWorkerFetchRequest& request, |
| 138 mojom::FetchEventPreloadHandlePtr preload_handle, | 131 mojom::FetchEventPreloadHandlePtr preload_handle, |
| 139 const DispatchFetchEventCallback& callback) override { | 132 const DispatchFetchEventCallback& callback) override { |
| 140 if (!helper_) | 133 if (!helper_) |
| 141 return; | 134 return; |
| 142 helper_->OnFetchEventStub(thread_id_, fetch_event_id, request, | 135 helper_->OnFetchEventStub(thread_id_, fetch_event_id, request, |
| 143 std::move(preload_handle), callback); | 136 std::move(preload_handle), callback); |
| 144 } | 137 } |
| 145 | 138 |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 319 // By default just notify the sender that the worker is stopped. | 312 // By default just notify the sender that the worker is stopped. |
| 320 callback.Run(); | 313 callback.Run(); |
| 321 } | 314 } |
| 322 | 315 |
| 323 bool EmbeddedWorkerTestHelper::OnMessageToWorker(int thread_id, | 316 bool EmbeddedWorkerTestHelper::OnMessageToWorker(int thread_id, |
| 324 int embedded_worker_id, | 317 int embedded_worker_id, |
| 325 const IPC::Message& message) { | 318 const IPC::Message& message) { |
| 326 bool handled = true; | 319 bool handled = true; |
| 327 current_embedded_worker_id_ = embedded_worker_id; | 320 current_embedded_worker_id_ = embedded_worker_id; |
| 328 IPC_BEGIN_MESSAGE_MAP(EmbeddedWorkerTestHelper, message) | 321 IPC_BEGIN_MESSAGE_MAP(EmbeddedWorkerTestHelper, message) |
| 322 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ActivateEvent, OnActivateEventStub) |
| 329 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEventStub) | 323 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEventStub) |
| 330 IPC_MESSAGE_UNHANDLED(handled = false) | 324 IPC_MESSAGE_UNHANDLED(handled = false) |
| 331 IPC_END_MESSAGE_MAP() | 325 IPC_END_MESSAGE_MAP() |
| 332 // Record all messages directed to inner script context. | 326 // Record all messages directed to inner script context. |
| 333 inner_sink_.OnMessageReceived(message); | 327 inner_sink_.OnMessageReceived(message); |
| 334 return handled; | 328 return handled; |
| 335 } | 329 } |
| 336 | 330 |
| 337 void EmbeddedWorkerTestHelper::OnActivateEvent( | 331 void EmbeddedWorkerTestHelper::OnActivateEvent(int embedded_worker_id, |
| 338 const mojom::ServiceWorkerEventDispatcher::DispatchActivateEventCallback& | 332 int request_id) { |
| 339 callback) { | 333 SimulateSend(new ServiceWorkerHostMsg_ActivateEventFinished( |
| 340 dispatched_events()->push_back(Event::Activate); | 334 embedded_worker_id, request_id, |
| 341 callback.Run(SERVICE_WORKER_OK, base::Time::Now()); | 335 blink::WebServiceWorkerEventResultCompleted, base::Time::Now())); |
| 342 } | 336 } |
| 343 | 337 |
| 344 void EmbeddedWorkerTestHelper::OnExtendableMessageEvent( | 338 void EmbeddedWorkerTestHelper::OnExtendableMessageEvent( |
| 345 mojom::ExtendableMessageEventPtr event, | 339 mojom::ExtendableMessageEventPtr event, |
| 346 const mojom::ServiceWorkerEventDispatcher:: | 340 const mojom::ServiceWorkerEventDispatcher:: |
| 347 DispatchExtendableMessageEventCallback& callback) { | 341 DispatchExtendableMessageEventCallback& callback) { |
| 348 callback.Run(SERVICE_WORKER_OK, base::Time::Now()); | 342 callback.Run(SERVICE_WORKER_OK, base::Time::Now()); |
| 349 } | 343 } |
| 350 | 344 |
| 351 void EmbeddedWorkerTestHelper::OnInstallEvent(int embedded_worker_id, | 345 void EmbeddedWorkerTestHelper::OnInstallEvent(int embedded_worker_id, |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 518 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); | 512 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); |
| 519 ASSERT_TRUE(worker); | 513 ASSERT_TRUE(worker); |
| 520 EXPECT_EQ(worker->thread_id(), thread_id); | 514 EXPECT_EQ(worker->thread_id(), thread_id); |
| 521 base::ThreadTaskRunnerHandle::Get()->PostTask( | 515 base::ThreadTaskRunnerHandle::Get()->PostTask( |
| 522 FROM_HERE, | 516 FROM_HERE, |
| 523 base::Bind( | 517 base::Bind( |
| 524 base::IgnoreResult(&EmbeddedWorkerTestHelper::OnMessageToWorker), | 518 base::IgnoreResult(&EmbeddedWorkerTestHelper::OnMessageToWorker), |
| 525 AsWeakPtr(), thread_id, embedded_worker_id, message)); | 519 AsWeakPtr(), thread_id, embedded_worker_id, message)); |
| 526 } | 520 } |
| 527 | 521 |
| 528 void EmbeddedWorkerTestHelper::OnActivateEventStub( | 522 void EmbeddedWorkerTestHelper::OnActivateEventStub(int request_id) { |
| 529 const mojom::ServiceWorkerEventDispatcher::DispatchActivateEventCallback& | |
| 530 callback) { | |
| 531 base::ThreadTaskRunnerHandle::Get()->PostTask( | 523 base::ThreadTaskRunnerHandle::Get()->PostTask( |
| 532 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnActivateEvent, | 524 FROM_HERE, |
| 533 AsWeakPtr(), callback)); | 525 base::Bind(&EmbeddedWorkerTestHelper::OnActivateEvent, AsWeakPtr(), |
| 526 current_embedded_worker_id_, request_id)); |
| 534 } | 527 } |
| 535 | 528 |
| 536 void EmbeddedWorkerTestHelper::OnExtendableMessageEventStub( | 529 void EmbeddedWorkerTestHelper::OnExtendableMessageEventStub( |
| 537 mojom::ExtendableMessageEventPtr event, | 530 mojom::ExtendableMessageEventPtr event, |
| 538 const mojom::ServiceWorkerEventDispatcher:: | 531 const mojom::ServiceWorkerEventDispatcher:: |
| 539 DispatchExtendableMessageEventCallback& callback) { | 532 DispatchExtendableMessageEventCallback& callback) { |
| 540 base::ThreadTaskRunnerHandle::Get()->PostTask( | 533 base::ThreadTaskRunnerHandle::Get()->PostTask( |
| 541 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnExtendableMessageEvent, | 534 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnExtendableMessageEvent, |
| 542 AsWeakPtr(), base::Passed(&event), callback)); | 535 AsWeakPtr(), base::Passed(&event), callback)); |
| 543 } | 536 } |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 624 service_manager::InterfaceProviderSpec()); | 617 service_manager::InterfaceProviderSpec()); |
| 625 | 618 |
| 626 std::unique_ptr<service_manager::InterfaceProvider> remote_interfaces( | 619 std::unique_ptr<service_manager::InterfaceProvider> remote_interfaces( |
| 627 new service_manager::InterfaceProvider); | 620 new service_manager::InterfaceProvider); |
| 628 remote_interfaces->Bind(std::move(interfaces)); | 621 remote_interfaces->Bind(std::move(interfaces)); |
| 629 rph->SetRemoteInterfaces(std::move(remote_interfaces)); | 622 rph->SetRemoteInterfaces(std::move(remote_interfaces)); |
| 630 return registry; | 623 return registry; |
| 631 } | 624 } |
| 632 | 625 |
| 633 } // namespace content | 626 } // namespace content |
| OLD | NEW |