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

Unified Diff: content/browser/push_messaging/push_messaging_router.cc

Issue 2569993002: [ServiceWorker] Mojofy PushEvent of Service Worker. (Closed)
Patch Set: Created 4 years 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/push_messaging/push_messaging_router.cc
diff --git a/content/browser/push_messaging/push_messaging_router.cc b/content/browser/push_messaging/push_messaging_router.cc
index f6ff797ff2540b972d03d8e9a54fe25623969157..584dfa0f34cfc63a3d2028d831f7c4e9a613374c 100644
--- a/content/browser/push_messaging/push_messaging_router.cc
+++ b/content/browser/push_messaging/push_messaging_router.cc
@@ -123,8 +123,14 @@ void PushMessagingRouter::DeliverMessageToWorker(
deliver_message_callback, service_worker_registration),
base::TimeDelta::FromSeconds(kPushMessageTimeoutSeconds),
ServiceWorkerVersion::KILL_ON_TIMEOUT);
- service_worker->DispatchSimpleEvent<ServiceWorkerHostMsg_PushEventFinished>(
- request_id, ServiceWorkerMsg_PushEvent(request_id, payload));
+
+ // |event_dispatcher| is owned by |service_worker|, once |service_worker|
+ // got destroyed, the bound function will never be called, so it is safe to
+ // use
shimazu 2016/12/14 04:42:34 nit: please fix indent
xiaofengzhang 2016/12/15 01:30:49 Acknowledged.
+ // base::Unretained() here.
+ service_worker->event_dispatcher()->DispatchPushEvent(
+ payload, base::Bind(&ServiceWorkerVersion::OnSimpleEventFinished,
+ base::Unretained(service_worker.get()), request_id));
Peter Beverloo 2016/12/13 13:31:32 Instead of using base::Unretained(), just pass |se
leonhsl(Using Gerrit) 2016/12/14 03:29:18 I have one question which I'm not so sure: This wa
xiaofengzhang 2016/12/15 01:30:48 I re-submit and pass |service_worker| directly, bu
xiaofengzhang 2016/12/16 01:34:48 Any comments on Leon's question: "I have one quest
}
// static

Powered by Google App Engine
This is Rietveld 408576698