diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /testing/web-platform/tests/interfaces/payment-handler.idl | |
parent | Initial commit. (diff) | |
download | thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/interfaces/payment-handler.idl')
-rw-r--r-- | testing/web-platform/tests/interfaces/payment-handler.idl | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/testing/web-platform/tests/interfaces/payment-handler.idl b/testing/web-platform/tests/interfaces/payment-handler.idl new file mode 100644 index 0000000000..91c01297f4 --- /dev/null +++ b/testing/web-platform/tests/interfaces/payment-handler.idl @@ -0,0 +1,131 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Payment Handler API (https://w3c.github.io/payment-handler/) + +partial interface ServiceWorkerRegistration { + [SameObject] readonly attribute PaymentManager paymentManager; +}; + +[SecureContext, Exposed=(Window)] +interface PaymentManager { + attribute DOMString userHint; + Promise<undefined> enableDelegations(sequence<PaymentDelegation> delegations); +}; + +enum PaymentDelegation { + "shippingAddress", + "payerName", + "payerPhone", + "payerEmail" +}; + +partial interface ServiceWorkerGlobalScope { + attribute EventHandler oncanmakepayment; +}; + +[Exposed=ServiceWorker] +interface CanMakePaymentEvent : ExtendableEvent { + constructor(DOMString type); + undefined respondWith(Promise<boolean> canMakePaymentResponse); +}; + +partial interface ServiceWorkerGlobalScope { + attribute EventHandler onpaymentrequest; +}; + +dictionary PaymentRequestDetailsUpdate { + DOMString error; + PaymentCurrencyAmount total; + sequence<PaymentDetailsModifier> modifiers; + sequence<PaymentShippingOption> shippingOptions; + object paymentMethodErrors; + AddressErrors shippingAddressErrors; +}; + +[Exposed=ServiceWorker] +interface PaymentRequestEvent : ExtendableEvent { + constructor(DOMString type, optional PaymentRequestEventInit eventInitDict = {}); + readonly attribute USVString topOrigin; + readonly attribute USVString paymentRequestOrigin; + readonly attribute DOMString paymentRequestId; + readonly attribute FrozenArray<PaymentMethodData> methodData; + readonly attribute object total; + readonly attribute FrozenArray<PaymentDetailsModifier> modifiers; + readonly attribute object? paymentOptions; + readonly attribute FrozenArray<PaymentShippingOption>? shippingOptions; + Promise<WindowClient?> openWindow(USVString url); + Promise<PaymentRequestDetailsUpdate?> changePaymentMethod(DOMString methodName, optional object? methodDetails = null); + Promise<PaymentRequestDetailsUpdate?> changeShippingAddress(optional AddressInit shippingAddress = {}); + Promise<PaymentRequestDetailsUpdate?> changeShippingOption(DOMString shippingOption); + undefined respondWith(Promise<PaymentHandlerResponse> handlerResponsePromise); +}; + +dictionary PaymentRequestEventInit : ExtendableEventInit { + USVString topOrigin; + USVString paymentRequestOrigin; + DOMString paymentRequestId; + sequence<PaymentMethodData> methodData; + PaymentCurrencyAmount total; + sequence<PaymentDetailsModifier> modifiers; + PaymentOptions paymentOptions; + sequence<PaymentShippingOption> shippingOptions; +}; + +dictionary PaymentHandlerResponse { +DOMString methodName; +object details; +DOMString? payerName; +DOMString? payerEmail; +DOMString? payerPhone; +AddressInit shippingAddress; +DOMString? shippingOption; +}; + +dictionary AddressInit { + DOMString country = ""; + sequence<DOMString> addressLine = []; + DOMString region = ""; + DOMString city = ""; + DOMString dependentLocality = ""; + DOMString postalCode = ""; + DOMString sortingCode = ""; + DOMString organization = ""; + DOMString recipient = ""; + DOMString phone = ""; +}; + +dictionary PaymentOptions { + boolean requestPayerName = false; + boolean requestBillingAddress = false; + boolean requestPayerEmail = false; + boolean requestPayerPhone = false; + boolean requestShipping = false; + PaymentShippingType shippingType = "shipping"; +}; + +dictionary PaymentShippingOption { + required DOMString id; + required DOMString label; + required PaymentCurrencyAmount amount; + boolean selected = false; +}; + +enum PaymentShippingType { + "shipping", + "delivery", + "pickup" +}; + +dictionary AddressErrors { + DOMString addressLine; + DOMString city; + DOMString country; + DOMString dependentLocality; + DOMString organization; + DOMString phone; + DOMString postalCode; + DOMString recipient; + DOMString region; + DOMString sortingCode; +}; |