mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-23 18:26:15 +00:00
Bug 347364 - Allow extensions to add searchplugins at the top of the list, preserving additional ordering, r=gavin
This commit is contained in:
parent
91cae6208b
commit
92f283562b
@ -2346,13 +2346,34 @@ SearchService.prototype = {
|
||||
// The DB isn't being used, so just read the engine order from the prefs
|
||||
var i = 0;
|
||||
var engineName;
|
||||
var prefName;
|
||||
|
||||
try {
|
||||
var prefB = Cc["@mozilla.org/preferences-service;1"].
|
||||
getService(Ci.nsIPrefBranch);
|
||||
var extras =
|
||||
prefB.getChildList(BROWSER_SEARCH_PREF + "order.extra.", { });
|
||||
|
||||
for each (prefName in extras) {
|
||||
engineName = prefB.getCharPref(prefName);
|
||||
|
||||
engine = this._engines[engineName];
|
||||
if (!engine || engine.name in addedEngines)
|
||||
continue;
|
||||
|
||||
this._sortedEngines.push(engine);
|
||||
addedEngines[engine.name] = engine;
|
||||
}
|
||||
}
|
||||
catch (e) { }
|
||||
|
||||
while (true) {
|
||||
engineName = getLocalizedPref(BROWSER_SEARCH_PREF + "order." + (++i));
|
||||
if (!engineName)
|
||||
break;
|
||||
|
||||
engine = this._engines[engineName];
|
||||
if (!engine)
|
||||
if (!engine || engine.name in addedEngines)
|
||||
continue;
|
||||
|
||||
this._sortedEngines.push(engine);
|
||||
|
Loading…
Reference in New Issue
Block a user