Revision 4f06a45252465792447f80b6559b17c4c4e9712c authored by Daniel Vogelheim on 10 April 2018, 13:07:39 UTC, committed by Chromium WPT Sync on 10 April 2018, 13:07:39 UTC
Allow control of the deprecation via runtime enabled features, with a first
step for logging a warning to the console, and the second step to block it
outright.

Intent:  https://groups.google.com/a/chromium.org/d/msg/blink-dev/35t5cJQ3J_Q/FH45dl0vAwAJ

Change-Id: I1be1001cbbef152458119b1516750bb4f1d1e4de
Reviewed-on: https://chromium-review.googlesource.com/975611
Commit-Queue: Daniel Vogelheim <vogelheim@chromium.org>
Reviewed-by: Mike West <mkwst@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549495}
1 parent 069680c
Raw File
payment-handler.idl
[SecureContext,
 Exposed=(Window,Worker)]
interface PaymentManager {
    [SameObject]
    readonly attribute PaymentInstruments instruments;
    [Exposed=Window] static Promise<PermissionState> requestPermission();
};
[SecureContext,
 Exposed=(Window,Worker)]
interface PaymentInstruments {
    Promise<boolean>             delete(DOMString instrumentKey);
    Promise<PaymentInstrument>   get(DOMString instrumentKey);
    Promise<sequence<DOMString>> keys();
    Promise<boolean>             has(DOMString instrumentKey);
    Promise<void>                set(DOMString instrumentKey,
                                     PaymentInstrument details);
    Promise<void>                clear();
};
dictionary PaymentInstrument {
    required DOMString             name;
             sequence<ImageObject> icons;
             DOMString             method;
             object                capabilities;
};
dictionary ImageObject {
    required USVString src;
             DOMString sizes;
             DOMString type;
};
[Constructor(DOMString type, CanMakePaymentEventInit eventInitDict),
 Exposed=ServiceWorker]
interface CanMakePaymentEvent : ExtendableEvent {
    readonly attribute USVString                           topLevelOrigin;
    readonly attribute USVString                           paymentRequestOrigin;
    readonly attribute FrozenArray<PaymentMethodData>      methodData;
    readonly attribute FrozenArray<PaymentDetailsModifier> modifiers;
    void respondWith(Promise<boolean> canMakePaymentResponse);
};
dictionary CanMakePaymentEventInit : ExtendableEventInit {
    USVString                        topLevelOrigin;
    USVString                        paymentRequestOrigin;
    sequence<PaymentMethodData>      methodData;
    sequence<PaymentDetailsModifier> modifiers;
};
[Constructor(DOMString type, PaymentRequestEventInit eventInitDict),
 Exposed=ServiceWorker]
interface PaymentRequestEvent : ExtendableEvent {
    readonly attribute USVString                           topLevelOrigin;
    readonly attribute USVString                           paymentRequestOrigin;
    readonly attribute DOMString                           paymentRequestId;
    readonly attribute FrozenArray<PaymentMethodData>      methodData;
    readonly attribute object                              total;
    readonly attribute FrozenArray<PaymentDetailsModifier> modifiers;
    readonly attribute DOMString                           instrumentKey;
    Promise<WindowClient?> openWindow(USVString url);
    void                   respondWith(Promise<PaymentHandlerResponse> handlerResponse);
};
dictionary PaymentRequestEventInit : ExtendableEventInit {
    USVString                        topLevelOrigin;
    USVString                        paymentRequestOrigin;
    DOMString                        paymentRequestId;
    sequence<PaymentMethodData>      methodData;
    PaymentCurrencyAmount            total;
    sequence<PaymentDetailsModifier> modifiers;
    DOMString                        instrumentKey;
};
dictionary PaymentHandlerResponse {
    DOMString methodName;
    object    details;
};
back to top