Bug 1549122: Duct tape to prevent deadlock when search extensions upgraded on startup. r=mikedeboer a=Aryx

Differential Revision: https://phabricator.services.mozilla.com//D30004

--HG--
extra : rebase_source : 6637570bb828dfc86b1d0abfbafbd1cfdd12c9d8
extra : amend_source : 4803b6d8220d7d07a8a4f9562d4297090099a183
This commit is contained in:
Dale Harvey 2019-05-06 13:06:34 +02:00
Родитель e7d9a87493
Коммит 0b3e8675a7
1 изменённых файлов: 4 добавлений и 2 удалений

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

@ -339,7 +339,8 @@ this.chrome_settings_overrides = class extends ExtensionAPI {
let {extension} = this;
let isCurrent = false;
let index = -1;
if (extension.startupReason === "ADDON_UPGRADE") {
if (extension.startupReason === "ADDON_UPGRADE" &&
!extension.addonData.builtIn) {
let engines = await Services.search.getEnginesByExtensionID(extension.id);
if (engines.length > 0) {
let firstEngine = engines[0];
@ -358,7 +359,8 @@ this.chrome_settings_overrides = class extends ExtensionAPI {
extension.id, DEFAULT_SEARCH_STORE_TYPE, ENGINE_ADDED_SETTING_NAME,
engines[0].name);
}
if (extension.startupReason === "ADDON_UPGRADE") {
if (extension.startupReason === "ADDON_UPGRADE" &&
!extension.addonData.builtIn) {
let engines = await Services.search.getEnginesByExtensionID(extension.id);
let engine = Services.search.getEngineByName(engines[0].name);
if (isCurrent) {