rem: signonList = signonviewer.GetSignonValue(); if (signonList.length == 1) { /* user supplied invalid database key */ window.close(); return false; } 
add: var enumerator = passwordmanager.enumerator; var count = 0; while (enumerator.hasMoreElements()) { try { var nextPassword = enumerator.getNext(); } catch(e) { /* user supplied invalid database key */ window.close(); return false; } nextPassword = nextPassword.QueryInterface(Components.interfaces.nsIPassword); 
context: function LoadSignons(){  signonList = signonviewer.GetSignonValue();  if (signonList.length == 1) {    /* user supplied invalid database key */    window.close();    return false;  }  if (signonList.length > 0) {    var delim = signonList[0];    signonList = signonList.split(delim);  }  for(var i = 1; i < signonList.length; i++)  {    var currSignon = TrimString(signonList[i]);    // TEMP HACK until morse fixes signon viewer functions    currSignon = RemoveHTMLFormatting(currSignon);    /* parameter passed in is url:username */    var site = currSignon.substring(0,currSignon.lastIndexOf(":"));    var user = currSignon.substring(currSignon.lastIndexOf(":")+1,currSignon.length);    if (user == "") {      /* no username passed in, parse if out of url */      var uri =        Components.classes["@mozilla.org/network/standard-url;1"]          .createInstance(Components.interfaces.nsIURI);       uri.spec = site;       if (uri.username) {        user = uri.username;      } else {        user = "<>";      }    }    AddItem("savesignonlist",[site,user],"signon_",i-1);  }  if (deleted_signons_count >= signonList.length) {    document.getElementById("removeAllSignons").setAttribute("disabled","true");  }  return true;}
meta: 8395	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/8395/6d3aacc4ed875df0fe7a6132a93aa2c545281b48/SignonViewer.js/clean/extensions/wallet/signonviewer/SignonViewer.js