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