All pastes #61613 Raw Edit

Mine

public text v1 · immutable
#61613 ·published 2006-06-04 07:40 UTC
rendered paste body
  _getSortedEngines: function() {
    var preferences = 
        Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefService);
    var orderBranch = preferences.getBranch(kEngineOrderBranch);
    var engines = [];
    var addedEngines = { };
    var i = 0;
    try {
      while (1) {
        var engineName = orderBranch.getComplexValue(i++, 
          Ci.nsIPrefLocalizedString).data;
        var engine = this._engines[engineName];
        if (engine && !engine.hidden && !(engineName in addedEngines)) {
          engines.push(engine);
          addedEngines[engineName] = engine;
        }
      }
    }
    catch (e) {
      // No more sorted engines - getComplexValue will throw
      for (var engineName in this._engines) {
        var engine = this._engines[engineName];
        if (engine && !engine.hidden && !(engineName in addedEngines))
          engines.push(this._engines[engineName]);
      }
    }
    return engines;
  },