var pref = Components.classes["@mozilla.org/preferences-service;1"] .getService(Components.interfaces.nsIPrefBranch); 
var pref = Cc["@mozilla.org/preferences-service;1"]. getService(Ci.nsIPrefBranch); 
function autoRemoveAndClose(aDownload){  var pref = Components.classes["@mozilla.org/preferences-service;1"]                       .getService(Components.interfaces.nsIPrefBranch);  if (aDownload && (pref.getIntPref(PREF_BDM_RETENTION) == 0)) {    // The download manager backend removes this, but we have to update the UI!    var dl = getDownload(aDownload.id);    dl.parentNode.removeChild(dl);  }    if (gDownloadManager.activeDownloadCount == 0) {    // For the moment, just use the simple heuristic that if this window was    // opened by the download process, rather than by the user, it should auto-close    // if the pref is set that way. If the user opened it themselves, it should    // not close until they explicitly close it.    var autoClose = pref.getBoolPref(PREF_BDM_CLOSEWHENDONE);    if (autoClose && (!window.opener ||                      window.opener.location.href == window.location.href) &&        !gUserInteracted) {      gCloseDownloadManager();      return true;    }  }    return false;}
5872	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5872/43455f9fc69a7b8e33dae13cc90fd333fc5448d2/downloads.js/clean/toolkit/mozapps/downloads/content/downloads.js