| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // https://w3c.github.io/payment-handler/#the-paymentrequestevent |
| |
| [ |
| RuntimeEnabled=PaymentApp, |
| Exposed=ServiceWorker |
| ] interface PaymentRequestEvent : ExtendableEvent { |
| constructor(DOMString type, PaymentRequestEventInit eventInitDict); |
| readonly attribute USVString topOrigin; |
| readonly attribute USVString paymentRequestOrigin; |
| readonly attribute DOMString paymentRequestId; |
| readonly attribute FrozenArray<PaymentMethodData> methodData; |
| [CallWith=ScriptState] readonly attribute object total; |
| readonly attribute FrozenArray<PaymentDetailsModifier> modifiers; |
| readonly attribute DOMString instrumentKey; |
| [CallWith=ScriptState, RuntimeEnabled=PaymentHandlerHandlesShippingAndContact] readonly attribute object? paymentOptions; |
| [RuntimeEnabled=PaymentHandlerHandlesShippingAndContact] readonly attribute FrozenArray<PaymentShippingOption>? shippingOptions; |
| |
| [CallWith=ScriptState] Promise<WindowClient?> openWindow(USVString url); |
| [CallWith=ScriptState, RaisesException, RuntimeEnabled=PaymentHandlerChangePaymentMethod] Promise<PaymentRequestDetailsUpdate?> changePaymentMethod(DOMString methodName, optional object? methodDetails = null); |
| [CallWith=ScriptState, RaisesException] void respondWith(Promise<PaymentResponse> response); |
| [CallWith=ScriptState, RaisesException, RuntimeEnabled=PaymentHandlerHandlesShippingAndContact] Promise<PaymentRequestDetailsUpdate?> changeShippingAddress(AddressInit shippingAddress); |
| [CallWith=ScriptState, RaisesException, RuntimeEnabled=PaymentHandlerHandlesShippingAndContact] Promise<PaymentRequestDetailsUpdate> changeShippingOption(DOMString shippingOption); |
| }; |