Skip to content
Snippets Groups Projects
Verified Commit 5caf0e8a authored by ma1's avatar ma1 Committed by Pier Angelo Vendrame
Browse files

fixup! Bug 40926: Implemented the New Identity feature

Bug 42182: avoid reloading any search engine extension.
parent 8d25857c
Branches
Tags
1 merge request!849Bug 42276: Rebase alpha onto 115.5.0esr
......@@ -415,10 +415,13 @@ XPCOMUtils.defineLazyGetter(this, "NewIdentityButton", () => {
async reloadAddons() {
logger.info("Reloading add-ons to clear their temporary state.");
// Reload all active extensions except search engines, which would throw.
const addons = (
await AddonManager.getAddonsByTypes(["extension"])
).filter(a => a.isActive && !a.id.endsWith("@search.mozilla.org"));
await Promise.all(addons.map(a => a.reload()));
const addons = await AddonManager.getAddonsByTypes(["extension"]);
const isSearchEngine = async addon =>
(await (await fetch(addon.getResourceURI("manifest.json").spec)).json())
?.chrome_settings_overrides?.search_provider;
const reloadIfNeeded = async addon =>
addon.isActive && !(await isSearchEngine(addon)) && addon.reload();
await Promise.all(addons.map(addon => reloadIfNeeded(addon)));
}
// Broadcast as a hook to clear other data
......
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment