forked from mirrors/gecko-dev
These are raised as redeclares or unused variables by ESLint 6. Differential Revision: https://phabricator.services.mozilla.com/D37268 --HG-- extra : moz-landing-system : lando
61 lines
1.8 KiB
JavaScript
61 lines
1.8 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
"use strict";
|
|
|
|
/**
|
|
* This file will be replaced by Fluent but it's a middle ground so we can share
|
|
* the edit dialog code with the unprivileged PaymentRequest dialog before the
|
|
* Fluent conversion
|
|
*/
|
|
|
|
const { FormAutofillUtils } = ChromeUtils.import(
|
|
"resource://formautofill/FormAutofillUtils.jsm"
|
|
);
|
|
|
|
const CONTENT_WIN = typeof window != "undefined" ? window : this;
|
|
|
|
const L10N_ATTRIBUTES = ["data-localization", "data-localization-region"];
|
|
|
|
// eslint-disable-next-line mozilla/balanced-listeners
|
|
CONTENT_WIN.addEventListener("DOMContentLoaded", function onDCL(evt) {
|
|
let doc = evt.target;
|
|
FormAutofillUtils.localizeMarkup(doc);
|
|
|
|
let mutationObserver = new doc.ownerGlobal.MutationObserver(
|
|
function onMutation(mutations) {
|
|
for (let mutation of mutations) {
|
|
switch (mutation.type) {
|
|
case "attributes": {
|
|
if (!mutation.target.hasAttribute(mutation.attributeName)) {
|
|
// The attribute was removed in the meantime.
|
|
continue;
|
|
}
|
|
FormAutofillUtils.localizeAttributeForElement(
|
|
mutation.target,
|
|
mutation.attributeName
|
|
);
|
|
break;
|
|
}
|
|
|
|
case "childList": {
|
|
// We really only care about elements appending inside pages.
|
|
if (!mutation.addedNodes || !mutation.target.closest(".page")) {
|
|
break;
|
|
}
|
|
FormAutofillUtils.localizeMarkup(mutation.target);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
);
|
|
|
|
mutationObserver.observe(doc, {
|
|
attributes: true,
|
|
attributeFilter: L10N_ATTRIBUTES,
|
|
childList: true,
|
|
subtree: true,
|
|
});
|
|
});
|