Add @webref/idl dependency

Signed-off-by: Victor Porof <victorporof@chromium.org>
Bug: 1325812
Change-Id: I044170880d20ce0402062755787cccafd63c6a42
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3695370
Reviewed-by: Mathias Bynens <mathias@chromium.org>
diff --git a/node_modules/@webref/idl/payment-request.idl b/node_modules/@webref/idl/payment-request.idl
new file mode 100644
index 0000000..b66bb15
--- /dev/null
+++ b/node_modules/@webref/idl/payment-request.idl
@@ -0,0 +1,105 @@
+// GENERATED CONTENT - DO NOT EDIT
+// Content was automatically extracted by Reffy into webref
+// (https://github.com/w3c/webref)
+// Source: Payment Request API (https://w3c.github.io/payment-request/)
+
+[SecureContext, Exposed=Window]
+interface PaymentRequest : EventTarget {
+  constructor(
+    sequence<PaymentMethodData> methodData,
+    PaymentDetailsInit details
+  );
+  [NewObject]
+  Promise<PaymentResponse> show(optional Promise<PaymentDetailsUpdate> detailsPromise);
+  [NewObject]
+  Promise<undefined> abort();
+  [NewObject]
+  Promise<boolean> canMakePayment();
+
+  readonly attribute DOMString id;
+
+  attribute EventHandler onpaymentmethodchange;
+};
+
+dictionary PaymentMethodData {
+  required DOMString supportedMethods;
+  object data;
+};
+
+dictionary PaymentCurrencyAmount {
+  required DOMString currency;
+  required DOMString value;
+};
+
+dictionary PaymentDetailsBase {
+  sequence<PaymentItem> displayItems;
+  sequence<PaymentDetailsModifier> modifiers;
+};
+
+dictionary PaymentDetailsInit : PaymentDetailsBase {
+  DOMString id;
+  required PaymentItem total;
+};
+
+dictionary PaymentDetailsUpdate : PaymentDetailsBase {
+  PaymentItem total;
+  object paymentMethodErrors;
+};
+
+dictionary PaymentDetailsModifier {
+  required DOMString supportedMethods;
+  PaymentItem total;
+  sequence<PaymentItem> additionalDisplayItems;
+  object data;
+};
+
+dictionary PaymentItem {
+  required DOMString label;
+  required PaymentCurrencyAmount amount;
+  boolean pending = false;
+};
+
+enum PaymentComplete {
+  "fail",
+  "success",
+  "unknown"
+};
+
+[SecureContext, Exposed=Window]
+interface PaymentResponse : EventTarget  {
+  [Default] object toJSON();
+
+  readonly attribute DOMString requestId;
+  readonly attribute DOMString methodName;
+  readonly attribute object details;
+
+  [NewObject]
+  Promise<undefined> complete(optional PaymentComplete result = "unknown");
+  [NewObject]
+  Promise<undefined> retry(optional PaymentValidationErrors errorFields = {});
+};
+
+dictionary PaymentValidationErrors {
+  DOMString error;
+  object paymentMethod;
+};
+
+[SecureContext, Exposed=Window]
+interface PaymentMethodChangeEvent : PaymentRequestUpdateEvent {
+  constructor(DOMString type, optional PaymentMethodChangeEventInit eventInitDict = {});
+  readonly attribute DOMString methodName;
+  readonly attribute object? methodDetails;
+};
+
+dictionary PaymentMethodChangeEventInit : PaymentRequestUpdateEventInit {
+  DOMString methodName = "";
+  object? methodDetails = null;
+};
+
+[SecureContext, Exposed=Window]
+interface PaymentRequestUpdateEvent : Event {
+  constructor(DOMString type, optional PaymentRequestUpdateEventInit eventInitDict = {});
+  undefined updateWith(Promise<PaymentDetailsUpdate> detailsPromise);
+};
+
+dictionary PaymentRequestUpdateEventInit : EventInit {};