зеркало из https://github.com/mozilla/gecko-dev.git
Backed out 2 changesets (bug 1824473) for causing failures in test_clear_form.html CLOSED TREE
Backed out changeset b38aeb74da71 (bug 1824473) Backed out changeset b73ead08bb19 (bug 1824473)
This commit is contained in:
Родитель
91a9368bb8
Коммит
118513ad00
|
@ -8,10 +8,22 @@
|
|||
|
||||
const CACHED_STYLESHEETS = new WeakMap();
|
||||
|
||||
ChromeUtils.defineModuleGetter(
|
||||
this,
|
||||
"FormAutofill",
|
||||
"resource://autofill/FormAutofill.jsm"
|
||||
);
|
||||
ChromeUtils.defineModuleGetter(
|
||||
this,
|
||||
"FormAutofillStatus",
|
||||
"resource://autofill/FormAutofillParent.jsm"
|
||||
);
|
||||
ChromeUtils.defineModuleGetter(
|
||||
this,
|
||||
"FormAutofillParent",
|
||||
"resource://autofill/FormAutofillParent.jsm"
|
||||
);
|
||||
ChromeUtils.defineESModuleGetters(this, {
|
||||
FormAutofill: "resource://autofill/FormAutofill.sys.mjs",
|
||||
FormAutofillParent: "resource://autofill/FormAutofillParent.sys.mjs",
|
||||
FormAutofillStatus: "resource://autofill/FormAutofillParent.sys.mjs",
|
||||
AutoCompleteParent: "resource://gre/actors/AutoCompleteParent.sys.mjs",
|
||||
});
|
||||
|
||||
|
@ -173,10 +185,10 @@ this.formautofill = class extends ExtensionAPI {
|
|||
|
||||
ChromeUtils.registerWindowActor("FormAutofill", {
|
||||
parent: {
|
||||
esModuleURI: "resource://autofill/FormAutofillParent.sys.mjs",
|
||||
moduleURI: "resource://autofill/FormAutofillParent.jsm",
|
||||
},
|
||||
child: {
|
||||
esModuleURI: "resource://autofill/FormAutofillChild.sys.mjs",
|
||||
moduleURI: "resource://autofill/FormAutofillChild.jsm",
|
||||
events: {
|
||||
focusin: {},
|
||||
DOMFormBeforeSubmit: {},
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
|
||||
"use strict";
|
||||
|
||||
const { FormAutofill } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofill.sys.mjs"
|
||||
const { FormAutofill } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofill.jsm"
|
||||
);
|
||||
const { FormAutofillUtils } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillUtils.sys.mjs"
|
||||
const { FormAutofillUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
);
|
||||
|
||||
class EditAutofillForm {
|
||||
|
|
|
@ -261,8 +261,8 @@
|
|||
|
||||
_onCollapse() {
|
||||
if (this.showWarningText) {
|
||||
let { FormAutofillParent } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillParent.sys.mjs"
|
||||
let { FormAutofillParent } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillParent.jsm"
|
||||
);
|
||||
FormAutofillParent.removeMessageObserver(this);
|
||||
}
|
||||
|
@ -298,8 +298,8 @@
|
|||
this.showWarningText = this._allFieldCategories && this._focusedCategory;
|
||||
|
||||
if (this.showWarningText) {
|
||||
let { FormAutofillParent } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillParent.sys.mjs"
|
||||
let { FormAutofillParent } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillParent.jsm"
|
||||
);
|
||||
FormAutofillParent.addMessageObserver(this);
|
||||
this.updateWarningNote();
|
||||
|
|
|
@ -7,9 +7,11 @@
|
|||
|
||||
"use strict";
|
||||
|
||||
ChromeUtils.defineESModuleGetters(this, {
|
||||
formAutofillStorage: "resource://autofill/FormAutofillStorage.sys.mjs",
|
||||
});
|
||||
ChromeUtils.defineModuleGetter(
|
||||
this,
|
||||
"formAutofillStorage",
|
||||
"resource://autofill/FormAutofillStorage.jsm"
|
||||
);
|
||||
ChromeUtils.defineModuleGetter(
|
||||
this,
|
||||
"AutofillTelemetry",
|
||||
|
|
|
@ -16,8 +16,8 @@ const { AppConstants } = ChromeUtils.importESModule(
|
|||
const { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
||||
);
|
||||
const { FormAutofill } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofill.sys.mjs"
|
||||
const { FormAutofill } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofill.jsm"
|
||||
);
|
||||
const { AutofillTelemetry } = ChromeUtils.import(
|
||||
"resource://autofill/AutofillTelemetry.jsm"
|
||||
|
@ -25,10 +25,18 @@ const { AutofillTelemetry } = ChromeUtils.import(
|
|||
|
||||
ChromeUtils.defineESModuleGetters(this, {
|
||||
CreditCard: "resource://gre/modules/CreditCard.sys.mjs",
|
||||
FormAutofillUtils: "resource://autofill/FormAutofillUtils.sys.mjs",
|
||||
OSKeyStore: "resource://gre/modules/OSKeyStore.sys.mjs",
|
||||
formAutofillStorage: "resource://autofill/FormAutofillStorage.sys.mjs",
|
||||
});
|
||||
ChromeUtils.defineModuleGetter(
|
||||
this,
|
||||
"formAutofillStorage",
|
||||
"resource://autofill/FormAutofillStorage.jsm"
|
||||
);
|
||||
ChromeUtils.defineModuleGetter(
|
||||
this,
|
||||
"FormAutofillUtils",
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
);
|
||||
|
||||
const lazy = {};
|
||||
XPCOMUtils.defineLazyGetter(
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
"use strict";
|
||||
|
||||
const { FormAutofillUtils } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillUtils.sys.mjs"
|
||||
const { FormAutofillUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
);
|
||||
|
||||
ChromeUtils.defineESModuleGetters(this, {
|
||||
|
|
|
@ -62,11 +62,11 @@ async function run_test(path, dirs) {
|
|||
browser,
|
||||
[{ eligibleElementSelector, file }],
|
||||
obj => {
|
||||
const { FieldScanner } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillHeuristics.sys.mjs"
|
||||
const { FieldScanner } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillHeuristics.jsm"
|
||||
);
|
||||
const { FormAutofillUtils } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillUtils.sys.mjs"
|
||||
const { FormAutofillUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
);
|
||||
|
||||
let eligibleFields = [];
|
||||
|
|
|
@ -13,8 +13,8 @@ const SELECTORS = {
|
|||
reauthCheckbox: "#creditCardReauthenticate checkbox",
|
||||
};
|
||||
|
||||
const { FormAutofill } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofill.sys.mjs"
|
||||
const { FormAutofill } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofill.jsm"
|
||||
);
|
||||
|
||||
// Visibility of form autofill group should be hidden when opening
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
"use strict";
|
||||
|
||||
add_setup(async function() {
|
||||
let { formAutofillStorage } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillStorage.sys.mjs"
|
||||
let { formAutofillStorage } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillStorage.jsm"
|
||||
);
|
||||
await formAutofillStorage.initialize();
|
||||
});
|
||||
|
@ -280,8 +280,8 @@ add_task(async function test_editInvalidCreditCardNumber() {
|
|||
// Directly use FormAutofillStorage so we can set
|
||||
// sourceSync: true, since saveCreditCard uses FormAutofillParent
|
||||
// which doesn't expose this option.
|
||||
let { formAutofillStorage } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillStorage.sys.mjs"
|
||||
let { formAutofillStorage } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillStorage.jsm"
|
||||
);
|
||||
await formAutofillStorage.initialize();
|
||||
// Use `sourceSync: true` to bypass field normalization which will
|
||||
|
|
|
@ -7,8 +7,8 @@ const { OSKeyStoreTestUtils } = ChromeUtils.importESModule(
|
|||
"resource://testing-common/OSKeyStoreTestUtils.sys.mjs"
|
||||
);
|
||||
|
||||
const { FormAutofillParent } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillParent.sys.mjs"
|
||||
const { FormAutofillParent } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillParent.jsm"
|
||||
);
|
||||
|
||||
const MANAGE_ADDRESSES_DIALOG_URL =
|
||||
|
|
|
@ -10,8 +10,8 @@ let defaultTextColor;
|
|||
let defaultDisabledTextColor;
|
||||
let expectingPopup = null;
|
||||
|
||||
const { FormAutofillUtils } = SpecialPowers.ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillUtils.sys.mjs"
|
||||
const { FormAutofillUtils } = SpecialPowers.ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
);
|
||||
|
||||
async function sleep(ms = 500, reason = "Intentionally wait for UI ready") {
|
||||
|
@ -221,7 +221,7 @@ async function triggerAutofillAndCheckProfile(profile) {
|
|||
);
|
||||
}
|
||||
ok(
|
||||
InputEvent.isInstance(event),
|
||||
event instanceof InputEvent,
|
||||
`"input" event should be dispatched with InputEvent interface on ${element.tagName}`
|
||||
);
|
||||
is(
|
||||
|
@ -242,7 +242,7 @@ async function triggerAutofillAndCheckProfile(profile) {
|
|||
`"beforeinput" event shouldn't be fired on ${element.tagName}`
|
||||
);
|
||||
ok(
|
||||
Event.isInstance(event) && !UIEvent.isInstance(event),
|
||||
event instanceof Event && !(event instanceof UIEvent),
|
||||
`"input" event should be dispatched with Event interface on ${element.tagName}`
|
||||
);
|
||||
}
|
||||
|
|
|
@ -2,18 +2,18 @@
|
|||
|
||||
"use strict";
|
||||
|
||||
const { FormAutofill } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofill.sys.mjs"
|
||||
const { FormAutofill } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofill.jsm"
|
||||
);
|
||||
const { FormAutofillUtils } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillUtils.sys.mjs"
|
||||
const { FormAutofillUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
);
|
||||
const { OSKeyStoreTestUtils } = ChromeUtils.importESModule(
|
||||
"resource://testing-common/OSKeyStoreTestUtils.sys.mjs"
|
||||
);
|
||||
|
||||
let { formAutofillStorage } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillStorage.sys.mjs"
|
||||
let { formAutofillStorage } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillStorage.jsm"
|
||||
);
|
||||
|
||||
const {
|
||||
|
|
|
@ -149,8 +149,8 @@ async function initProfileStorage(
|
|||
records,
|
||||
collectionName = "addresses"
|
||||
) {
|
||||
let { FormAutofillStorage } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillStorage.sys.mjs"
|
||||
let { FormAutofillStorage } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillStorage.jsm"
|
||||
);
|
||||
let path = getTempFile(fileName).path;
|
||||
let profileStorage = new FormAutofillStorage(path);
|
||||
|
@ -216,15 +216,11 @@ var AddressDataLoader, FormAutofillUtils;
|
|||
|
||||
async function runHeuristicsTest(patterns, fixturePathPrefix) {
|
||||
add_setup(async () => {
|
||||
({ FormAutofillHeuristics } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillHeuristics.sys.mjs"
|
||||
({ FormAutofillHeuristics } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillHeuristics.jsm"
|
||||
));
|
||||
({
|
||||
AddressDataLoader,
|
||||
FormAutofillUtils,
|
||||
LabelUtils,
|
||||
} = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillUtils.sys.mjs"
|
||||
({ AddressDataLoader, FormAutofillUtils, LabelUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -128,8 +128,8 @@ const KNOWN_NAMES = {
|
|||
};
|
||||
|
||||
add_setup(async () => {
|
||||
({ FormAutofillHeuristics } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillHeuristics.sys.mjs"
|
||||
({ FormAutofillHeuristics } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillHeuristics.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
let FormAutofillStatus;
|
||||
|
||||
add_setup(async () => {
|
||||
({ FormAutofillStatus } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillParent.sys.mjs"
|
||||
({ FormAutofillStatus } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillParent.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -17,8 +17,8 @@ const SUPPORT_COUNTRIES_TESTCASES = [
|
|||
|
||||
var AddressDataLoader, FormAutofillUtils;
|
||||
add_setup(async () => {
|
||||
({ AddressDataLoader, FormAutofillUtils } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillUtils.sys.mjs"
|
||||
({ AddressDataLoader, FormAutofillUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -11,8 +11,8 @@ const { setTimeout, clearTimeout } = ChromeUtils.importESModule(
|
|||
|
||||
var FormAutofillHandler, OSKeyStore;
|
||||
add_setup(async () => {
|
||||
({ FormAutofillHandler } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillHandler.sys.mjs"
|
||||
({ FormAutofillHandler } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillHandler.jsm"
|
||||
));
|
||||
({ OSKeyStore } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/OSKeyStore.sys.mjs"
|
||||
|
|
|
@ -82,8 +82,8 @@ const TESTCASES = [
|
|||
];
|
||||
|
||||
add_task(async function do_test() {
|
||||
let { FormAutofillHandler } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillHandler.sys.mjs"
|
||||
let { FormAutofillHandler } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillHandler.jsm"
|
||||
);
|
||||
for (let test of TESTCASES) {
|
||||
info("Test case: " + test.description);
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
var FormAutofillHandler;
|
||||
add_setup(async () => {
|
||||
({ FormAutofillHandler } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillHandler.sys.mjs"
|
||||
({ FormAutofillHandler } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillHandler.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
var FormAutofillHandler;
|
||||
add_task(async function seutp() {
|
||||
({ FormAutofillHandler } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillHandler.sys.mjs"
|
||||
({ FormAutofillHandler } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillHandler.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -14,11 +14,11 @@ const { CreditCard } = ChromeUtils.importESModule(
|
|||
let FormAutofillStorage;
|
||||
let CREDIT_CARD_SCHEMA_VERSION;
|
||||
add_setup(async () => {
|
||||
({ FormAutofillStorage } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillStorage.sys.mjs"
|
||||
({ FormAutofillStorage } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillStorage.jsm"
|
||||
));
|
||||
({ CREDIT_CARD_SCHEMA_VERSION } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillStorageBase.sys.mjs"
|
||||
({ CREDIT_CARD_SCHEMA_VERSION } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillStorageBase.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
var LabelUtils;
|
||||
add_task(async function() {
|
||||
({ LabelUtils } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillUtils.sys.mjs"
|
||||
({ LabelUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
var LabelUtils;
|
||||
add_task(async function() {
|
||||
({ LabelUtils } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillUtils.sys.mjs"
|
||||
({ LabelUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
var FormAutofillHandler;
|
||||
add_task(async function() {
|
||||
({ FormAutofillHandler } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillHandler.sys.mjs"
|
||||
({ FormAutofillHandler } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillHandler.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -10,8 +10,8 @@ http://creativecommons.org/publicdomain/zero/1.0/ */
|
|||
|
||||
let FormAutofillHandler;
|
||||
add_task(async function() {
|
||||
({ FormAutofillHandler } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillHandler.sys.mjs"
|
||||
({ FormAutofillHandler } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillHandler.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
var FormAutofillUtils;
|
||||
add_task(async function() {
|
||||
({ FormAutofillUtils } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillUtils.sys.mjs"
|
||||
({ FormAutofillUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
var FormAutofillContent;
|
||||
add_task(async function() {
|
||||
({ FormAutofillContent } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillContent.sys.mjs"
|
||||
({ FormAutofillContent } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillContent.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
"use strict";
|
||||
|
||||
const { FieldScanner } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillHeuristics.sys.mjs"
|
||||
const { FieldScanner } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillHeuristics.jsm"
|
||||
);
|
||||
var FormAutofillHeuristics, LabelUtils, FormAutofill;
|
||||
add_task(async function() {
|
||||
({ FormAutofillHeuristics } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillHeuristics.sys.mjs"
|
||||
({ FormAutofillHeuristics } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillHeuristics.jsm"
|
||||
));
|
||||
({ LabelUtils } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillUtils.sys.mjs"
|
||||
({ LabelUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
));
|
||||
({ FormAutofill } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofill.sys.mjs"
|
||||
({ FormAutofill } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofill.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -11,8 +11,8 @@ const { CreditCard } = ChromeUtils.importESModule(
|
|||
let FormAutofillParent, FormAutofillStatus;
|
||||
let OSKeyStore;
|
||||
add_setup(async () => {
|
||||
({ FormAutofillParent, FormAutofillStatus } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillParent.sys.mjs"
|
||||
({ FormAutofillParent, FormAutofillStatus } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillParent.jsm"
|
||||
));
|
||||
({ OSKeyStore } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/OSKeyStore.sys.mjs"
|
||||
|
|
|
@ -7,8 +7,8 @@ http://creativecommons.org/publicdomain/zero/1.0/ */
|
|||
|
||||
"use strict";
|
||||
|
||||
const { FormAutofill } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofill.sys.mjs"
|
||||
const { FormAutofill } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofill.jsm"
|
||||
);
|
||||
|
||||
add_task(async function test_defaultTestEnvironment() {
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
var FormAutofillNameUtils;
|
||||
add_setup(async () => {
|
||||
({ FormAutofillNameUtils } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillNameUtils.sys.mjs"
|
||||
({ FormAutofillNameUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillNameUtils.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
|
||||
"use strict";
|
||||
|
||||
const { FormAutofill } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofill.sys.mjs"
|
||||
const { FormAutofill } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofill.jsm"
|
||||
);
|
||||
|
||||
add_task(async function test_defaultTestEnvironment() {
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
var FormAutofillUtils;
|
||||
add_setup(async () => {
|
||||
({ FormAutofillUtils } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillUtils.sys.mjs"
|
||||
({ FormAutofillUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -162,8 +162,8 @@ let markedFieldId = [];
|
|||
|
||||
var FormAutofillContent;
|
||||
add_setup(async () => {
|
||||
({ FormAutofillContent } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillContent.sys.mjs"
|
||||
({ FormAutofillContent } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillContent.jsm"
|
||||
));
|
||||
|
||||
FormAutofillContent._markAsAutofillField = function(field) {
|
||||
|
|
|
@ -6,18 +6,18 @@
|
|||
|
||||
let FormAutofillStorage;
|
||||
add_setup(async () => {
|
||||
({ FormAutofillStorage } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillStorage.sys.mjs"
|
||||
({ FormAutofillStorage } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillStorage.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
const TEST_STORE_FILE_NAME = "test-profile.json";
|
||||
|
||||
const { ADDRESS_SCHEMA_VERSION } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillStorageBase.sys.mjs"
|
||||
const { ADDRESS_SCHEMA_VERSION } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillStorageBase.jsm"
|
||||
);
|
||||
const { CREDIT_CARD_SCHEMA_VERSION } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillStorageBase.sys.mjs"
|
||||
const { CREDIT_CARD_SCHEMA_VERSION } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillStorageBase.jsm"
|
||||
);
|
||||
|
||||
const ADDRESS_TESTCASES = [
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
var FormAutofillNameUtils;
|
||||
add_task(async function() {
|
||||
({ FormAutofillNameUtils } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillNameUtils.sys.mjs"
|
||||
({ FormAutofillNameUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillNameUtils.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
var FormAutofillContent;
|
||||
add_setup(async () => {
|
||||
({ FormAutofillContent } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillContent.sys.mjs"
|
||||
({ FormAutofillContent } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillContent.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
var FormAutofillUtils;
|
||||
add_setup(async () => {
|
||||
({ FormAutofillUtils } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillUtils.sys.mjs"
|
||||
({ FormAutofillUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
|
||||
var PhoneNumber, PhoneNumberNormalizer;
|
||||
add_setup(async () => {
|
||||
({ PhoneNumber } = ChromeUtils.importESModule(
|
||||
"resource://autofill/phonenumberutils/PhoneNumber.sys.mjs"
|
||||
({ PhoneNumber } = ChromeUtils.import(
|
||||
"resource://autofill/phonenumberutils/PhoneNumber.jsm"
|
||||
));
|
||||
({ PhoneNumberNormalizer } = ChromeUtils.importESModule(
|
||||
"resource://autofill/phonenumberutils/PhoneNumberNormalizer.sys.mjs"
|
||||
({ PhoneNumberNormalizer } = ChromeUtils.import(
|
||||
"resource://autofill/phonenumberutils/PhoneNumberNormalizer.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -3,14 +3,14 @@ http://creativecommons.org/publicdomain/zero/1.0/ */
|
|||
|
||||
"use strict";
|
||||
|
||||
const { FormAutofillHandler } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillHandler.sys.mjs"
|
||||
const { FormAutofillHandler } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillHandler.jsm"
|
||||
);
|
||||
|
||||
// Bug 1762063 - we need to fix this pattern of having to wrap destructuring calls in parentheses.
|
||||
// We can't do a standard destructuring call because FormAutofillUtils is already declared as a var in head.js
|
||||
({ FormAutofillUtils } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillUtils.sys.mjs"
|
||||
({ FormAutofillUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
));
|
||||
const { FIELD_STATES } = FormAutofillUtils;
|
||||
const PREVIEW = FIELD_STATES.PREVIEW;
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
var AddressResult, CreditCardResult;
|
||||
add_setup(async () => {
|
||||
({ AddressResult, CreditCardResult } = ChromeUtils.importESModule(
|
||||
"resource://autofill/ProfileAutoCompleteResult.sys.mjs"
|
||||
({ AddressResult, CreditCardResult } = ChromeUtils.import(
|
||||
"resource://autofill/ProfileAutoCompleteResult.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
"use strict";
|
||||
|
||||
const TEST_STORE_FILE_NAME = "test-profile.json";
|
||||
const { CREDIT_CARD_SCHEMA_VERSION } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillStorageBase.sys.mjs"
|
||||
const { CREDIT_CARD_SCHEMA_VERSION } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillStorageBase.jsm"
|
||||
);
|
||||
|
||||
// NOTE: a guide to reading these test-cases:
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
let FormAutofillStatus;
|
||||
|
||||
add_setup(async () => {
|
||||
({ FormAutofillStatus } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillParent.sys.mjs"
|
||||
({ FormAutofillStatus } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillParent.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
let FormAutofillStorage;
|
||||
add_setup(async () => {
|
||||
({ FormAutofillStorage } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillStorage.sys.mjs"
|
||||
({ FormAutofillStorage } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillStorage.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
let FormAutofillStorage;
|
||||
add_setup(async () => {
|
||||
({ FormAutofillStorage } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillStorage.sys.mjs"
|
||||
({ FormAutofillStorage } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillStorage.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ const {
|
|||
sanitizeStorageObject,
|
||||
AutofillRecord,
|
||||
AddressesEngine,
|
||||
} = ChromeUtils.importESModule("resource://autofill/FormAutofillSync.sys.mjs");
|
||||
} = ChromeUtils.import("resource://autofill/FormAutofillSync.jsm");
|
||||
|
||||
Services.prefs.setCharPref("extensions.formautofill.loglevel", "Trace");
|
||||
initTestLogging("Trace");
|
||||
|
|
|
@ -13,8 +13,8 @@ const { Service } = ChromeUtils.importESModule(
|
|||
"resource://services-sync/service.sys.mjs"
|
||||
);
|
||||
|
||||
const { CreditCardsEngine } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillSync.sys.mjs"
|
||||
const { CreditCardsEngine } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillSync.jsm"
|
||||
);
|
||||
|
||||
Services.prefs.setCharPref("extensions.formautofill.loglevel", "Trace");
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
var FormAutofillUtils;
|
||||
add_setup(async () => {
|
||||
({ FormAutofillUtils } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillUtils.sys.mjs"
|
||||
({ FormAutofillUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
let FormAutofillStorage;
|
||||
add_setup(async () => {
|
||||
({ FormAutofillStorage } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillStorage.sys.mjs"
|
||||
({ FormAutofillStorage } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillStorage.jsm"
|
||||
));
|
||||
});
|
||||
|
||||
|
|
|
@ -788,10 +788,10 @@ function startup() {
|
|||
actors: {
|
||||
FormAutofill: {
|
||||
parent: {
|
||||
esModuleURI: "resource://autofill/FormAutofillParent.sys.mjs",
|
||||
moduleURI: "resource://autofill/FormAutofillParent.jsm",
|
||||
},
|
||||
child: {
|
||||
esModuleURI: "resource://autofill/FormAutofillChild.sys.mjs",
|
||||
moduleURI: "resource://autofill/FormAutofillChild.jsm",
|
||||
events: {
|
||||
focusin: {},
|
||||
DOMFormBeforeSubmit: {},
|
||||
|
|
|
@ -11,9 +11,14 @@ import { Logger } from "resource://tps/logger.sys.mjs";
|
|||
|
||||
const lazy = {};
|
||||
|
||||
ChromeUtils.defineModuleGetter(
|
||||
lazy,
|
||||
"formAutofillStorage",
|
||||
"resource://autofill/FormAutofillStorage.jsm"
|
||||
);
|
||||
|
||||
ChromeUtils.defineESModuleGetters(lazy, {
|
||||
OSKeyStore: "resource://gre/modules/OSKeyStore.sys.mjs",
|
||||
formAutofillStorage: "resource://autofill/FormAutofillStorage.sys.mjs",
|
||||
});
|
||||
|
||||
class FormAutofillBase {
|
||||
|
|
|
@ -2,13 +2,23 @@
|
|||
* 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/. */
|
||||
|
||||
import { FormAutofill } from "resource://autofill/FormAutofill.sys.mjs";
|
||||
"use strict";
|
||||
|
||||
const EXPORTED_SYMBOLS = ["AddressComparison", "AddressComponent"];
|
||||
|
||||
const { FormAutofill } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofill.jsm"
|
||||
);
|
||||
|
||||
const { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
||||
);
|
||||
|
||||
const lazy = {};
|
||||
|
||||
ChromeUtils.defineESModuleGetters(lazy, {
|
||||
FormAutofillUtils: "resource://autofill/FormAutofillUtils.sys.mjs",
|
||||
PhoneNumber: "resource://autofill/phonenumberutils/PhoneNumber.sys.mjs",
|
||||
XPCOMUtils.defineLazyModuleGetters(lazy, {
|
||||
FormAutofillUtils: "resource://autofill/FormAutofillUtils.jsm",
|
||||
PhoneNumber: "resource://autofill/phonenumberutils/PhoneNumber.jsm",
|
||||
});
|
||||
|
||||
class AddressField {
|
||||
|
@ -313,7 +323,7 @@ class Email extends AddressField {
|
|||
/**
|
||||
* Class to compare two address components and store their comparison result.
|
||||
*/
|
||||
export class AddressComparison {
|
||||
class AddressComparison {
|
||||
// Store the comparion result in an object, keyed by field name.
|
||||
#result = {};
|
||||
|
||||
|
@ -455,14 +465,13 @@ export class AddressComparison {
|
|||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Class that transforms record (created in FormAutofillHandler createRecord)
|
||||
* into an address component object to more easily compare two address records.
|
||||
*
|
||||
* Note. This class assumes records that pass to it have already been normalized.
|
||||
*/
|
||||
export class AddressComponent {
|
||||
class AddressComponent {
|
||||
#fields = [];
|
||||
|
||||
constructor(record) {
|
|
@ -2,8 +2,16 @@
|
|||
* 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/. */
|
||||
|
||||
import { FormAutofillCreditCardSection } from "resource://autofill/FormAutofillHandler.sys.mjs";
|
||||
import { FormAutofillUtils } from "resource://autofill/FormAutofillUtils.sys.mjs";
|
||||
"use strict";
|
||||
|
||||
var EXPORTED_SYMBOLS = ["AutofillTelemetry", "AddressTelemetry"];
|
||||
|
||||
const { FormAutofillUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
);
|
||||
const { FormAutofillCreditCardSection } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillHandler.jsm"
|
||||
);
|
||||
|
||||
const { FIELD_STATES } = FormAutofillUtils;
|
||||
|
||||
|
@ -203,7 +211,7 @@ class AutofillTelemetryBase {
|
|||
}
|
||||
}
|
||||
|
||||
export class AddressTelemetry extends AutofillTelemetryBase {
|
||||
class AddressTelemetry extends AutofillTelemetryBase {
|
||||
EVENT_CATEGORY = "address";
|
||||
EVENT_OBJECT_FORM_INTERACTION = "address_form";
|
||||
EVENT_OBJECT_FORM_INTERACTION_EXT = "address_form_ext";
|
||||
|
@ -451,7 +459,7 @@ class CreditCardTelemetry extends AutofillTelemetryBase {
|
|||
}
|
||||
}
|
||||
|
||||
export class AutofillTelemetry {
|
||||
class AutofillTelemetry {
|
||||
static #creditCardTelemetry = new CreditCardTelemetry();
|
||||
static #addressTelemetry = new AddressTelemetry();
|
||||
|
|
@ -15,31 +15,46 @@
|
|||
* TRAINING REPOSITORY" section.
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* CODE UNIQUE TO PRODUCTION--NOT IN THE TRAINING REPOSITORY:
|
||||
*/
|
||||
|
||||
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
||||
const EXPORTED_SYMBOLS = ["creditCardRulesets"];
|
||||
|
||||
import {
|
||||
element as clickedElement,
|
||||
const { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
||||
);
|
||||
const {
|
||||
element: clickedElement,
|
||||
out,
|
||||
rule,
|
||||
ruleset,
|
||||
score,
|
||||
type,
|
||||
} from "resource://gre/modules/third_party/fathom/fathom.mjs";
|
||||
import {
|
||||
CreditCard,
|
||||
NETWORK_NAMES,
|
||||
} from "resource://gre/modules/CreditCard.sys.mjs";
|
||||
} = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/third_party/fathom/fathom.mjs"
|
||||
);
|
||||
const { CreditCard } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/CreditCard.sys.mjs"
|
||||
);
|
||||
const { NETWORK_NAMES } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/CreditCard.sys.mjs"
|
||||
);
|
||||
|
||||
const lazy = {};
|
||||
|
||||
ChromeUtils.defineESModuleGetters(lazy, {
|
||||
FormAutofillUtils: "resource://autofill/FormAutofillUtils.sys.mjs",
|
||||
FormLikeFactory: "resource://gre/modules/FormLikeFactory.sys.mjs",
|
||||
LabelUtils: "resource://autofill/FormAutofillUtils.sys.mjs",
|
||||
});
|
||||
ChromeUtils.defineModuleGetter(
|
||||
lazy,
|
||||
"FormAutofillUtils",
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
);
|
||||
XPCOMUtils.defineLazyModuleGetters(lazy, {
|
||||
LabelUtils: "resource://autofill/FormAutofillUtils.jsm",
|
||||
});
|
||||
|
||||
/**
|
||||
|
@ -1188,7 +1203,7 @@ const biases = [
|
|||
// all the tyoes). When the above case exists, the coefficient of the rule will be
|
||||
// overwritten, which means, we can't have different coefficient for the same rule on
|
||||
// different types. To workaround this issue, we create a new ruleset for each type.
|
||||
export var creditCardRulesets = {
|
||||
var creditCardRulesets = {
|
||||
init() {
|
||||
XPCOMUtils.defineLazyPreferenceGetter(
|
||||
this,
|
||||
|
@ -1208,5 +1223,4 @@ export var creditCardRulesets = {
|
|||
return this.supportedTypes;
|
||||
},
|
||||
};
|
||||
|
||||
creditCardRulesets.init();
|
||||
this.creditCardRulesets.init();
|
|
@ -2,7 +2,13 @@
|
|||
* 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/. */
|
||||
|
||||
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
||||
"use strict";
|
||||
|
||||
var EXPORTED_SYMBOLS = ["FormAutofill"];
|
||||
|
||||
const { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
||||
);
|
||||
|
||||
const lazy = {};
|
||||
|
||||
|
@ -63,7 +69,7 @@ function debug() {
|
|||
}
|
||||
}
|
||||
|
||||
export var FormAutofill = {
|
||||
var FormAutofill = {
|
||||
ENABLED_AUTOFILL_ADDRESSES_PREF,
|
||||
ENABLED_AUTOFILL_ADDRESSES_CAPTURE_PREF,
|
||||
ENABLED_AUTOFILL_ADDRESSES_CAPTURE_V2_PREF,
|
|
@ -2,20 +2,30 @@
|
|||
* 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";
|
||||
|
||||
var EXPORTED_SYMBOLS = ["FormAutofillChild"];
|
||||
|
||||
const { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
||||
);
|
||||
const lazy = {};
|
||||
|
||||
ChromeUtils.defineESModuleGetters(lazy, {
|
||||
AutoCompleteChild: "resource://gre/actors/AutoCompleteChild.sys.mjs",
|
||||
FormAutofill: "resource://autofill/FormAutofill.sys.mjs",
|
||||
FormAutofillContent: "resource://autofill/FormAutofillContent.sys.mjs",
|
||||
FormAutofillUtils: "resource://autofill/FormAutofillUtils.sys.mjs",
|
||||
setTimeout: "resource://gre/modules/Timer.sys.mjs",
|
||||
});
|
||||
|
||||
XPCOMUtils.defineLazyModuleGetters(lazy, {
|
||||
FormAutofill: "resource://autofill/FormAutofill.jsm",
|
||||
FormAutofillContent: "resource://autofill/FormAutofillContent.jsm",
|
||||
FormAutofillUtils: "resource://autofill/FormAutofillUtils.jsm",
|
||||
});
|
||||
|
||||
/**
|
||||
* Handles content's interactions for the frame.
|
||||
*/
|
||||
export class FormAutofillChild extends JSWindowActorChild {
|
||||
class FormAutofillChild extends JSWindowActorChild {
|
||||
constructor() {
|
||||
super();
|
||||
|
|
@ -8,26 +8,34 @@
|
|||
|
||||
/* eslint-disable no-use-before-define */
|
||||
|
||||
"use strict";
|
||||
|
||||
var EXPORTED_SYMBOLS = ["FormAutofillContent"];
|
||||
|
||||
const Cm = Components.manager;
|
||||
|
||||
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
||||
import { AppConstants } from "resource://gre/modules/AppConstants.sys.mjs";
|
||||
const { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
||||
);
|
||||
const { AppConstants } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/AppConstants.sys.mjs"
|
||||
);
|
||||
|
||||
const lazy = {};
|
||||
|
||||
ChromeUtils.defineESModuleGetters(lazy, {
|
||||
AddressResult: "resource://autofill/ProfileAutoCompleteResult.sys.mjs",
|
||||
CreditCardResult: "resource://autofill/ProfileAutoCompleteResult.sys.mjs",
|
||||
FormAutofill: "resource://autofill/FormAutofill.sys.mjs",
|
||||
FormAutofillHandler: "resource://autofill/FormAutofillHandler.sys.mjs",
|
||||
FormAutofillUtils: "resource://autofill/FormAutofillUtils.sys.mjs",
|
||||
FormLikeFactory: "resource://gre/modules/FormLikeFactory.sys.mjs",
|
||||
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
|
||||
});
|
||||
|
||||
XPCOMUtils.defineLazyModuleGetters(lazy, {
|
||||
AddressResult: "resource://autofill/ProfileAutoCompleteResult.jsm",
|
||||
ComponentUtils: "resource://gre/modules/ComponentUtils.jsm",
|
||||
CreditCardResult: "resource://autofill/ProfileAutoCompleteResult.jsm",
|
||||
AutofillTelemetry: "resource://autofill/AutofillTelemetry.jsm",
|
||||
FormAutofill: "resource://autofill/FormAutofill.jsm",
|
||||
FormAutofillHandler: "resource://autofill/FormAutofillHandler.jsm",
|
||||
FormAutofillUtils: "resource://autofill/FormAutofillUtils.jsm",
|
||||
InsecurePasswordUtils: "resource://gre/modules/InsecurePasswordUtils.jsm",
|
||||
});
|
||||
|
||||
|
@ -435,7 +443,7 @@ let ProfileAutocomplete = {
|
|||
*
|
||||
* NOTE: Declares it by "var" to make it accessible in unit tests.
|
||||
*/
|
||||
export var FormAutofillContent = {
|
||||
var FormAutofillContent = {
|
||||
/**
|
||||
* @type {WeakMap} mapping FormLike root HTML elements to FormAutofillHandler objects.
|
||||
*/
|
|
@ -6,21 +6,34 @@
|
|||
* Defines a handler object to represent forms that autofill can handle.
|
||||
*/
|
||||
|
||||
import { AppConstants } from "resource://gre/modules/AppConstants.sys.mjs";
|
||||
import { FormAutofill } from "resource://autofill/FormAutofill.sys.mjs";
|
||||
import { FormAutofillUtils } from "resource://autofill/FormAutofillUtils.sys.mjs";
|
||||
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
||||
"use strict";
|
||||
|
||||
var EXPORTED_SYMBOLS = ["FormAutofillHandler", "FormAutofillCreditCardSection"];
|
||||
|
||||
const { AppConstants } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/AppConstants.sys.mjs"
|
||||
);
|
||||
const { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
||||
);
|
||||
const { FormAutofill } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofill.jsm"
|
||||
);
|
||||
|
||||
const { FormAutofillUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
);
|
||||
|
||||
const lazy = {};
|
||||
|
||||
ChromeUtils.defineESModuleGetters(lazy, {
|
||||
CreditCard: "resource://gre/modules/CreditCard.sys.mjs",
|
||||
FormAutofillHeuristics: "resource://autofill/FormAutofillHeuristics.sys.mjs",
|
||||
FormLikeFactory: "resource://gre/modules/FormLikeFactory.sys.mjs",
|
||||
});
|
||||
|
||||
XPCOMUtils.defineLazyModuleGetters(lazy, {
|
||||
AutofillTelemetry: "resource://autofill/AutofillTelemetry.jsm",
|
||||
FormAutofillHeuristics: "resource://autofill/FormAutofillHeuristics.jsm",
|
||||
});
|
||||
|
||||
const formFillController = Cc[
|
||||
|
@ -40,7 +53,7 @@ XPCOMUtils.defineLazyGetter(lazy, "reauthPasswordPromptMessage", () => {
|
|||
});
|
||||
|
||||
XPCOMUtils.defineLazyGetter(lazy, "log", () =>
|
||||
FormAutofill.defineLogGetter(lazy, "FormAutofillHandler")
|
||||
FormAutofill.defineLogGetter(lazy, EXPORTED_SYMBOLS[0])
|
||||
);
|
||||
|
||||
const { FIELD_STATES } = FormAutofillUtils;
|
||||
|
@ -974,7 +987,7 @@ class FormAutofillAddressSection extends FormAutofillSection {
|
|||
}
|
||||
}
|
||||
|
||||
export class FormAutofillCreditCardSection extends FormAutofillSection {
|
||||
class FormAutofillCreditCardSection extends FormAutofillSection {
|
||||
/**
|
||||
* Credit Card Section Constructor
|
||||
*
|
||||
|
@ -1424,7 +1437,7 @@ export class FormAutofillCreditCardSection extends FormAutofillSection {
|
|||
/**
|
||||
* Handles profile autofill for a DOM Form element.
|
||||
*/
|
||||
export class FormAutofillHandler {
|
||||
class FormAutofillHandler {
|
||||
/**
|
||||
* Initialize the form from `FormLike` object to handle the section or form
|
||||
* operations.
|
|
@ -6,21 +6,32 @@
|
|||
* Form Autofill field heuristics.
|
||||
*/
|
||||
|
||||
export let FormAutofillHeuristics;
|
||||
import { FormAutofill } from "resource://autofill/FormAutofill.sys.mjs";
|
||||
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
||||
"use strict";
|
||||
|
||||
const EXPORTED_SYMBOLS = ["FormAutofillHeuristics", "FieldScanner"];
|
||||
let FormAutofillHeuristics;
|
||||
|
||||
const { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
||||
);
|
||||
const { FormAutofill } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofill.jsm"
|
||||
);
|
||||
|
||||
const lazy = {};
|
||||
|
||||
ChromeUtils.defineESModuleGetters(lazy, {
|
||||
CreditCard: "resource://gre/modules/CreditCard.sys.mjs",
|
||||
FormAutofillUtils: "resource://autofill/FormAutofillUtils.sys.mjs",
|
||||
LabelUtils: "resource://autofill/FormAutofillUtils.sys.mjs",
|
||||
creditCardRulesets: "resource://autofill/CreditCardRuleset.sys.mjs",
|
||||
});
|
||||
|
||||
XPCOMUtils.defineLazyModuleGetters(lazy, {
|
||||
creditCardRulesets: "resource://autofill/CreditCardRuleset.jsm",
|
||||
FormAutofillUtils: "resource://autofill/FormAutofillUtils.jsm",
|
||||
LabelUtils: "resource://autofill/FormAutofillUtils.jsm",
|
||||
});
|
||||
|
||||
XPCOMUtils.defineLazyGetter(lazy, "log", () =>
|
||||
FormAutofill.defineLogGetter(lazy, "FormAutofillHeuristics")
|
||||
FormAutofill.defineLogGetter(lazy, EXPORTED_SYMBOLS[0])
|
||||
);
|
||||
|
||||
const PREF_HEURISTICS_ENABLED = "extensions.formautofill.heuristics.enabled";
|
||||
|
@ -57,7 +68,7 @@ const MULTI_N_FIELD_NAMES = {
|
|||
* detail with FormAutofillHeuristics.getInfo function. It also provides a
|
||||
* cursor (parsingIndex) to indicate which element is waiting for parsing.
|
||||
*/
|
||||
export class FieldScanner {
|
||||
class FieldScanner {
|
||||
/**
|
||||
* Create a FieldScanner based on form elements with the existing
|
||||
* fieldDetails.
|
|
@ -2,9 +2,13 @@
|
|||
* 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";
|
||||
|
||||
var EXPORTED_SYMBOLS = ["FormAutofillNameUtils"];
|
||||
|
||||
// FormAutofillNameUtils is initially translated from
|
||||
// https://cs.chromium.org/chromium/src/components/autofill/core/browser/autofill_data_util.cc?rcl=b861deff77abecff11ae6a9f6946e9cc844b9817
|
||||
export var FormAutofillNameUtils = {
|
||||
var FormAutofillNameUtils = {
|
||||
NAME_PREFIXES: [
|
||||
"1lt",
|
||||
"1st",
|
|
@ -25,29 +25,38 @@
|
|||
* ]
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
// We expose a singleton from this module. Some tests may import the
|
||||
// constructor via a backstage pass.
|
||||
import { FormAutofill } from "resource://autofill/FormAutofill.sys.mjs";
|
||||
import { FormAutofillUtils } from "resource://autofill/FormAutofillUtils.sys.mjs";
|
||||
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
||||
var EXPORTED_SYMBOLS = ["FormAutofillParent", "FormAutofillStatus"];
|
||||
|
||||
const { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
||||
);
|
||||
const { FormAutofill } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofill.jsm"
|
||||
);
|
||||
const { FormAutofillUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
);
|
||||
|
||||
const lazy = {};
|
||||
|
||||
ChromeUtils.defineESModuleGetters(lazy, {
|
||||
AddressComparison: "resource://autofill/AddressComponent.sys.mjs",
|
||||
AddressComponent: "resource://autofill/AddressComponent.sys.mjs",
|
||||
FormAutofillPreferences:
|
||||
"resource://autofill/FormAutofillPreferences.sys.mjs",
|
||||
FormAutofillPrompter: "resource://autofill/FormAutofillPrompter.sys.mjs",
|
||||
OSKeyStore: "resource://gre/modules/OSKeyStore.sys.mjs",
|
||||
});
|
||||
|
||||
XPCOMUtils.defineLazyModuleGetters(lazy, {
|
||||
AddressComparison: "resource://autofill/AddressComponent.jsm",
|
||||
AddressComponent: "resource://autofill/AddressComponent.jsm",
|
||||
BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.jsm",
|
||||
FormAutofillPreferences: "resource://autofill/FormAutofillPreferences.jsm",
|
||||
FormAutofillPrompter: "resource://autofill/FormAutofillPrompter.jsm",
|
||||
});
|
||||
|
||||
XPCOMUtils.defineLazyGetter(lazy, "log", () =>
|
||||
FormAutofill.defineLogGetter(lazy, "FormAutofillParent")
|
||||
FormAutofill.defineLogGetter(lazy, EXPORTED_SYMBOLS[0])
|
||||
);
|
||||
|
||||
const {
|
||||
|
@ -62,7 +71,7 @@ const {
|
|||
|
||||
let gMessageObservers = new Set();
|
||||
|
||||
export let FormAutofillStatus = {
|
||||
let FormAutofillStatus = {
|
||||
_initialized: false,
|
||||
|
||||
/**
|
||||
|
@ -269,8 +278,8 @@ export let FormAutofillStatus = {
|
|||
// Lazily load the storage JSM to avoid disk I/O until absolutely needed.
|
||||
// Once storage is loaded we need to update saved field names and inform content processes.
|
||||
XPCOMUtils.defineLazyGetter(lazy, "gFormAutofillStorage", () => {
|
||||
let { formAutofillStorage } = ChromeUtils.importESModule(
|
||||
"resource://autofill/FormAutofillStorage.sys.mjs"
|
||||
let { formAutofillStorage } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillStorage.jsm"
|
||||
);
|
||||
lazy.log.debug("Loading formAutofillStorage");
|
||||
|
||||
|
@ -282,7 +291,7 @@ XPCOMUtils.defineLazyGetter(lazy, "gFormAutofillStorage", () => {
|
|||
return formAutofillStorage;
|
||||
});
|
||||
|
||||
export class FormAutofillParent extends JSWindowActorParent {
|
||||
class FormAutofillParent extends JSWindowActorParent {
|
||||
constructor() {
|
||||
super();
|
||||
FormAutofillStatus.init();
|
|
@ -6,6 +6,10 @@
|
|||
* Injects the form autofill section into about:preferences.
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
var EXPORTED_SYMBOLS = ["FormAutofillPreferences"];
|
||||
|
||||
// Add addresses enabled flag in telemetry environment for recording the number of
|
||||
// users who disable/enable the address autofill feature.
|
||||
const BUNDLE_URI = "chrome://formautofill/locale/formautofill.properties";
|
||||
|
@ -14,9 +18,15 @@ const MANAGE_ADDRESSES_URL =
|
|||
const MANAGE_CREDITCARDS_URL =
|
||||
"chrome://formautofill/content/manageCreditCards.xhtml";
|
||||
|
||||
import { FormAutofill } from "resource://autofill/FormAutofill.sys.mjs";
|
||||
import { FormAutofillUtils } from "resource://autofill/FormAutofillUtils.sys.mjs";
|
||||
import { AppConstants } from "resource://gre/modules/AppConstants.sys.mjs";
|
||||
const { FormAutofill } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofill.jsm"
|
||||
);
|
||||
const { FormAutofillUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
);
|
||||
const { AppConstants } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/AppConstants.sys.mjs"
|
||||
);
|
||||
|
||||
const lazy = {};
|
||||
ChromeUtils.defineESModuleGetters(lazy, {
|
||||
|
@ -39,7 +49,7 @@ const {
|
|||
|
||||
const HTML_NS = "http://www.w3.org/1999/xhtml";
|
||||
|
||||
export function FormAutofillPreferences() {
|
||||
function FormAutofillPreferences() {
|
||||
this.bundle = Services.strings.createBundle(BUNDLE_URI);
|
||||
}
|
||||
|
|
@ -122,21 +122,35 @@
|
|||
* this new field.
|
||||
*/
|
||||
|
||||
import { FormAutofill } from "resource://autofill/FormAutofill.sys.mjs";
|
||||
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
||||
"use strict";
|
||||
|
||||
const EXPORTED_SYMBOLS = [
|
||||
"FormAutofillStorageBase",
|
||||
"CreditCardsBase",
|
||||
"AddressesBase",
|
||||
"ADDRESS_SCHEMA_VERSION",
|
||||
"CREDIT_CARD_SCHEMA_VERSION",
|
||||
];
|
||||
|
||||
const { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
||||
);
|
||||
const { FormAutofill } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofill.jsm"
|
||||
);
|
||||
|
||||
const lazy = {};
|
||||
|
||||
ChromeUtils.defineESModuleGetters(lazy, {
|
||||
CreditCard: "resource://gre/modules/CreditCard.sys.mjs",
|
||||
FormAutofillNameUtils: "resource://autofill/FormAutofillNameUtils.sys.mjs",
|
||||
FormAutofillUtils: "resource://autofill/FormAutofillUtils.sys.mjs",
|
||||
OSKeyStore: "resource://gre/modules/OSKeyStore.sys.mjs",
|
||||
PhoneNumber: "resource://autofill/phonenumberutils/PhoneNumber.sys.mjs",
|
||||
});
|
||||
|
||||
XPCOMUtils.defineLazyModuleGetters(lazy, {
|
||||
AutofillTelemetry: "resource://autofill/AutofillTelemetry.jsm",
|
||||
FormAutofillNameUtils: "resource://autofill/FormAutofillNameUtils.jsm",
|
||||
FormAutofillUtils: "resource://autofill/FormAutofillUtils.jsm",
|
||||
PhoneNumber: "resource://autofill/phonenumberutils/PhoneNumber.jsm",
|
||||
});
|
||||
|
||||
const CryptoHash = Components.Constructor(
|
||||
|
@ -151,7 +165,7 @@ const STORAGE_SCHEMA_VERSION = 1;
|
|||
// Please talk to the sync team before changing this!
|
||||
// (And if it did ever change, it must never be "4" due to the reconcile hacks
|
||||
// below which repairs credit-cards with version=4)
|
||||
export const ADDRESS_SCHEMA_VERSION = 1;
|
||||
const ADDRESS_SCHEMA_VERSION = 1;
|
||||
|
||||
// Version 2: Bug 1486954 - Encrypt `cc-number`
|
||||
// Version 3: Bug 1639795 - Update keystore name
|
||||
|
@ -159,7 +173,7 @@ export const ADDRESS_SCHEMA_VERSION = 1;
|
|||
// Next version should be 5
|
||||
// NOTE: It's likely this number can never change.
|
||||
// Please talk to the sync team before changing this!
|
||||
export const CREDIT_CARD_SCHEMA_VERSION = 3;
|
||||
const CREDIT_CARD_SCHEMA_VERSION = 3;
|
||||
|
||||
const VALID_ADDRESS_FIELDS = [
|
||||
"given-name",
|
||||
|
@ -1495,7 +1509,7 @@ class AutofillRecords {
|
|||
async mergeIfPossible(guid, record, strict) {}
|
||||
}
|
||||
|
||||
export class AddressesBase extends AutofillRecords {
|
||||
class AddressesBase extends AutofillRecords {
|
||||
constructor(store) {
|
||||
super(
|
||||
store,
|
||||
|
@ -1815,7 +1829,7 @@ export class AddressesBase extends AutofillRecords {
|
|||
}
|
||||
}
|
||||
|
||||
export class CreditCardsBase extends AutofillRecords {
|
||||
class CreditCardsBase extends AutofillRecords {
|
||||
constructor(store) {
|
||||
super(
|
||||
store,
|
||||
|
@ -2135,7 +2149,7 @@ export class CreditCardsBase extends AutofillRecords {
|
|||
}
|
||||
}
|
||||
|
||||
export class FormAutofillStorageBase {
|
||||
class FormAutofillStorageBase {
|
||||
constructor(path) {
|
||||
this._path = path;
|
||||
this._initializePromise = null;
|
|
@ -2,28 +2,44 @@
|
|||
* 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/. */
|
||||
|
||||
import {
|
||||
Changeset,
|
||||
Store,
|
||||
SyncEngine,
|
||||
Tracker,
|
||||
} from "resource://services-sync/engines.sys.mjs";
|
||||
import { CryptoWrapper } from "resource://services-sync/record.sys.mjs";
|
||||
import { Utils } from "resource://services-sync/util.sys.mjs";
|
||||
"use strict";
|
||||
|
||||
var EXPORTED_SYMBOLS = [
|
||||
"AddressesEngine",
|
||||
"CreditCardsEngine",
|
||||
// The items below are exported for test purposes.
|
||||
"sanitizeStorageObject",
|
||||
"AutofillRecord",
|
||||
];
|
||||
|
||||
const { Changeset, Store, SyncEngine, Tracker } = ChromeUtils.importESModule(
|
||||
"resource://services-sync/engines.sys.mjs"
|
||||
);
|
||||
const { CryptoWrapper } = ChromeUtils.importESModule(
|
||||
"resource://services-sync/record.sys.mjs"
|
||||
);
|
||||
const { Utils } = ChromeUtils.importESModule(
|
||||
"resource://services-sync/util.sys.mjs"
|
||||
);
|
||||
const { SCORE_INCREMENT_XLARGE } = ChromeUtils.import(
|
||||
"resource://services-sync/constants.js"
|
||||
);
|
||||
const { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
||||
);
|
||||
|
||||
const lazy = {};
|
||||
|
||||
ChromeUtils.defineESModuleGetters(lazy, {
|
||||
Log: "resource://gre/modules/Log.sys.mjs",
|
||||
formAutofillStorage: "resource://autofill/FormAutofillStorage.sys.mjs",
|
||||
});
|
||||
|
||||
XPCOMUtils.defineLazyModuleGetters(lazy, {
|
||||
formAutofillStorage: "resource://autofill/FormAutofillStorage.jsm",
|
||||
});
|
||||
|
||||
// A helper to sanitize address and creditcard records suitable for logging.
|
||||
export function sanitizeStorageObject(ob) {
|
||||
function sanitizeStorageObject(ob) {
|
||||
if (!ob) {
|
||||
return null;
|
||||
}
|
||||
|
@ -42,7 +58,7 @@ export function sanitizeStorageObject(ob) {
|
|||
return result;
|
||||
}
|
||||
|
||||
export function AutofillRecord(collection, id) {
|
||||
function AutofillRecord(collection, id) {
|
||||
CryptoWrapper.call(this, collection, id);
|
||||
}
|
||||
|
||||
|
@ -337,7 +353,7 @@ AddressesStore.prototype = {
|
|||
};
|
||||
Object.setPrototypeOf(AddressesStore.prototype, FormAutofillStore.prototype);
|
||||
|
||||
export function AddressesEngine(service) {
|
||||
function AddressesEngine(service) {
|
||||
FormAutofillEngine.call(this, service, "Addresses");
|
||||
}
|
||||
|
||||
|
@ -370,7 +386,7 @@ CreditCardsStore.prototype = {
|
|||
};
|
||||
Object.setPrototypeOf(CreditCardsStore.prototype, FormAutofillStore.prototype);
|
||||
|
||||
export function CreditCardsEngine(service) {
|
||||
function CreditCardsEngine(service) {
|
||||
FormAutofillEngine.call(this, service, "CreditCards");
|
||||
}
|
||||
|
|
@ -2,7 +2,14 @@
|
|||
* 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/. */
|
||||
|
||||
export let FormAutofillUtils;
|
||||
"use strict";
|
||||
|
||||
const EXPORTED_SYMBOLS = [
|
||||
"FormAutofillUtils",
|
||||
"AddressDataLoader",
|
||||
"LabelUtils",
|
||||
];
|
||||
let FormAutofillUtils;
|
||||
|
||||
const ADDRESS_METADATA_PATH = "resource://autofill/addressmetadata/";
|
||||
const ADDRESS_REFERENCES = "addressReferences.js";
|
||||
|
@ -56,18 +63,24 @@ const ELIGIBLE_INPUT_TYPES = ["text", "email", "tel", "number", "month"];
|
|||
// attacks that fill the user's hard drive(s).
|
||||
const MAX_FIELD_VALUE_LENGTH = 200;
|
||||
|
||||
import { FormAutofill } from "resource://autofill/FormAutofill.sys.mjs";
|
||||
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
||||
|
||||
const { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
||||
);
|
||||
const { FormAutofill } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofill.jsm"
|
||||
);
|
||||
const lazy = {};
|
||||
|
||||
ChromeUtils.defineESModuleGetters(lazy, {
|
||||
CreditCard: "resource://gre/modules/CreditCard.sys.mjs",
|
||||
FormAutofillNameUtils: "resource://autofill/FormAutofillNameUtils.sys.mjs",
|
||||
OSKeyStore: "resource://gre/modules/OSKeyStore.sys.mjs",
|
||||
});
|
||||
|
||||
export let AddressDataLoader = {
|
||||
XPCOMUtils.defineLazyModuleGetters(lazy, {
|
||||
FormAutofillNameUtils: "resource://autofill/FormAutofillNameUtils.jsm",
|
||||
});
|
||||
|
||||
let AddressDataLoader = {
|
||||
// Status of address data loading. We'll load all the countries with basic level 1
|
||||
// information while requesting conutry information, and set country to true.
|
||||
// Level 1 Set is for recording which country's level 1/level 2 data is loaded,
|
||||
|
@ -1180,7 +1193,7 @@ FormAutofillUtils = {
|
|||
},
|
||||
};
|
||||
|
||||
export const LabelUtils = {
|
||||
const LabelUtils = {
|
||||
// The tag name list is from Chromium except for "STYLE":
|
||||
// eslint-disable-next-line max-len
|
||||
// https://cs.chromium.org/chromium/src/components/autofill/content/renderer/form_autofill_util.cc?l=216&rcl=d33a171b7c308a64dc3372fac3da2179c63b419e
|
|
@ -2,13 +2,20 @@
|
|||
* 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/. */
|
||||
|
||||
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
||||
"use strict";
|
||||
|
||||
var EXPORTED_SYMBOLS = ["AddressResult", "CreditCardResult"];
|
||||
const { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
||||
);
|
||||
const lazy = {};
|
||||
|
||||
ChromeUtils.defineESModuleGetters(lazy, {
|
||||
CreditCard: "resource://gre/modules/CreditCard.sys.mjs",
|
||||
FormAutofillUtils: "resource://autofill/FormAutofillUtils.sys.mjs",
|
||||
});
|
||||
|
||||
XPCOMUtils.defineLazyModuleGetters(lazy, {
|
||||
FormAutofillUtils: "resource://autofill/FormAutofillUtils.jsm",
|
||||
});
|
||||
|
||||
XPCOMUtils.defineLazyGetter(
|
||||
|
@ -201,7 +208,7 @@ class ProfileAutoCompleteResult {
|
|||
}
|
||||
}
|
||||
|
||||
export class AddressResult extends ProfileAutoCompleteResult {
|
||||
class AddressResult extends ProfileAutoCompleteResult {
|
||||
constructor(...args) {
|
||||
super(...args);
|
||||
}
|
||||
|
@ -323,7 +330,7 @@ export class AddressResult extends ProfileAutoCompleteResult {
|
|||
}
|
||||
}
|
||||
|
||||
export class CreditCardResult extends ProfileAutoCompleteResult {
|
||||
class CreditCardResult extends ProfileAutoCompleteResult {
|
||||
constructor(...args) {
|
||||
super(...args);
|
||||
this._cardTypes = this._generateCardTypes(
|
|
@ -7,7 +7,13 @@
|
|||
* the doorhager UI for formautofill related features.
|
||||
*/
|
||||
|
||||
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
||||
"use strict";
|
||||
|
||||
var EXPORTED_SYMBOLS = ["FormAutofillPrompter"];
|
||||
|
||||
const { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
||||
);
|
||||
|
||||
const lazy = {};
|
||||
|
||||
|
@ -27,7 +33,7 @@ const CreditCardStorageHint = {
|
|||
LOW_CONFIDENCE: 1 << 1,
|
||||
};
|
||||
|
||||
export let FormAutofillPrompter = {
|
||||
let FormAutofillPrompter = {
|
||||
_createMessage(creditCards) {
|
||||
let hint = CreditCardStorageHint.NONE;
|
||||
return {
|
|
@ -6,16 +6,24 @@
|
|||
* Implements an interface of the storage of Form Autofill for GeckoView.
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
// We expose a singleton from this module. Some tests may import the
|
||||
// constructor via a backstage pass.
|
||||
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
||||
const EXPORTED_SYMBOLS = ["formAutofillStorage", "FormAutofillStorage"];
|
||||
|
||||
import {
|
||||
const { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
||||
);
|
||||
|
||||
const {
|
||||
FormAutofillStorageBase,
|
||||
CreditCardsBase,
|
||||
AddressesBase,
|
||||
} from "resource://autofill/FormAutofillStorageBase.sys.mjs";
|
||||
import { JSONFile } from "resource://gre/modules/JSONFile.sys.mjs";
|
||||
} = ChromeUtils.import("resource://autofill/FormAutofillStorageBase.jsm");
|
||||
const { JSONFile } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/JSONFile.sys.mjs"
|
||||
);
|
||||
|
||||
const lazy = {};
|
||||
|
||||
|
@ -240,7 +248,7 @@ class CreditCards extends CreditCardsBase {
|
|||
}
|
||||
}
|
||||
|
||||
export class FormAutofillStorage extends FormAutofillStorageBase {
|
||||
class FormAutofillStorage extends FormAutofillStorageBase {
|
||||
constructor() {
|
||||
super(null);
|
||||
}
|
||||
|
@ -273,4 +281,4 @@ export class FormAutofillStorage extends FormAutofillStorageBase {
|
|||
}
|
||||
|
||||
// The singleton exposed by this module.
|
||||
export const formAutofillStorage = new FormAutofillStorage();
|
||||
const formAutofillStorage = new FormAutofillStorage();
|
|
@ -7,14 +7,25 @@
|
|||
* the doorhager UI for formautofill related features.
|
||||
*/
|
||||
|
||||
import { AppConstants } from "resource://gre/modules/AppConstants.sys.mjs";
|
||||
import { FormAutofill } from "resource://autofill/FormAutofill.sys.mjs";
|
||||
import { FormAutofillUtils } from "resource://autofill/FormAutofillUtils.sys.mjs";
|
||||
import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
||||
"use strict";
|
||||
|
||||
var EXPORTED_SYMBOLS = ["FormAutofillPrompter"];
|
||||
|
||||
const { AppConstants } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/AppConstants.sys.mjs"
|
||||
);
|
||||
const { AutofillTelemetry } = ChromeUtils.import(
|
||||
"resource://autofill/AutofillTelemetry.jsm"
|
||||
);
|
||||
const { FormAutofill } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofill.jsm"
|
||||
);
|
||||
const { FormAutofillUtils } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofillUtils.jsm"
|
||||
);
|
||||
const { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
||||
);
|
||||
|
||||
const lazy = {};
|
||||
|
||||
|
@ -23,7 +34,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
|
|||
});
|
||||
|
||||
XPCOMUtils.defineLazyGetter(lazy, "log", () =>
|
||||
FormAutofill.defineLogGetter(lazy, "FormAutofillPrompter")
|
||||
FormAutofill.defineLogGetter(lazy, EXPORTED_SYMBOLS[0])
|
||||
);
|
||||
|
||||
const { ENABLED_AUTOFILL_CREDITCARDS_PREF } = FormAutofill;
|
||||
|
@ -239,7 +250,7 @@ const CONTENT = {
|
|||
},
|
||||
};
|
||||
|
||||
export let FormAutofillPrompter = {
|
||||
let FormAutofillPrompter = {
|
||||
/**
|
||||
* Generate the main action and secondary actions from content parameters and
|
||||
* promise resolve.
|
|
@ -6,24 +6,38 @@
|
|||
* Implements an interface of the storage of Form Autofill.
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
// We expose a singleton from this module. Some tests may import the
|
||||
// constructor via a backstage pass.
|
||||
import {
|
||||
AddressesBase,
|
||||
CreditCardsBase,
|
||||
const EXPORTED_SYMBOLS = ["formAutofillStorage", "FormAutofillStorage"];
|
||||
|
||||
const { FormAutofill } = ChromeUtils.import(
|
||||
"resource://autofill/FormAutofill.jsm"
|
||||
);
|
||||
|
||||
const {
|
||||
FormAutofillStorageBase,
|
||||
} from "resource://autofill/FormAutofillStorageBase.sys.mjs";
|
||||
import { FormAutofill } from "resource://autofill/FormAutofill.sys.mjs";
|
||||
CreditCardsBase,
|
||||
AddressesBase,
|
||||
} = ChromeUtils.import("resource://autofill/FormAutofillStorageBase.jsm");
|
||||
|
||||
const { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
||||
);
|
||||
|
||||
const lazy = {};
|
||||
|
||||
ChromeUtils.defineESModuleGetters(lazy, {
|
||||
CreditCard: "resource://gre/modules/CreditCard.sys.mjs",
|
||||
FormAutofillUtils: "resource://autofill/FormAutofillUtils.sys.mjs",
|
||||
JSONFile: "resource://gre/modules/JSONFile.sys.mjs",
|
||||
OSKeyStore: "resource://gre/modules/OSKeyStore.sys.mjs",
|
||||
});
|
||||
|
||||
XPCOMUtils.defineLazyModuleGetters(lazy, {
|
||||
FormAutofillUtils: "resource://autofill/FormAutofillUtils.jsm",
|
||||
});
|
||||
|
||||
const PROFILE_JSON_FILE_NAME = "autofill-profiles.json";
|
||||
|
||||
class Addresses extends AddressesBase {
|
||||
|
@ -223,7 +237,7 @@ class CreditCards extends CreditCardsBase {
|
|||
}
|
||||
}
|
||||
|
||||
export class FormAutofillStorage extends FormAutofillStorageBase {
|
||||
class FormAutofillStorage extends FormAutofillStorageBase {
|
||||
constructor(path) {
|
||||
super(path);
|
||||
}
|
||||
|
@ -270,6 +284,6 @@ export class FormAutofillStorage extends FormAutofillStorageBase {
|
|||
}
|
||||
|
||||
// The singleton exposed by this module.
|
||||
export const formAutofillStorage = new FormAutofillStorage(
|
||||
const formAutofillStorage = new FormAutofillStorage(
|
||||
PathUtils.join(PathUtils.profileDir, PROFILE_JSON_FILE_NAME)
|
||||
);
|
|
@ -4,14 +4,14 @@
|
|||
|
||||
toolkit.jar:
|
||||
% resource autofill %res/autofill/
|
||||
res/autofill/ (./*.sys.mjs)
|
||||
res/autofill/phonenumberutils/ (./phonenumberutils/*.sys.mjs)
|
||||
res/autofill/ (./*.jsm)
|
||||
res/autofill/phonenumberutils/ (./phonenumberutils/*.jsm)
|
||||
res/autofill/addressmetadata/ (./addressmetadata/*)
|
||||
res/autofill/content/ (./content/*)
|
||||
#ifdef ANDROID
|
||||
res/autofill/FormAutofillPrompter.sys.mjs (./android/FormAutofillPrompter.sys.mjs)
|
||||
res/autofill/FormAutofillStorage.sys.mjs (./android/FormAutofillStorage.sys.mjs)
|
||||
res/autofill/FormAutofillPrompter.jsm (./android/FormAutofillPrompter.jsm)
|
||||
res/autofill/FormAutofillStorage.jsm (./android/FormAutofillStorage.jsm)
|
||||
#else
|
||||
res/autofill/FormAutofillPrompter.sys.mjs (./default/FormAutofillPrompter.sys.mjs)
|
||||
res/autofill/FormAutofillStorage.sys.mjs (./default/FormAutofillStorage.sys.mjs)
|
||||
res/autofill/FormAutofillPrompter.jsm (./default/FormAutofillPrompter.jsm)
|
||||
res/autofill/FormAutofillStorage.jsm (./default/FormAutofillStorage.jsm)
|
||||
#endif
|
||||
|
|
|
@ -5,16 +5,26 @@
|
|||
// This library came from https://github.com/andreasgal/PhoneNumber.js but will
|
||||
// be further maintained by our own in Form Autofill codebase.
|
||||
|
||||
import { PHONE_NUMBER_META_DATA } from "resource://autofill/phonenumberutils/PhoneNumberMetaData.sys.mjs";
|
||||
"use strict";
|
||||
|
||||
var EXPORTED_SYMBOLS = ["PhoneNumber"];
|
||||
|
||||
const { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
"resource://gre/modules/XPCOMUtils.sys.mjs"
|
||||
);
|
||||
|
||||
const { PHONE_NUMBER_META_DATA } = ChromeUtils.import(
|
||||
"resource://autofill/phonenumberutils/PhoneNumberMetaData.jsm"
|
||||
);
|
||||
|
||||
const lazy = {};
|
||||
|
||||
ChromeUtils.defineESModuleGetters(lazy, {
|
||||
XPCOMUtils.defineLazyModuleGetters(lazy, {
|
||||
PhoneNumberNormalizer:
|
||||
"resource://autofill/phonenumberutils/PhoneNumberNormalizer.sys.mjs",
|
||||
"resource://autofill/phonenumberutils/PhoneNumberNormalizer.jsm",
|
||||
});
|
||||
|
||||
export var PhoneNumber = (function(dataBase) {
|
||||
var PhoneNumber = (function(dataBase) {
|
||||
const MAX_PHONE_NUMBER_LENGTH = 50;
|
||||
const NON_ALPHA_CHARS = /[^a-zA-Z]/g;
|
||||
const NON_DIALABLE_CHARS = /[^,#+\*\d]/g;
|
|
@ -10,7 +10,11 @@
|
|||
* in this version for now.
|
||||
*/
|
||||
|
||||
export var PHONE_NUMBER_META_DATA = {
|
||||
"use strict";
|
||||
|
||||
var EXPORTED_SYMBOLS = ["PHONE_NUMBER_META_DATA"];
|
||||
|
||||
var PHONE_NUMBER_META_DATA = {
|
||||
"46":
|
||||
'["SE","00","0",null,null,"$NP$FG","\\\\d{6,12}","[1-35-9]\\\\d{5,11}|4\\\\d{6,8}",[["(8)(\\\\d{2,3})(\\\\d{2,3})(\\\\d{2})","$1-$2 $3 $4","8",null,"$1 $2 $3 $4"],["([1-69]\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})","$1-$2 $3 $4","1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90",null,"$1 $2 $3 $4"],["([1-469]\\\\d)(\\\\d{3})(\\\\d{2})","$1-$2 $3","1[136]|2[136]|3[356]|4[0246]|6[03]|90",null,"$1 $2 $3"],["(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})","$1-$2 $3 $4","1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[0-5]|4[0-3])",null,"$1 $2 $3 $4"],["(\\\\d{3})(\\\\d{2,3})(\\\\d{2})","$1-$2 $3","1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[0-5]|4[0-3])",null,"$1 $2 $3"],["(7\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})","$1-$2 $3 $4","7",null,"$1 $2 $3 $4"],["(77)(\\\\d{2})(\\\\d{2})","$1-$2$3","7",null,"$1 $2 $3"],["(20)(\\\\d{2,3})(\\\\d{2})","$1-$2 $3","20",null,"$1 $2 $3"],["(9[034]\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{3})","$1-$2 $3 $4","9[034]",null,"$1 $2 $3 $4"],["(9[034]\\\\d)(\\\\d{4})","$1-$2","9[034]",null,"$1 $2"],["(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})","$1-$2 $3 $4 $5","25[245]|67[3-6]",null,"$1 $2 $3 $4 $5"]]]',
|
||||
"299":
|
|
@ -5,7 +5,11 @@
|
|||
// This library came from https://github.com/andreasgal/PhoneNumber.js but will
|
||||
// be further maintained by our own in Form Autofill codebase.
|
||||
|
||||
export var PhoneNumberNormalizer = (function() {
|
||||
"use strict";
|
||||
|
||||
var EXPORTED_SYMBOLS = ["PhoneNumberNormalizer"];
|
||||
|
||||
var PhoneNumberNormalizer = (function() {
|
||||
const UNICODE_DIGITS = /[\uFF10-\uFF19\u0660-\u0669\u06F0-\u06F9]/g;
|
||||
const VALID_ALPHA_PATTERN = /[a-zA-Z]/g;
|
||||
const LEADING_PLUS_CHARS_PATTERN = /^[+\uFF0B]+/g;
|
Загрузка…
Ссылка в новой задаче