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:
Noemi Erli 2023-03-31 21:51:12 +03:00
Родитель 91a9368bb8
Коммит 118513ad00
74 изменённых файлов: 516 добавлений и 284 удалений

Просмотреть файл

@ -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;