// Copyright 2017 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://github.com/w3c/payment-handler/pull/170

[
    RuntimeEnabled=PaymentApp,
    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;

    [CallWith=ScriptState, RaisesException] void respondWith(Promise<boolean> canMakePaymentResponse);
};
