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 7f6f81b1b9e1f8e90603e49de0dae8c32a3632d1..b1c68559a6e24993f279bda58776f7d953136991 100644 |
--- a/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp |
+++ b/third_party/WebKit/Source/web/ServiceWorkerGlobalScopeProxy.cpp |
@@ -46,6 +46,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" |
@@ -328,6 +331,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); |