From 4215e2e6373356fe9cd28dd97959580afefc6951 Mon Sep 17 00:00:00 2001 From: Nikhil Marathe Date: Thu, 25 Jun 2015 18:50:26 -0700 Subject: [PATCH] Bug 1114554 - Patch 8 - Support waitUntil() on notificationclick event. r=baku This was originally a part of Bug 1160527, separated due to changes in order of landing the patches. --- dom/workers/ServiceWorkerManager.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dom/workers/ServiceWorkerManager.cpp b/dom/workers/ServiceWorkerManager.cpp index fb86820fd11..bb481e37781 100644 --- a/dom/workers/ServiceWorkerManager.cpp +++ b/dom/workers/ServiceWorkerManager.cpp @@ -2357,7 +2357,14 @@ public: } event->SetTrusted(true); - target->DispatchDOMEvent(nullptr, event, nullptr, nullptr); + nsRefPtr waitUntilPromise = + DispatchExtendableEventOnWorkerScope(aCx, aWorkerPrivate->GlobalScope(), event); + + if (waitUntilPromise) { + nsRefPtr handler = new KeepAliveHandler(mServiceWorker); + waitUntilPromise->AppendNativeHandler(handler); + } + return true; } };