| Index: extensions/renderer/service_worker_request_sender.cc
|
| diff --git a/extensions/renderer/service_worker_request_sender.cc b/extensions/renderer/service_worker_request_sender.cc
|
| index a4d089ae7f039e8e39a0ca014b2351a7e996d5b4..2de0cf176cdc500af877d7a40815b3f13a3ed3ed 100644
|
| --- a/extensions/renderer/service_worker_request_sender.cc
|
| +++ b/extensions/renderer/service_worker_request_sender.cc
|
| @@ -12,8 +12,9 @@ namespace extensions {
|
|
|
| ServiceWorkerRequestSender::ServiceWorkerRequestSender(
|
| WorkerThreadDispatcher* dispatcher,
|
| - int embedded_worker_id)
|
| - : dispatcher_(dispatcher), embedded_worker_id_(embedded_worker_id) {}
|
| + int64_t service_worker_version_id)
|
| + : dispatcher_(dispatcher),
|
| + service_worker_version_id_(service_worker_version_id) {}
|
|
|
| ServiceWorkerRequestSender::~ServiceWorkerRequestSender() {}
|
|
|
| @@ -25,9 +26,26 @@ void ServiceWorkerRequestSender::SendRequest(
|
| int worker_thread_id = content::WorkerThread::GetCurrentId();
|
| DCHECK_GT(worker_thread_id, 0);
|
| params.worker_thread_id = worker_thread_id;
|
| - params.embedded_worker_id = embedded_worker_id_;
|
| + params.service_worker_version_id = service_worker_version_id_;
|
| +
|
| + // Keeps the worker alive during extension function call. Balanced in
|
| + // HandleWorkerResponse().
|
| + dispatcher_->Send(new ExtensionHostMsg_IncrementServiceWorkerActivity(
|
| + service_worker_version_id_));
|
|
|
| dispatcher_->Send(new ExtensionHostMsg_RequestWorker(params));
|
| }
|
|
|
| +void ServiceWorkerRequestSender::HandleWorkerResponse(
|
| + int request_id,
|
| + int64_t service_worker_version_id,
|
| + bool success,
|
| + const base::ListValue& response,
|
| + const std::string& error) {
|
| + RequestSender::HandleResponse(request_id, success, response, error);
|
| +
|
| + dispatcher_->Send(new ExtensionHostMsg_DecrementServiceWorkerActivity(
|
| + service_worker_version_id_));
|
| +}
|
| +
|
| } // namespace extensions
|
|
|