| 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 | 
|---|