Chromium Code Reviews| Index: content/browser/service_worker/embedded_worker_test_helper.cc |
| diff --git a/content/browser/service_worker/embedded_worker_test_helper.cc b/content/browser/service_worker/embedded_worker_test_helper.cc |
| index fd6cdd6632f3764ef6587e2935b9d02792b83daa..0277561016d426d92f7b1df1cb1c4d722f30b529 100644 |
| --- a/content/browser/service_worker/embedded_worker_test_helper.cc |
| +++ b/content/browser/service_worker/embedded_worker_test_helper.cc |
| @@ -27,6 +27,7 @@ |
| #include "content/common/background_fetch/background_fetch_types.h" |
| #include "content/common/service_worker/embedded_worker_messages.h" |
| #include "content/common/service_worker/embedded_worker_start_params.h" |
| +#include "content/common/service_worker/service_worker_event_dispatcher.mojom.h" |
| #include "content/common/service_worker/service_worker_messages.h" |
| #include "content/common/service_worker/service_worker_utils.h" |
| #include "content/public/common/push_event_payload.h" |
| @@ -158,6 +159,14 @@ class EmbeddedWorkerTestHelper::MockServiceWorkerEventDispatcher |
| ~MockServiceWorkerEventDispatcher() override {} |
| + void DispatchInstallEvent( |
| + mojom::ServiceWorkerInstallEventMethodsAssociatedPtrInfo client, |
|
shimazu
2017/04/27 02:36:44
Can we have a test for SWInstannEventMethods?
xiaofengzhang
2017/04/27 05:15:32
Sure, I will try do it.
xiaofengzhang
2017/04/28 08:20:17
Done.
|
| + DispatchInstallEventCallback callback) override { |
| + if (!helper_) |
| + return; |
| + helper_->OnInstallEventStub(std::move(callback)); |
| + } |
| + |
| void DispatchActivateEvent(DispatchActivateEventCallback callback) override { |
| if (!helper_) |
| return; |
| @@ -416,20 +425,6 @@ void EmbeddedWorkerTestHelper::OnStopWorker(int embedded_worker_id) { |
| SimulateWorkerStopped(embedded_worker_id); |
| } |
| -bool EmbeddedWorkerTestHelper::OnMessageToWorker(int thread_id, |
| - int embedded_worker_id, |
| - const IPC::Message& message) { |
| - bool handled = true; |
| - current_embedded_worker_id_ = embedded_worker_id; |
| - IPC_BEGIN_MESSAGE_MAP(EmbeddedWorkerTestHelper, message) |
| - IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEventStub) |
| - IPC_MESSAGE_UNHANDLED(handled = false) |
| - IPC_END_MESSAGE_MAP() |
| - // Record all messages directed to inner script context. |
| - inner_sink_.OnMessageReceived(message); |
| - return handled; |
| -} |
| - |
| void EmbeddedWorkerTestHelper::OnActivateEvent( |
| mojom::ServiceWorkerEventDispatcher::DispatchActivateEventCallback |
| callback) { |
| @@ -475,14 +470,12 @@ void EmbeddedWorkerTestHelper::OnExtendableMessageEvent( |
| std::move(callback).Run(SERVICE_WORKER_OK, base::Time::Now()); |
| } |
| -void EmbeddedWorkerTestHelper::OnInstallEvent(int embedded_worker_id, |
| - int request_id) { |
| - // The installing worker may have been doomed and terminated. |
| - if (!registry()->GetWorker(embedded_worker_id)) |
| - return; |
| - SimulateSend(new ServiceWorkerHostMsg_InstallEventFinished( |
| - embedded_worker_id, request_id, |
| - blink::kWebServiceWorkerEventResultCompleted, true, base::Time::Now())); |
| +void EmbeddedWorkerTestHelper::OnInstallEvent( |
| + mojom::ServiceWorkerEventDispatcher::DispatchInstallEventCallback |
| + callback) { |
| + dispatched_events()->push_back(Event::Install); |
| + std::move(callback).Run(SERVICE_WORKER_OK, true /* has_fetch_handler */, |
| + base::Time::Now()); |
| } |
| void EmbeddedWorkerTestHelper::OnFetchEvent( |
| @@ -670,11 +663,6 @@ void EmbeddedWorkerTestHelper::OnMessageToWorkerStub( |
| EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); |
| ASSERT_TRUE(worker); |
| EXPECT_EQ(worker->thread_id(), thread_id); |
| - base::ThreadTaskRunnerHandle::Get()->PostTask( |
| - FROM_HERE, |
| - base::Bind( |
| - base::IgnoreResult(&EmbeddedWorkerTestHelper::OnMessageToWorker), |
| - AsWeakPtr(), thread_id, embedded_worker_id, message)); |
| } |
| void EmbeddedWorkerTestHelper::OnActivateEventStub( |
| @@ -738,11 +726,12 @@ void EmbeddedWorkerTestHelper::OnExtendableMessageEventStub( |
| AsWeakPtr(), base::Passed(&event), base::Passed(&callback))); |
| } |
| -void EmbeddedWorkerTestHelper::OnInstallEventStub(int request_id) { |
| +void EmbeddedWorkerTestHelper::OnInstallEventStub( |
| + mojom::ServiceWorkerEventDispatcher::DispatchInstallEventCallback |
| + callback) { |
| base::ThreadTaskRunnerHandle::Get()->PostTask( |
| - FROM_HERE, |
| - base::Bind(&EmbeddedWorkerTestHelper::OnInstallEvent, AsWeakPtr(), |
| - current_embedded_worker_id_, request_id)); |
| + FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnInstallEvent, |
| + AsWeakPtr(), base::Passed(&callback))); |
| } |
| void EmbeddedWorkerTestHelper::OnFetchEventStub( |