| 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 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 315 // By default just notify the sender that the worker is stopped. | 322 // By default just notify the sender that the worker is stopped. |
| 316 callback.Run(); | 323 callback.Run(); |
| 317 } | 324 } |
| 318 | 325 |
| 319 bool EmbeddedWorkerTestHelper::OnMessageToWorker(int thread_id, | 326 bool EmbeddedWorkerTestHelper::OnMessageToWorker(int thread_id, |
| 320 int embedded_worker_id, | 327 int embedded_worker_id, |
| 321 const IPC::Message& message) { | 328 const IPC::Message& message) { |
| 322 bool handled = true; | 329 bool handled = true; |
| 323 current_embedded_worker_id_ = embedded_worker_id; | 330 current_embedded_worker_id_ = embedded_worker_id; |
| 324 IPC_BEGIN_MESSAGE_MAP(EmbeddedWorkerTestHelper, message) | 331 IPC_BEGIN_MESSAGE_MAP(EmbeddedWorkerTestHelper, message) |
| 325 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_ActivateEvent, OnActivateEventStub) | |
| 326 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEventStub) | 332 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEventStub) |
| 327 IPC_MESSAGE_UNHANDLED(handled = false) | 333 IPC_MESSAGE_UNHANDLED(handled = false) |
| 328 IPC_END_MESSAGE_MAP() | 334 IPC_END_MESSAGE_MAP() |
| 329 // Record all messages directed to inner script context. | 335 // Record all messages directed to inner script context. |
| 330 inner_sink_.OnMessageReceived(message); | 336 inner_sink_.OnMessageReceived(message); |
| 331 return handled; | 337 return handled; |
| 332 } | 338 } |
| 333 | 339 |
| 334 void EmbeddedWorkerTestHelper::OnActivateEvent(int embedded_worker_id, | 340 void EmbeddedWorkerTestHelper::OnActivateEvent( |
| 335 int request_id) { | 341 const mojom::ServiceWorkerEventDispatcher::DispatchActivateEventCallback& |
| 336 SimulateSend(new ServiceWorkerHostMsg_ActivateEventFinished( | 342 callback) { |
| 337 embedded_worker_id, request_id, | 343 events_.push_back(Event::OnActivateEvent); |
| 338 blink::WebServiceWorkerEventResultCompleted, base::Time::Now())); | 344 callback.Run(SERVICE_WORKER_OK, base::Time::Now()); |
| 339 } | 345 } |
| 340 | 346 |
| 341 void EmbeddedWorkerTestHelper::OnExtendableMessageEvent( | 347 void EmbeddedWorkerTestHelper::OnExtendableMessageEvent( |
| 342 mojom::ExtendableMessageEventPtr event, | 348 mojom::ExtendableMessageEventPtr event, |
| 343 const mojom::ServiceWorkerEventDispatcher:: | 349 const mojom::ServiceWorkerEventDispatcher:: |
| 344 DispatchExtendableMessageEventCallback& callback) { | 350 DispatchExtendableMessageEventCallback& callback) { |
| 345 callback.Run(SERVICE_WORKER_OK, base::Time::Now()); | 351 callback.Run(SERVICE_WORKER_OK, base::Time::Now()); |
| 346 } | 352 } |
| 347 | 353 |
| 348 void EmbeddedWorkerTestHelper::OnInstallEvent(int embedded_worker_id, | 354 void EmbeddedWorkerTestHelper::OnInstallEvent(int embedded_worker_id, |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 497 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); | 503 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); |
| 498 ASSERT_TRUE(worker); | 504 ASSERT_TRUE(worker); |
| 499 EXPECT_EQ(worker->thread_id(), thread_id); | 505 EXPECT_EQ(worker->thread_id(), thread_id); |
| 500 base::ThreadTaskRunnerHandle::Get()->PostTask( | 506 base::ThreadTaskRunnerHandle::Get()->PostTask( |
| 501 FROM_HERE, | 507 FROM_HERE, |
| 502 base::Bind( | 508 base::Bind( |
| 503 base::IgnoreResult(&EmbeddedWorkerTestHelper::OnMessageToWorker), | 509 base::IgnoreResult(&EmbeddedWorkerTestHelper::OnMessageToWorker), |
| 504 AsWeakPtr(), thread_id, embedded_worker_id, message)); | 510 AsWeakPtr(), thread_id, embedded_worker_id, message)); |
| 505 } | 511 } |
| 506 | 512 |
| 507 void EmbeddedWorkerTestHelper::OnActivateEventStub(int request_id) { | 513 void EmbeddedWorkerTestHelper::OnActivateEventStub( |
| 514 const mojom::ServiceWorkerEventDispatcher::DispatchActivateEventCallback& |
| 515 callback) { |
| 508 base::ThreadTaskRunnerHandle::Get()->PostTask( | 516 base::ThreadTaskRunnerHandle::Get()->PostTask( |
| 509 FROM_HERE, | 517 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnActivateEvent, |
| 510 base::Bind(&EmbeddedWorkerTestHelper::OnActivateEvent, AsWeakPtr(), | 518 AsWeakPtr(), callback)); |
| 511 current_embedded_worker_id_, request_id)); | |
| 512 } | 519 } |
| 513 | 520 |
| 514 void EmbeddedWorkerTestHelper::OnExtendableMessageEventStub( | 521 void EmbeddedWorkerTestHelper::OnExtendableMessageEventStub( |
| 515 mojom::ExtendableMessageEventPtr event, | 522 mojom::ExtendableMessageEventPtr event, |
| 516 const mojom::ServiceWorkerEventDispatcher:: | 523 const mojom::ServiceWorkerEventDispatcher:: |
| 517 DispatchExtendableMessageEventCallback& callback) { | 524 DispatchExtendableMessageEventCallback& callback) { |
| 518 base::ThreadTaskRunnerHandle::Get()->PostTask( | 525 base::ThreadTaskRunnerHandle::Get()->PostTask( |
| 519 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnExtendableMessageEvent, | 526 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnExtendableMessageEvent, |
| 520 AsWeakPtr(), base::Passed(&event), callback)); | 527 AsWeakPtr(), base::Passed(&event), callback)); |
| 521 } | 528 } |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 586 service_manager::InterfaceProviderSpec()); | 593 service_manager::InterfaceProviderSpec()); |
| 587 | 594 |
| 588 std::unique_ptr<service_manager::InterfaceProvider> remote_interfaces( | 595 std::unique_ptr<service_manager::InterfaceProvider> remote_interfaces( |
| 589 new service_manager::InterfaceProvider); | 596 new service_manager::InterfaceProvider); |
| 590 remote_interfaces->Bind(std::move(interfaces)); | 597 remote_interfaces->Bind(std::move(interfaces)); |
| 591 rph->SetRemoteInterfaces(std::move(remote_interfaces)); | 598 rph->SetRemoteInterfaces(std::move(remote_interfaces)); |
| 592 return registry; | 599 return registry; |
| 593 } | 600 } |
| 594 | 601 |
| 595 } // namespace content | 602 } // namespace content |
| OLD | NEW |