OLD | NEW |
(Empty) | |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 module payments.mojom; |
| 6 |
| 7 import "components/payments/mojom/payment_request.mojom"; |
| 8 import "mojo/common/time.mojom"; |
| 9 import "url/mojo/url.mojom"; |
| 10 |
| 11 enum PaymentAppManifestError { |
| 12 NONE, |
| 13 NOT_IMPLEMENTED, |
| 14 NO_ACTIVE_WORKER, |
| 15 MANIFEST_STORAGE_OPERATION_FAILED, |
| 16 }; |
| 17 |
| 18 struct PaymentAppOption { |
| 19 string name; |
| 20 string? icon; |
| 21 string id; |
| 22 array<string> enabled_methods; |
| 23 }; |
| 24 |
| 25 struct PaymentAppManifest { |
| 26 string name; |
| 27 string? icon; |
| 28 array<PaymentAppOption> options; |
| 29 }; |
| 30 |
| 31 interface PaymentManager { |
| 32 Init(string service_worker_scope); |
| 33 SetManifest(PaymentAppManifest payment_app_manifest) |
| 34 => (PaymentAppManifestError error); |
| 35 GetManifest() |
| 36 => (PaymentAppManifest payment_app_manifest, PaymentAppManifestError error
); |
| 37 }; |
| 38 |
| 39 struct PaymentAppRequest { |
| 40 url.mojom.Url origin; |
| 41 array<PaymentMethodData> methodData; |
| 42 PaymentItem total; |
| 43 array<PaymentDetailsModifier> modifiers; |
| 44 string optionId; |
| 45 }; |
| 46 |
| 47 struct PaymentAppResponse { |
| 48 string method_name; |
| 49 string stringified_details; |
| 50 }; |
| 51 |
| 52 // This interface is provided to pass a payment app response from payment |
| 53 // request event in renderer side to browser side by calling respondWith(). |
| 54 interface PaymentAppResponseCallback { |
| 55 OnPaymentAppResponse(PaymentAppResponse response, |
| 56 mojo.common.mojom.Time dispatch_event_time); |
| 57 }; |
OLD | NEW |