// 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/browser-payment-api/#idl-def-paymentdetailsmodifier

dictionary PaymentDetailsModifier {
    // TODO(zino): The supportedMethods's type was changed from
    // sequence<DOMString> to DOMString[1][2]. But we are not sure if we can
    // remove them now. So, we will define it as union type of DOMString and
    // sequence<DOMString> temporarily for now.
    // Please see: https://crbug.com/754779
    //
    // [1] https://github.com/w3c/browser-payment-api/pull/551
    // [2] https://w3c.github.io/browser-payment-api/#paymentdetailsmodifier-dictionary
    required (DOMString or sequence<DOMString>) supportedMethods;
    PaymentItem total;
    sequence<PaymentItem> additionalDisplayItems;
    [RuntimeEnabled=PaymentDetailsModifierData] object data;
};
