Index: third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp |
diff --git a/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp b/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp |
index b3d1850adf7115988cb12ace8c85a4223eb20caa..4d539570136cc14524f61ccb31ceb68e47e55ac1 100644 |
--- a/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp |
+++ b/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp |
@@ -45,6 +45,9 @@ |
#include "modules/notifications/Notification.h" |
#include "modules/notifications/NotificationEvent.h" |
#include "modules/notifications/NotificationEventInit.h" |
+#include "modules/payments/PaymentAppRequestData.h" |
+#include "modules/payments/PaymentAppRequestDataConversion.h" |
+#include "modules/payments/PaymentRequestEvent.h" |
#include "modules/push_messaging/PushEvent.h" |
#include "modules/push_messaging/PushMessageData.h" |
#include "modules/serviceworkers/ExtendableEvent.h" |
@@ -326,6 +329,19 @@ void ServiceWorkerGlobalScopeProxy::dispatchSyncEvent( |
workerGlobalScope()->dispatchExtendableEvent(event, observer); |
} |
+void ServiceWorkerGlobalScopeProxy::dispatchPaymentRequestEvent( |
+ int eventID, |
+ const WebPaymentAppRequestData& webData) { |
+ WaitUntilObserver* observer = WaitUntilObserver::create( |
+ workerGlobalScope(), WaitUntilObserver::PaymentRequest, eventID); |
+ Event* event = PaymentRequestEvent::create( |
+ EventTypeNames::paymentrequest, |
+ PaymentAppRequestDataConversion::toPaymentAppRequestData( |
+ workerGlobalScope()->scriptController()->getScriptState(), webData), |
+ observer); |
+ workerGlobalScope()->dispatchExtendableEvent(event, observer); |
+} |
+ |
bool ServiceWorkerGlobalScopeProxy::hasFetchEventHandler() { |
DCHECK(m_workerGlobalScope); |
return m_workerGlobalScope->hasEventListeners(EventTypeNames::fetch); |