diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:43:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:43:14 +0000 |
commit | 8dd16259287f58f9273002717ec4d27e97127719 (patch) | |
tree | 3863e62a53829a84037444beab3abd4ed9dfc7d0 /toolkit/components/search/SearchService.sys.mjs | |
parent | Releasing progress-linux version 126.0.1-1~progress7.99u1. (diff) | |
download | firefox-8dd16259287f58f9273002717ec4d27e97127719.tar.xz firefox-8dd16259287f58f9273002717ec4d27e97127719.zip |
Merging upstream version 127.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'toolkit/components/search/SearchService.sys.mjs')
-rw-r--r-- | toolkit/components/search/SearchService.sys.mjs | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/toolkit/components/search/SearchService.sys.mjs b/toolkit/components/search/SearchService.sys.mjs index a645cc05e8..85d673697c 100644 --- a/toolkit/components/search/SearchService.sys.mjs +++ b/toolkit/components/search/SearchService.sys.mjs @@ -1801,9 +1801,9 @@ export class SearchService { this.#addEngineToStore(engine); } catch (ex) { console.error( - `Could not load engine ${ - "webExtension" in config ? config.webExtension.id : "unknown" - }: ${ex}` + "Could not load engine", + "webExtension" in config ? config.webExtension.id : "unknown", + ex ); } } @@ -1839,7 +1839,8 @@ export class SearchService { }); } catch (ex) { lazy.logConsole.error( - `#createAndAddAddonEngine failed for ${extension.id}`, + "#createAndAddAddonEngine failed for", + extension.id, ex ); } @@ -2499,6 +2500,19 @@ export class SearchService { } else if (loadPath?.startsWith("[user]")) { engine = new lazy.UserSearchEngine({ json: engineJSON }); } else if (engineJSON.extensionID ?? engineJSON._extensionID) { + let existingEngine = this.#getEngineByName(engineJSON._name); + let extensionId = engineJSON.extensionID ?? engineJSON._extensionID; + + if (existingEngine && existingEngine._extensionID == extensionId) { + // We assume that this WebExtension was already loaded as part of + // #loadStartupEngines, and therefore do not try to add it again. + lazy.logConsole.log( + "Ignoring already added WebExtension", + extensionId + ); + continue; + } + engine = new lazy.AddonSearchEngine({ isAppProvided: false, json: engineJSON, @@ -2587,7 +2601,7 @@ export class SearchService { async _fetchEngineSelectorEngines() { let searchEngineSelectorProperties = { locale: Services.locale.appLocaleAsBCP47, - region: lazy.Region.home || "default", + region: lazy.Region.home || "unknown", channel: lazy.SearchUtils.MODIFIED_APP_CHANNEL, experiment: lazy.NimbusFeatures.searchConfiguration.getVariable("experiment") ?? "", |