fune/testing/web-platform/tests/interfaces/payment-request.idl
James Graham 4821f7812e Bug 1402002 - Update web-platform-tests to revision b88862e6e574c2116f8efea0e982f6776a3c4b22, a=testonly
MozReview-Commit-ID: FlhL7aMvsiY


--HG--
rename : testing/web-platform/tests/clipboard/OWNERS => testing/web-platform/tests/clipboard-apis/OWNERS
rename : testing/web-platform/tests/css-font-display/font-display-ref.html => testing/web-platform/tests/css-fonts/font-display/font-display-ref.html
rename : testing/web-platform/tests/css-font-display/font-display.html => testing/web-platform/tests/css-fonts/font-display/font-display.html
rename : testing/web-platform/tests/css/css-logical-properties-1/OWNERS => testing/web-platform/tests/css/css-logical-1/OWNERS
rename : testing/web-platform/tests/css/css-logical-props-1/cascading-001-ref.html => testing/web-platform/tests/css/css-logical-1/cascading-001-ref.html
rename : testing/web-platform/tests/css/css-logical-props-1/cascading-001.html => testing/web-platform/tests/css/css-logical-1/cascading-001.html
rename : testing/web-platform/tests/css/css-logical-properties-1/logicalprops-block-size-vlr.html => testing/web-platform/tests/css/css-logical-1/logicalprops-block-size-vlr.html
rename : testing/web-platform/tests/css/css-logical-properties-1/logicalprops-block-size.html => testing/web-platform/tests/css/css-logical-1/logicalprops-block-size.html
rename : testing/web-platform/tests/css/css-logical-properties-1/logicalprops-inline-size-vlr.html => testing/web-platform/tests/css/css-logical-1/logicalprops-inline-size-vlr.html
rename : testing/web-platform/tests/css/css-logical-properties-1/logicalprops-inline-size.html => testing/web-platform/tests/css/css-logical-1/logicalprops-inline-size.html
rename : testing/web-platform/tests/css/css-logical-properties-1/resources/style-check.js => testing/web-platform/tests/css/css-logical-1/resources/style-check.js
rename : testing/web-platform/tests/payment-request/payment-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html => testing/web-platform/tests/feature-policy/payment-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html
rename : testing/web-platform/tests/payment-request/payment-allowed-by-feature-policy-attribute.https.sub.html => testing/web-platform/tests/feature-policy/payment-allowed-by-feature-policy-attribute.https.sub.html
rename : testing/web-platform/tests/payment-request/payment-allowed-by-feature-policy.https.sub.html => testing/web-platform/tests/feature-policy/payment-allowed-by-feature-policy.https.sub.html
rename : testing/web-platform/tests/payment-request/payment-allowed-by-feature-policy.https.sub.html.headers => testing/web-platform/tests/feature-policy/payment-allowed-by-feature-policy.https.sub.html.headers
rename : testing/web-platform/tests/payment-request/payment-default-feature-policy.https.sub.html => testing/web-platform/tests/feature-policy/payment-default-feature-policy.https.sub.html
rename : testing/web-platform/tests/payment-request/payment-disabled-by-feature-policy.https.sub.html => testing/web-platform/tests/feature-policy/payment-disabled-by-feature-policy.https.sub.html
rename : testing/web-platform/tests/payment-request/payment-disabled-by-feature-policy.https.sub.html.headers => testing/web-platform/tests/feature-policy/payment-disabled-by-feature-policy.https.sub.html.headers
rename : testing/web-platform/tests/payment-request/payment-request-update-event-constructor.http.html => testing/web-platform/tests/payment-request/PaymentRequestUpdateEvent/constructor.http.html
rename : testing/web-platform/tests/payment-request/payment-request-update-event-updatewith-method.https.html => testing/web-platform/tests/payment-request/PaymentRequestUpdateEvent/updatewith-method.https.html
2017-09-23 15:03:31 +01:00

114 lines
3.4 KiB
Text

[Constructor(sequence<PaymentMethodData> methodData, PaymentDetailsInit details, optional PaymentOptions options),
SecureContext,
Exposed=Window]
interface PaymentRequest : EventTarget {
Promise<PaymentResponse> show();
Promise<void> abort();
Promise<boolean> canMakePayment();
readonly attribute DOMString id;
readonly attribute PaymentAddress? shippingAddress;
readonly attribute DOMString? shippingOption;
readonly attribute PaymentShippingType? shippingType;
attribute EventHandler onshippingaddresschange;
attribute EventHandler onshippingoptionchange;
};
dictionary PaymentMethodData {
required DOMString supportedMethods;
object data;
};
dictionary PaymentCurrencyAmount {
required DOMString currency;
required DOMString value;
// Note: currencySystem is "at risk" of being removed!
DOMString currencySystem = "urn:iso:std:iso:4217";
};
dictionary PaymentDetailsBase {
sequence<PaymentItem> displayItems;
sequence<PaymentShippingOption> shippingOptions;
sequence<PaymentDetailsModifier> modifiers;
};
dictionary PaymentDetailsInit : PaymentDetailsBase {
DOMString id;
required PaymentItem total;
};
dictionary PaymentDetailsUpdate : PaymentDetailsBase {
DOMString error;
PaymentItem total;
};
dictionary PaymentDetailsModifier {
required DOMString supportedMethods;
PaymentItem total;
sequence<PaymentItem> additionalDisplayItems;
object data;
};
enum PaymentShippingType {
"shipping",
"delivery",
"pickup"
};
dictionary PaymentOptions {
boolean requestPayerName = false;
boolean requestPayerEmail = false;
boolean requestPayerPhone = false;
boolean requestShipping = false;
PaymentShippingType shippingType = "shipping";
};
dictionary PaymentItem {
required DOMString label;
required PaymentCurrencyAmount amount;
boolean pending = false;
};
[SecureContext,
Exposed=Window]
interface PaymentAddress {
[Default] object toJSON();
readonly attribute DOMString country;
readonly attribute FrozenArray<DOMString> addressLine;
readonly attribute DOMString region;
readonly attribute DOMString city;
readonly attribute DOMString dependentLocality;
readonly attribute DOMString postalCode;
readonly attribute DOMString sortingCode;
readonly attribute DOMString languageCode;
readonly attribute DOMString organization;
readonly attribute DOMString recipient;
readonly attribute DOMString phone;
};
dictionary PaymentShippingOption {
required DOMString id;
required DOMString label;
required PaymentCurrencyAmount amount;
boolean selected = false;
};
enum PaymentComplete {
"fail",
"success",
"unknown"
};
[SecureContext,
Exposed=Window]
interface PaymentResponse {
[Default] object toJSON();
readonly attribute DOMString requestId;
readonly attribute DOMString methodName;
readonly attribute object details;
readonly attribute PaymentAddress? shippingAddress;
readonly attribute DOMString? shippingOption;
readonly attribute DOMString? payerName;
readonly attribute DOMString? payerEmail;
readonly attribute DOMString? payerPhone;
Promise<void> complete(optional PaymentComplete result = "unknown");
};
[Constructor(DOMString type, optional PaymentRequestUpdateEventInit eventInitDict),
SecureContext,
Exposed=Window]
interface PaymentRequestUpdateEvent : Event {
void updateWith(Promise<PaymentDetailsUpdate> detailsPromise);
};
dictionary PaymentRequestUpdateEventInit : EventInit {
};