mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-01 14:45:29 +00:00
135 lines
3.9 KiB
JavaScript
135 lines
3.9 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
"use strict";
|
|
|
|
const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
|
|
|
|
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
|
|
|
|
const PAYMENTREQUESTINFO_CID =
|
|
Components.ID("{0a58c67d-f003-48da-81d1-bd8f605f4b1c}");
|
|
const PAYMENTPRODUCTPRICE_CID =
|
|
Components.ID("{3d7dcabf-b77c-4bb3-b225-46011898ec32}");
|
|
const PAYMENTREQUESTPAYMENTINFO_CID =
|
|
Components.ID("{7f2e3274-3956-42e1-b7ce-59b8cd23d177}");
|
|
const PAYMENTREQUESTREFUNDINFO_CID =
|
|
Components.ID("{e75566c6-dfb1-4f6b-b21d-078536c883b0}");
|
|
|
|
// nsIDOMPaymentProductPrice
|
|
|
|
function PaymentProductPrice() {
|
|
this.wrappedJSObject = this;
|
|
};
|
|
|
|
PaymentProductPrice.prototype = {
|
|
QueryInterface: XPCOMUtils.generateQI([Ci.nsIDOMPaymentProductPrice]),
|
|
classID: PAYMENTPRODUCTPRICE_CID,
|
|
classInfo: XPCOMUtils.generateCI({
|
|
classID: PAYMENTPRODUCTPRICE_CID,
|
|
contractID: "@mozilla.org/payment/product-price;1",
|
|
classDescription: "Payment product price",
|
|
flags: Ci.nsIClassInfo.DOM_OBJECT,
|
|
interfaces: [Ci.nsIDOMPaymentProductPrice]
|
|
}),
|
|
currency: null,
|
|
amount: null,
|
|
|
|
init: function init(aCurrency, aAmount) {
|
|
this.currency = aCurrency;
|
|
this.amount = aAmount;
|
|
}
|
|
};
|
|
|
|
|
|
// nsIDOMPaymentRequestInfo
|
|
|
|
function PaymentRequestInfo() {
|
|
};
|
|
|
|
PaymentRequestInfo.prototype = {
|
|
QueryInterface: XPCOMUtils.generateQI([Ci.nsIDOMPaymentRequestInfo]),
|
|
classID: PAYMENTREQUESTINFO_CID,
|
|
classInfo: XPCOMUtils.generateCI({
|
|
classID: PAYMENTREQUESTINFO_CID,
|
|
contractID: "@mozilla.org/payment/request-info;1",
|
|
classDescription: "Payment request information",
|
|
flags: Ci.nsIClassInfo.DOM_OBJECT,
|
|
interfaces: [Ci.nsIDOMPaymentRequestInfo]
|
|
}),
|
|
jwt: null,
|
|
type: null,
|
|
providerName: null,
|
|
|
|
initRequest: function initRequest(aJwt, aType, aProviderName) {
|
|
this.jwt = aJwt;
|
|
this.type = aType;
|
|
this.providerName = aProviderName;
|
|
}
|
|
};
|
|
|
|
// nsIDOMPaymentRequestPaymentInfo
|
|
|
|
function PaymentRequestPaymentInfo() {
|
|
this.wrappedJSObject = this;
|
|
};
|
|
|
|
PaymentRequestPaymentInfo.prototype = {
|
|
__proto__: PaymentRequestInfo.prototype,
|
|
|
|
QueryInterface: XPCOMUtils.generateQI([Ci.nsIDOMPaymentRequestPaymentInfo]),
|
|
classID: PAYMENTREQUESTPAYMENTINFO_CID,
|
|
classInfo: XPCOMUtils.generateCI({
|
|
classID: PAYMENTREQUESTPAYMENTINFO_CID,
|
|
contractID: "@mozilla.org/payment/request-payment-info;1",
|
|
classDescription: "Payment request payment information",
|
|
flags: Ci.nsIClassInfo.DOM_OBJECT,
|
|
interfaces: [Ci.nsIDOMPaymentRequestPaymentInfo]
|
|
}),
|
|
productName: null,
|
|
productDescription: null,
|
|
productPrice: null,
|
|
|
|
init: function init(aJwt, aType, aProviderName,
|
|
aProductName, aProductDescription, aProductPrice) {
|
|
this.__proto__.initRequest.call(this, aJwt, aType, aProviderName);
|
|
this.productName = aProductName;
|
|
this.productDescription = aProductDescription;
|
|
this.productPrice = aProductPrice;
|
|
}
|
|
};
|
|
|
|
// nsIDOMPaymentRequestRefundInfo
|
|
|
|
function PaymentRequestRefundInfo() {
|
|
this.wrappedJSObject = this;
|
|
};
|
|
|
|
PaymentRequestRefundInfo.prototype = {
|
|
__proto__: PaymentRequestInfo.prototype,
|
|
|
|
QueryInterface: XPCOMUtils.generateQI([Ci.nsIDOMPaymentRequestRefundInfo]),
|
|
classID: PAYMENTREQUESTREFUNDINFO_CID,
|
|
classInfo: XPCOMUtils.generateCI({
|
|
classID: PAYMENTREQUESTREFUNDINFO_CID,
|
|
contractID: "@mozilla.org/payment/request-refund-info;1",
|
|
classDescription: "Payment request refund information",
|
|
flags: Ci.nsIClassInfo.DOM_OBJECT,
|
|
interfaces: [Ci.nsIDOMPaymentRequestRefundInfo]
|
|
}),
|
|
reason: null,
|
|
|
|
init: function init(aJwt, aType, aProviderName, aReason) {
|
|
this.__proto__.initRequest.call(this, aJwt, aType, aProviderName);
|
|
this.reason = aReason;
|
|
}
|
|
};
|
|
|
|
const NSGetFactory = XPCOMUtils.generateNSGetFactory([
|
|
PaymentProductPrice,
|
|
PaymentRequestInfo,
|
|
PaymentRequestPaymentInfo,
|
|
PaymentRequestRefundInfo
|
|
]);
|