| Index: third_party/WebKit/Source/modules/payments/PaymentRequestEvent.idl
|
| diff --git a/third_party/WebKit/Source/modules/payments/PaymentRequestEvent.idl b/third_party/WebKit/Source/modules/payments/PaymentRequestEvent.idl
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..4c2cd0fbd821ad1fed8b59ebf077244ef2f0a9a2
|
| --- /dev/null
|
| +++ b/third_party/WebKit/Source/modules/payments/PaymentRequestEvent.idl
|
| @@ -0,0 +1,27 @@
|
| +// 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/webpayments-payment-apps-api/#idl-def-paymentrequestevent
|
| +
|
| +[
|
| + RuntimeEnabled=PaymentApp,
|
| + Exposed=ServiceWorker
|
| +] interface PaymentRequestEvent : ExtendableEvent {
|
| + readonly attribute PaymentAppRequestData data;
|
| + // The payment app api spec says that respondWith() should take a union
|
| + // type as follows:
|
| + // - respondWith((Promise<PaymentResponse> or PaymentResponse));
|
| + //
|
| + // But the web-idl spec says that Promise types are not distinguishable
|
| + // with any other type. Also, if we pass PaymentResponse to respondWith(),
|
| + // then it will just be cast to a promise immediately via Promise.resolve().
|
| + //
|
| + // We found existing case here:
|
| + // - https://github.com/w3c/ServiceWorker/issues/724
|
| + //
|
| + // So, we should just use Promise<PaymentResponse> instead of union type.
|
| + // Related spec bug:
|
| + // - https://github.com/w3c/webpayments-payment-apps-api/pull/71
|
| + void respondWith(Promise<PaymentResponse> response);
|
| +};
|
|
|