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 388d0757841baaf5a3731038a62f5dfd6f9d6be0..b03792c1a0cea084ccd09b885eff3e6dff5b55d8 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, |
+ const DispatchInstallEventCallback& callback) override { |
+ if (!helper_) |
+ return; |
+ helper_->OnInstallEventStub(callback); |
+ } |
+ |
void DispatchActivateEvent( |
const DispatchActivateEventCallback& callback) override { |
if (!helper_) |
@@ -418,11 +427,6 @@ bool EmbeddedWorkerTestHelper::OnMessageToWorker(int thread_id, |
int embedded_worker_id, |
const IPC::Message& message) { |
bool handled = true; |
leonhsl(Using Gerrit)
2017/04/23 03:33:10
After install event mojofication this function wil
shimazu
2017/04/24 05:00:13
It's great work!
Let's remove no-op functions (inn
xiaofengzhang
2017/04/24 05:44:08
Hi leon@, shimazu-san@, OnMessageToWorker is still
shimazu
2017/04/24 06:22:18
I feel separating cleanup work is not preferable b
xiaofengzhang
2017/04/25 06:01:28
Done. Thanks a lot for you detailed explanation!
|
- 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; |
@@ -473,14 +477,12 @@ void EmbeddedWorkerTestHelper::OnExtendableMessageEvent( |
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( |
+ const mojom::ServiceWorkerEventDispatcher::DispatchInstallEventCallback& |
+ callback) { |
+ dispatched_events()->push_back(Event::Install); |
+ callback.Run(SERVICE_WORKER_OK, true /* has_fetch_handler */, |
+ base::Time::Now()); |
} |
void EmbeddedWorkerTestHelper::OnFetchEvent( |
@@ -735,11 +737,12 @@ void EmbeddedWorkerTestHelper::OnExtendableMessageEventStub( |
AsWeakPtr(), base::Passed(&event), callback)); |
} |
-void EmbeddedWorkerTestHelper::OnInstallEventStub(int request_id) { |
+void EmbeddedWorkerTestHelper::OnInstallEventStub( |
+ const 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(), callback)); |
} |
void EmbeddedWorkerTestHelper::OnFetchEventStub( |