var providerBranch = Cc["@mozilla.org/preferences-service;1"] .getService(Ci.nsIPrefService) .getBranch("browser.safebrowsing.provider."); 
var providerBranch = Cc["@mozilla.org/preferences-service;1"]. getService(Ci.nsIPrefService). getBranch("browser.safebrowsing.provider."); 
  readOnloadPhishProvider: function ()  {    const Cc = Components.classes, Ci = Components.interfaces;    const onloadPopupId = "onloadPhishPopup";    var popup = document.getElementById(onloadPopupId);    if (!popup) {      var providerBranch = Cc["@mozilla.org/preferences-service;1"]                             .getService(Ci.nsIPrefService)                             .getBranch("browser.safebrowsing.provider.");      // fill in onload phishing list data -- but require a privacy policy      // URL be provided, and require it to be at a chrome URL so it's always      // available      var kids = providerBranch.getChildList("", {});      var providers = [];      var hasPrivacyPolicy = {};      for (var i = 0; i < kids.length; i++) {        var curr = kids[i];        var matchesName = curr.match(/^(\d+)\.name$/);        var matchesPolicy = curr.match(/^(\d+)\.privacy\.url$/);        // skip preferences which aren't names or privacy URLs        if (!matchesName && !matchesPolicy)          continue;        if (matchesName)          providers.push(matchesName[1]);        else          hasPrivacyPolicy[matchesPolicy[1]] = true;      }      // construct the menu only from the providers with policies      for (var i = 0; i < providers.length; i++) {        // skip providers without a privacy policy        if (!(providers[i] in hasPrivacyPolicy))          continue;        // ensure privacy URL is a chrome URL        try {          var providerNum = providers[i];          var url = providerBranch.getCharPref(providerNum + ".privacy.url");          var fallbackurl = providerBranch.getCharPref(providerNum +                                                       ".privacy.fallbackurl");          var scheme = Cc["@mozilla.org/network/io-service;1"].                       getService(Ci.nsIIOService).                       extractScheme(fallbackurl);          if (scheme != "chrome")            throw "fallbackurl scheme must be chrome";        }        catch (e) {          // don't add this provider          continue;        }        if (!popup) {          popup = document.createElement("menupopup");          popup.id = onloadPopupId;        }        var providerName = providerBranch.getCharPref(providerNum + ".name");        var item = document.createElement("menuitem");        item.setAttribute("value", providerNum);        item.setAttribute("label", providerName);        item.setAttribute("oncommand", "gSecurityPane.onProviderChanged();");        popup.appendChild(item);      }      var onloadProviders = document.getElementById("onloadProvider");      onloadProviders.appendChild(popup);    }    // don't override the preference value in determining the right menuitem    return undefined;  },
5459	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5459/e7c2cecff14eb22d0533f30b298b0243d5ff0b49/security.js/clean/browser/components/preferences/security.js