Index: Source/web/ServiceWorkerGlobalScopeProxy.cpp |
diff --git a/Source/web/ServiceWorkerGlobalScopeProxy.cpp b/Source/web/ServiceWorkerGlobalScopeProxy.cpp |
index 73f7f26bd18869216aaa78eeafd4da9cc2e500e3..75b1e0e5137d34764c5c570f1ec9ddf722a60088 100644 |
--- a/Source/web/ServiceWorkerGlobalScopeProxy.cpp |
+++ b/Source/web/ServiceWorkerGlobalScopeProxy.cpp |
@@ -140,11 +140,9 @@ void ServiceWorkerGlobalScopeProxy::dispatchNotificationErrorEvent(int eventID, |
void ServiceWorkerGlobalScopeProxy::dispatchPushEvent(int eventID, const WebString& data) |
{ |
ASSERT(m_workerGlobalScope); |
- m_workerGlobalScope->dispatchEvent(PushEvent::create(EventTypeNames::push, data)); |
- // TODO(mvanouwerkerk): Instead of calling didHandlePushEvent here, it |
- // should get called from WaitUntilObserver::decrementPendingActivity once |
- // the push event is hooked up to event.waitUntil (crbug.com/430888). |
- ServiceWorkerGlobalScopeClient::from(m_workerGlobalScope)->didHandlePushEvent(eventID, WebServiceWorkerEventResultCompleted); |
+ WaitUntilObserver* observer = WaitUntilObserver::create(m_workerGlobalScope, WaitUntilObserver::Push, eventID); |
+ RefPtrWillBeRawPtr<Event> event(PushEvent::create(EventTypeNames::push, data, observer)); |
+ m_workerGlobalScope->dispatchExtendableEvent(event.release(), observer); |
} |
void ServiceWorkerGlobalScopeProxy::dispatchSyncEvent(int eventID) |