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 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 std::move(request)); | 142 std::move(request)); |
143 } | 143 } |
144 | 144 |
145 MockServiceWorkerEventDispatcher( | 145 MockServiceWorkerEventDispatcher( |
146 const base::WeakPtr<EmbeddedWorkerTestHelper>& helper, | 146 const base::WeakPtr<EmbeddedWorkerTestHelper>& helper, |
147 int thread_id) | 147 int thread_id) |
148 : helper_(helper), thread_id_(thread_id) {} | 148 : helper_(helper), thread_id_(thread_id) {} |
149 | 149 |
150 ~MockServiceWorkerEventDispatcher() override {} | 150 ~MockServiceWorkerEventDispatcher() override {} |
151 | 151 |
| 152 void DispatchActivateEvent( |
| 153 const DispatchActivateEventCallback& callback) override { |
| 154 if (!helper_) |
| 155 return; |
| 156 helper_->OnActivateEventStub(callback); |
| 157 } |
| 158 |
152 void DispatchFetchEvent(int fetch_event_id, | 159 void DispatchFetchEvent(int fetch_event_id, |
153 const ServiceWorkerFetchRequest& request, | 160 const ServiceWorkerFetchRequest& request, |
154 mojom::FetchEventPreloadHandlePtr preload_handle, | 161 mojom::FetchEventPreloadHandlePtr preload_handle, |
155 const DispatchFetchEventCallback& callback) override { | 162 const DispatchFetchEventCallback& callback) override { |
156 if (!helper_) | 163 if (!helper_) |
157 return; | 164 return; |
158 helper_->OnFetchEventStub(thread_id_, fetch_event_id, request, | 165 helper_->OnFetchEventStub(thread_id_, fetch_event_id, request, |
159 std::move(preload_handle), callback); | 166 std::move(preload_handle), callback); |
160 } | 167 } |
161 | 168 |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
337 // By default just notify the sender that the worker is stopped. | 344 // By default just notify the sender that the worker is stopped. |
338 callback.Run(); | 345 callback.Run(); |
339 } | 346 } |
340 | 347 |
341 bool EmbeddedWorkerTestHelper::OnMessageToWorker(int thread_id, | 348 bool EmbeddedWorkerTestHelper::OnMessageToWorker(int thread_id, |
342 int embedded_worker_id, | 349 int embedded_worker_id, |
343 const IPC::Message& message) { | 350 const IPC::Message& message) { |
344 bool handled = true; | 351 bool handled = true; |
345 current_embedded_worker_id_ = embedded_worker_id; | 352 current_embedded_worker_id_ = embedded_worker_id; |
346 IPC_BEGIN_MESSAGE_MAP(EmbeddedWorkerTestHelper, message) | 353 IPC_BEGIN_MESSAGE_MAP(EmbeddedWorkerTestHelper, message) |
347 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ActivateEvent, OnActivateEventStub) | |
348 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEventStub) | 354 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEventStub) |
349 IPC_MESSAGE_UNHANDLED(handled = false) | 355 IPC_MESSAGE_UNHANDLED(handled = false) |
350 IPC_END_MESSAGE_MAP() | 356 IPC_END_MESSAGE_MAP() |
351 // Record all messages directed to inner script context. | 357 // Record all messages directed to inner script context. |
352 inner_sink_.OnMessageReceived(message); | 358 inner_sink_.OnMessageReceived(message); |
353 return handled; | 359 return handled; |
354 } | 360 } |
355 | 361 |
356 void EmbeddedWorkerTestHelper::OnActivateEvent(int embedded_worker_id, | 362 void EmbeddedWorkerTestHelper::OnActivateEvent( |
357 int request_id) { | 363 const mojom::ServiceWorkerEventDispatcher::DispatchActivateEventCallback& |
358 SimulateSend(new ServiceWorkerHostMsg_ActivateEventFinished( | 364 callback) { |
359 embedded_worker_id, request_id, | 365 events_.push_back(Event::Activate); |
360 blink::WebServiceWorkerEventResultCompleted, base::Time::Now())); | 366 callback.Run(SERVICE_WORKER_OK, base::Time::Now()); |
361 } | 367 } |
362 | 368 |
363 void EmbeddedWorkerTestHelper::OnExtendableMessageEvent( | 369 void EmbeddedWorkerTestHelper::OnExtendableMessageEvent( |
364 mojom::ExtendableMessageEventPtr event, | 370 mojom::ExtendableMessageEventPtr event, |
365 const mojom::ServiceWorkerEventDispatcher:: | 371 const mojom::ServiceWorkerEventDispatcher:: |
366 DispatchExtendableMessageEventCallback& callback) { | 372 DispatchExtendableMessageEventCallback& callback) { |
367 callback.Run(SERVICE_WORKER_OK, base::Time::Now()); | 373 callback.Run(SERVICE_WORKER_OK, base::Time::Now()); |
368 } | 374 } |
369 | 375 |
370 void EmbeddedWorkerTestHelper::OnInstallEvent(int embedded_worker_id, | 376 void EmbeddedWorkerTestHelper::OnInstallEvent(int embedded_worker_id, |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
537 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); | 543 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); |
538 ASSERT_TRUE(worker); | 544 ASSERT_TRUE(worker); |
539 EXPECT_EQ(worker->thread_id(), thread_id); | 545 EXPECT_EQ(worker->thread_id(), thread_id); |
540 base::ThreadTaskRunnerHandle::Get()->PostTask( | 546 base::ThreadTaskRunnerHandle::Get()->PostTask( |
541 FROM_HERE, | 547 FROM_HERE, |
542 base::Bind( | 548 base::Bind( |
543 base::IgnoreResult(&EmbeddedWorkerTestHelper::OnMessageToWorker), | 549 base::IgnoreResult(&EmbeddedWorkerTestHelper::OnMessageToWorker), |
544 AsWeakPtr(), thread_id, embedded_worker_id, message)); | 550 AsWeakPtr(), thread_id, embedded_worker_id, message)); |
545 } | 551 } |
546 | 552 |
547 void EmbeddedWorkerTestHelper::OnActivateEventStub(int request_id) { | 553 void EmbeddedWorkerTestHelper::OnActivateEventStub( |
| 554 const mojom::ServiceWorkerEventDispatcher::DispatchActivateEventCallback& |
| 555 callback) { |
548 base::ThreadTaskRunnerHandle::Get()->PostTask( | 556 base::ThreadTaskRunnerHandle::Get()->PostTask( |
549 FROM_HERE, | 557 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnActivateEvent, |
550 base::Bind(&EmbeddedWorkerTestHelper::OnActivateEvent, AsWeakPtr(), | 558 AsWeakPtr(), callback)); |
551 current_embedded_worker_id_, request_id)); | |
552 } | 559 } |
553 | 560 |
554 void EmbeddedWorkerTestHelper::OnExtendableMessageEventStub( | 561 void EmbeddedWorkerTestHelper::OnExtendableMessageEventStub( |
555 mojom::ExtendableMessageEventPtr event, | 562 mojom::ExtendableMessageEventPtr event, |
556 const mojom::ServiceWorkerEventDispatcher:: | 563 const mojom::ServiceWorkerEventDispatcher:: |
557 DispatchExtendableMessageEventCallback& callback) { | 564 DispatchExtendableMessageEventCallback& callback) { |
558 base::ThreadTaskRunnerHandle::Get()->PostTask( | 565 base::ThreadTaskRunnerHandle::Get()->PostTask( |
559 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnExtendableMessageEvent, | 566 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnExtendableMessageEvent, |
560 AsWeakPtr(), base::Passed(&event), callback)); | 567 AsWeakPtr(), base::Passed(&event), callback)); |
561 } | 568 } |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
650 service_manager::InterfaceProviderSpec()); | 657 service_manager::InterfaceProviderSpec()); |
651 | 658 |
652 std::unique_ptr<service_manager::InterfaceProvider> remote_interfaces( | 659 std::unique_ptr<service_manager::InterfaceProvider> remote_interfaces( |
653 new service_manager::InterfaceProvider); | 660 new service_manager::InterfaceProvider); |
654 remote_interfaces->Bind(std::move(interfaces)); | 661 remote_interfaces->Bind(std::move(interfaces)); |
655 rph->SetRemoteInterfaces(std::move(remote_interfaces)); | 662 rph->SetRemoteInterfaces(std::move(remote_interfaces)); |
656 return registry; | 663 return registry; |
657 } | 664 } |
658 | 665 |
659 } // namespace content | 666 } // namespace content |
OLD | NEW |