Name Description Size Coverage
android -
AutofillStorageMigrator.sys.mjs Copies a profile's autofill records from one store to the other, and checks field by field that they came out the same. The copy itself does not depend on which collection is being copied, so it lives once here; `AddressStorageMigrator` and `CreditCardStorageMigrator` at the bottom of this file supply what does -- the prefs that budget the run, the Glean category it reports to, and how two records are compared. 25923 -
Constants.ios.mjs 3606 -
default 96 %
FormAutofill.ios.sys.mjs 620 -
FormAutofill.sys.mjs Determines if an autofill feature should be enabled based on the "available" and "supportedCountries" parameters. @param {string} available Available can be one of the following: "on", "detect", "off". "on" forces the particular Form Autofill feature on, while "detect" utilizes the supported countries to see if the feature should be available. @param {string[]} supportedCountries @returns {boolean} `true` if autofill feature is supported in the current browser search region 13071 -
FormAutofillChild.ios.sys.mjs eslint-disable no-undef,mozilla/balanced-listeners 7713 -
FormAutofillChild.sys.mjs Handles content's interactions for the frame. 44351 -
FormAutofillContent.sys.mjs Form Autofill content process module. 2309 -
FormAutofillNative.cpp 51404 55 %
FormAutofillNative.h 726 -
FormAutofillParent.sys.mjs Implements a service used to access storage and communicate with content. A "fields" array is used to communicate with FormAutofillChild. Each item represents a single input field in the content page as well as its `@autocomplete` properties. The schema is as below. Please refer to FormAutofillChild.js for more details. [ { section, addressType, contactType, fieldName, value, index }, { // ... } ] 57306 -
FormAutofillPreferences.sys.mjs Injects the form autofill section into about:preferences. 19112 -
FormAutofillStorageBase.sys.mjs 69333 -
FormAutofillSync.sys.mjs 18693 -
Helpers.ios.mjs eslint mozilla/use-isInstance: 0 9816 -
jar.mn 873 -
metrics.yaml 70527 -
moz.build 1648 -
Overrides.ios.js 990 -
ProfileAutoCompleteResult.sys.mjs The footer row, kept last so that it stays below the entries contributed by other providers. Subclasses that have a footer override this; the default is to have none. @returns {object | null} The footer row, or null when there is none. 18829 -
RustAutofillAdapterBase.sys.mjs Shared half of the Rust-backed autofill storage adapters. Each collection in the vendored application-services autofill `Store` is presented to desktop through the subset of the `AutofillRecords` interface its consumers use. Everything in that presentation which does not depend on the collection lives here; a subclass supplies only what the Rust schema makes specific to its own records. A subclass must provide, as getters rather than instance fields -- the constructor below reads `_dataType`, and an instance field is not initialised until after it returns: - `_dataType` and `_logger`. - `_recordApi`, the shared record module that normalises and computes fields. - `_validFields`, the canonical field list. and as methods: - `_recordFromRust()`, `_normalize()`, and the store calls listed under "Store operations". `_recordFromRust()` is handed getAll()'s options, so a collection that hides a stored field on read reports it under `rawData`; one that hides nothing ignores them. `static _instance = null` is worth declaring for the reader, though `getInstance()` stores per subclass either way. A subclass may override the three merge hooks -- `_prepareStoredForMerge()`, `_validateRecord()` and `_recomputeBeforeWrite()` -- which do nothing here, and `_fieldsKeptWhenOmitted`, which is empty here. 24977 -
RustAutofillAddressStorage.sys.mjs Rust-backed address storage adapter. The address half of `RustAutofillAdapterBase`, which holds everything that is not specific to this collection. Every canonical address field is a plain string column. 9454 -
RustAutofillCreditCardStorage.sys.mjs Rust-backed credit card storage adapter. The credit card half of `RustAutofillAdapterBase`, which holds everything that is not specific to this collection. What is here follows from the Rust credit card schema: the store encrypts the number under its own key and keeps the last four digits in the clear, so `cc-number` is written in the clear and read back as a mask of those digits. A record this adapter hands out never carries the number itself; #numberOf is where it is read. 25669 -
RustAutofillStore.sys.mjs Supplies the primary password when NSS needs to unwrap the store's key. Both stores keep their keys in the same key4.db and the token is global, so a prompt either of them shows authenticates both, and two at once authenticate it twice over. The guards below keep that apart. The store decrypts every card it reads, and asks for the key once per card, so being asked is not a sign that anyone wants a number. Only an operation run through allowingPrompt() is shown a prompt; anything else is declined, and reads its cards back with no number, as it would while the token is locked. 9262 -
shared 92 %