Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(75)

Unified Diff: content/browser/service_worker/service_worker_version.cc

Issue 2763453002: [ServiceWorker] Convert ping-pong IPC into mojo interface ServiceWorkerEventDispatcher (Closed)
Patch Set: Add a comment into mojom file Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/service_worker/service_worker_version.cc
diff --git a/content/browser/service_worker/service_worker_version.cc b/content/browser/service_worker/service_worker_version.cc
index 69952dea4ee3d4561a998bc01122185b2dfae8da..9af0ad64dfcff8df580ba0b4e82d5cab0f5b093d 100644
--- a/content/browser/service_worker/service_worker_version.cc
+++ b/content/browser/service_worker/service_worker_version.cc
@@ -242,12 +242,7 @@ class ServiceWorkerVersion::PingController {
if (ping_state_ != PINGING || !ping_time_.is_null())
return;
- if (version_->PingWorker() != SERVICE_WORKER_OK) {
- // TODO(falken): Maybe try resending Ping a few times first?
- ping_state_ = PING_TIMED_OUT;
- version_->OnPingTimeout();
- return;
- }
+ version_->PingWorker();
version_->RestartTick(&ping_time_);
}
@@ -968,7 +963,6 @@ bool ServiceWorkerVersion::OnMessageReceived(const IPC::Message& message) {
OnSkipWaiting)
IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ClaimClients,
OnClaimClients)
- IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_Pong, OnPongFromWorker)
IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_RegisterForeignFetchScopes,
OnRegisterForeignFetchScopes)
IPC_MESSAGE_UNHANDLED(handled = false)
@@ -1658,10 +1652,12 @@ void ServiceWorkerVersion::OnTimeoutTimer() {
ping_controller_->CheckPingStatus();
}
-ServiceWorkerStatusCode ServiceWorkerVersion::PingWorker() {
+void ServiceWorkerVersion::PingWorker() {
DCHECK(running_status() == EmbeddedWorkerStatus::STARTING ||
running_status() == EmbeddedWorkerStatus::RUNNING);
- return embedded_worker_->SendMessage(ServiceWorkerMsg_Ping());
+ // base::Unretained here is safe because event_dispatcher is owned by |this|.
+ event_dispatcher()->Ping(base::Bind(&ServiceWorkerVersion::OnPongFromWorker,
+ base::Unretained(this)));
}
void ServiceWorkerVersion::OnPingTimeout() {

Powered by Google App Engine
This is Rietveld 408576698