This patch changed the initialization of records so that we don't call into credit card
AutofillRecords class if it is pref-off.
Differential Revision: https://phabricator.services.mozilla.com/D9158
--HG--
extra : rebase_source : ee9802af34d8ce63dc3569c10e310762e2271301
extra : histedit_source : 443fb496f872d61b68dcae3bba691c4e1089bf3e
This patch morphs MasterPassword.jsm to OSKeyStore.jsm while keeping the same
API, as an adaptor between the API and the native API exposed as nsIOSKeyStore.idl.
Noted that OS Key Store has the concept of "recovery phrase" that we won't
be adopting here. The recovery phrase, together with our label, allow
the user to re-create the same key in OS key store.
Test case changes are needed because we have started asking for login in
places where we'll only do previously when "master password is enabled".
This also made some "when master password is enabled" tests invalid because
it is always considered enabled.
Some more test changes are needed simply because they previously rely on the
stable order of microtask resolutions (and the stable # of promises for a
specific operation). That has certainly changed with OSKeyStore.
The credit card form autofill is only enabled on Nightly.
Differential Revision: https://phabricator.services.mozilla.com/D4498
--HG--
rename : browser/extensions/formautofill/MasterPassword.jsm => browser/extensions/formautofill/OSKeyStore.jsm
rename : browser/extensions/formautofill/test/browser/browser_creditCard_fill_master_password.js => browser/extensions/formautofill/test/browser/browser_creditCard_fill_cancel_login.js
extra : rebase_source : cabbd8cdec86e5b3965cf1c8b6e635b73b6c2095
extra : histedit_source : 65e71057104465553fefa1d0b293580efed53075
Also require basicCardPage has a selectedStateKey
--HG--
rename : browser/components/payments/test/browser/browser_payments_onboarding_wizard.js => browser/components/payments/test/browser/browser_onboarding_wizard.js
Also require basicCardPage has a selectedStateKey
--HG--
rename : browser/components/payments/test/browser/browser_payments_onboarding_wizard.js => browser/components/payments/test/browser/browser_onboarding_wizard.js
extra : rebase_source : f73b3b3f0a5c5ec94ffdbf722f4887097d05d97d
Saving and filling the countries via Form Autofill will still be limited to certain countries
but this allows the storage to be useful for Web Payments in other countries.
Differential Revision: https://phabricator.services.mozilla.com/D5194
--HG--
extra : amend_source : c6810478b747cf51aaaafa73f83682cb23711231
Contributions by Matthew Noorenberghe <mozilla@noorenberghe.ca>
Differential Revision: https://phabricator.services.mozilla.com/D6420
--HG--
extra : rebase_source : eb6ef8494e76e1ceef14cd8b9214fa6d1ba782b5
* Blur before focus to reset timer for filtering <select>
* Wait for field to get focus before sending keys to it.
* Compare unpadded strings
Differential Revision: https://phabricator.services.mozilla.com/D6338
* We get the shared colours (including hover) and dropmarker.
* Makes it harder to regress the clickable area of the <rich-select> since the problem will be visible.
* Hides the text for the closed state of the <select> so the <rich-option> text can be presented.
Differential Revision: https://phabricator.services.mozilla.com/D6330
--HG--
extra : moz-landing-system : lando
The validity of the cc-number field is only updated to a failure state after the 'change' event in the EditCreditCard class, but there was no code within basic-card-form.js to update the Save button enabled state after the 'change' event had been handled by EditCreditCard.
Differential Revision: https://phabricator.services.mozilla.com/D6282
--HG--
extra : moz-landing-system : lando
synthesizeKey requires the prefix of the label which would be whitespace without cc-type so add a cc-type
Depends on D6231
Differential Revision: https://phabricator.services.mozilla.com/D6232
--HG--
extra : moz-landing-system : lando
a) We have two names starting with the same prefix: "Mrs." which causes problem when typing on a <select> to filter, especially if the desired option is already selected.
b) The prefix of the payment method option would start with whitespace if cc-type is "".
c) There would be no state change for the shipping option picker when we're requesting to select the option that's already selected.
Depends on D6230
Differential Revision: https://phabricator.services.mozilla.com/D6231
--HG--
extra : moz-landing-system : lando
* A new accepted-cards element to represent the labeled list of card icons
* Add the accepted cards section to the summary and card add/edit page
* mochitest for the accepted-cards element
* Make cc-type a required field and validate it against the list of supported networks
* Add verification of the pay button disabling when card network is not supported
Depends on D5823
Differential Revision: https://phabricator.services.mozilla.com/D5824
--HG--
extra : moz-landing-system : lando
* A new accepted-cards element to represent the labeled list of card icons
* Add the accepted cards section to the summary and card add/edit page
* mochitest for the accepted-cards element
* Make cc-type a required field and validate it against the list of supported networks
* Add verification of the pay button disabling when card network is not supported
Depends on D5823
Differential Revision: https://phabricator.services.mozilla.com/D5824
--HG--
extra : moz-landing-system : lando
* Includes a workaround to explicitly cloneInto the paymentMethods data when we create the PaymentRequest object in the content window in tests.
MozReview-Commit-ID: LFy0h3fIXXA
Differential Revision: https://phabricator.services.mozilla.com/D5823
--HG--
extra : moz-landing-system : lando
This also makes various AutofillRecords methods async, with the exception of
remove() and removeAll().
Noted that I didn't implement any kind of "lock" for FormAutofillStorage --
please do not call these methods concurrently -- if you must please |await|
for the last call to resolve. This most likely would happen in tests, and
shouldn't happen in the real world, given that all user actions happen on
macrotasks, and probably not at the next tick, unless Quicksilver is a
Firefox user.
FormAutofillStorage can be improved if there are complex use cases for it.
Differential Revision: https://phabricator.services.mozilla.com/D4420
--HG--
extra : moz-landing-system : lando
This also makes various AutofillRecords methods async, with the exception of
remove() and removeAll().
Noted that I didn't implement any kind of "lock" for FormAutofillStorage --
please do not call these methods concurrently -- if you must please |await|
for the last call to resolve. This most likely would happen in tests, and
shouldn't happen in the real world, given that all user actions happen on
macrotasks, and probably not at the next tick, unless Quicksilver is a
Firefox user.
FormAutofillStorage can be improved if there are complex use cases for it.
Differential Revision: https://phabricator.services.mozilla.com/D4420
--HG--
extra : moz-landing-system : lando
* Add cc-type as a valid field for credit card forms
* Add a select menu and new string for designating a card type in the add/edit form
* Enforce matching of cc-type to one of the list of supported network ids for Basic Card
* Expose the network ids list as CreditCard.SUPPORTED_TYPES
* Populate the cc-type options using a getCreditCardTypes util method passed into the EditCreditCard constructor
* Web Payment tests: verify cc-type picker is presented, populated as expected and selections received in the response
MozReview-Commit-ID: 9QyU1UwTRay
Differential Revision: https://phabricator.services.mozilla.com/D3830
--HG--
extra : rebase_source : 4ffffa97e845d727f1bfbcc88218992ed7d6c5a0
Honour the .selected value provided by the merchant.
Differential Revision: https://phabricator.services.mozilla.com/D3668
--HG--
extra : rebase_source : a7ea701d875f3052dabad16ca90419f7f3f3849c
extra : amend_source : 1fe3c1ecff45d73761ae848d044911c27e1840ae
Show the labels as placeholders inside of the fields.
Differential Revision: https://phabricator.services.mozilla.com/D2955
--HG--
extra : rebase_source : 4ca24b7b6833c3c1bcd4821ec127fe07c24b44d0
When editing an existing record, invalid fields should be indicated on load.
Differential Revision: https://phabricator.services.mozilla.com/D3397
MozReview-Commit-ID: CbrqEyCUoyC
--HG--
extra : rebase_source : f44dc1b66d0c37d2b301a6b5c33ddde9fa7181bf
Tests for this are in the next commit (e.g. test_address_form.html) because this can't be tested properly due to existing tests not filling fields in ways that fire input/change events.
MozReview-Commit-ID: 62CckFP6Ou3
--HG--
extra : rebase_source : 02a73ae78f6102e139cdca31e64d6248dc8d5281
Sometimes .errorMessage exists without .message
MozReview-Commit-ID: D4zBJKxfJba
--HG--
extra : rebase_source : b665ab4c79a894462064662bbf8bcc49e320d7ce
* Get default checkedness for the card persist checkbox from a new pref: dom.payments.defaults.saveCreditCard
* Get default checkedness for the address persist checkbox from a new pref: dom.payments.defaults.saveAddress
* Remember checked state from card page (only) so it doesnt change back when returning from add/edit address page
* Fix up card form tests to verify behavior in private/not-private windows, pref value, user opt-in for persisting the card
* Fix up address form tests to not conflate private/not-private windows with expected address persisting behaviour
MozReview-Commit-ID: GXMjqStlnlu
--HG--
extra : rebase_source : e267187766d221e4f865cb84065ea18231e7c012