diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /browser/extensions/formautofill/content/editCreditCard.xhtml | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | browser/extensions/formautofill/content/editCreditCard.xhtml | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/browser/extensions/formautofill/content/editCreditCard.xhtml b/browser/extensions/formautofill/content/editCreditCard.xhtml new file mode 100644 index 0000000000..3ca2f3f1b5 --- /dev/null +++ b/browser/extensions/formautofill/content/editCreditCard.xhtml @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- 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/. --> +<!DOCTYPE html [ + <!ENTITY % globalDTD SYSTEM "chrome://global/locale/global.dtd"> + %globalDTD; +]> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title data-localization="addNewCreditCardTitle"/> + <link rel="stylesheet" href="chrome://formautofill/content/skin/editDialog-shared.css"/> + <link rel="stylesheet" href="chrome://formautofill/content/skin/editCreditCard.css"/> + <link rel="stylesheet" href="chrome://formautofill/content/skin/editDialog.css"/> + <script src="chrome://formautofill/content/l10n.js"></script> + <script src="chrome://formautofill/content/editDialog.js"></script> + <script src="chrome://formautofill/content/autofillEditForms.js"></script> +</head> +<body dir="&locale.dir;"> + <form id="form" class="editCreditCardForm contentPane" autocomplete="off"> + <!-- + The <span class="label-text" …/> needs to be after the form field in the same element in + order to get proper label styling with :focus and :moz-ui-invalid. + --> + <label id="cc-number-container" class="container" role="none"> + <span id="invalidCardNumberString" hidden="hidden" data-localization="invalidCardNumber"></span> + <!-- Because there is text both before and after the input, a11y will + include the value of the input in the label. Therefore, we override + with aria-labelledby. + --> + <input id="cc-number" type="text" required="required" minlength="14" pattern="[- 0-9]+" aria-labelledby="cc-number-label"/> + <span id="cc-number-label" data-localization="cardNumber" class="label-text"/> + </label> + <label id="cc-exp-month-container" class="container"> + <select id="cc-exp-month" required="required"> + <option/> + </select> + <span data-localization="cardExpiresMonth" class="label-text"/> + </label> + <label id="cc-exp-year-container" class="container"> + <select id="cc-exp-year" required="required"> + <option/> + </select> + <span data-localization="cardExpiresYear" class="label-text"/> + </label> + <label id="cc-name-container" class="container"> + <input id="cc-name" type="text" required="required"/> + <span data-localization="nameOnCard" class="label-text"/> + </label> + <label id="cc-type-container" class="container"> + <select id="cc-type" required="required"> + </select> + <span data-localization="cardNetwork" class="label-text"/> + </label> + <label id="cc-csc-container" class="container" hidden="hidden"> + <!-- The CSC container will get filled in by forms that need a CSC (using csc-input.js) --> + </label> + <div id="billingAddressGUID-container" class="billingAddressRow container rich-picker"> + <select id="billingAddressGUID" required="required"> + </select> + <label for="billingAddressGUID" data-localization="billingAddress" class="label-text"/> + </div> + </form> + <div id="controls-container"> + <button id="cancel" data-localization="cancelBtnLabel"/> + <button id="save" class="primary" data-localization="saveBtnLabel"/> + </div> + <script><![CDATA[ + "use strict"; + + /* import-globals-from l10n.js */ + + (async () => { + let { + getAddressLabel, + isCCNumber, + getCreditCardNetworks, + } = FormAutofillUtils; + let args = window.arguments || []; + let { + record, + } = args[0] || {}; + + let addresses = {}; + for (let address of await formAutofillStorage.addresses.getAll()) { + addresses[address.guid] = address; + } + + /* import-globals-from autofillEditForms.js */ + let fieldContainer = new EditCreditCard({ + form: document.getElementById("form"), + }, record, addresses, + { + getAddressLabel: getAddressLabel.bind(FormAutofillUtils), + isCCNumber: isCCNumber.bind(FormAutofillUtils), + getSupportedNetworks: getCreditCardNetworks.bind(FormAutofillUtils), + }); + + /* import-globals-from editDialog.js */ + new EditCreditCardDialog({ + title: document.querySelector("title"), + fieldContainer, + controlsContainer: document.getElementById("controls-container"), + cancel: document.getElementById("cancel"), + save: document.getElementById("save"), + }, record); + })(); + ]]></script> +</body> +</html> |