add: dump("*** state change = " + aURL + ", state = " + aState + ", value = " + aValue + "\n"); 
context:   onStateChange: function (aURL, aState, aValue)  {    const nsIXPIProgressDialog = Components.interfaces.nsIXPIProgressDialog;    var element = document.getElementById(aURL);    dump("*** aURL = " + aURL + "\n");    if (!element) return;    switch (aState) {    case nsIXPIProgressDialog.DOWNLOAD_START:      element.setAttribute("state", "waiting");      element.setAttribute("progress", "0");      break;    case nsIXPIProgressDialog.DOWNLOAD_DONE:      element.setAttribute("progress", "100");      break;    case nsIXPIProgressDialog.INSTALL_START:      element.setAttribute("state", "installing");      break;    case nsIXPIProgressDialog.INSTALL_DONE:      element.setAttribute("state", "done");      var msg;      if (aValue != 0) {        var xpinstallStrings = document.getElementById("xpinstallStrings");        try {          msg = xpinstallStrings.getString("error" + aValue);        }        catch (e) {          msg = xpinstallStrings.getFormattedString("unknown.error", [aValue]);        }        element.setAttribute("error", msg);      }      // Remove the dummy, since we installed successfully      var type = gWindowState == "extensions" ? nsIUpdateItem.TYPE_EXTENSION                                               : nsIUpdateItem.TYPE_THEME;      gExtensionManager.removeDownload(aURL, type);      break;    case nsIXPIProgressDialog.DIALOG_CLOSE:      break;    }  },
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/d9ba66a275a5e97dde21555f69d35ddeb63479d9/extensions.js/buggy/toolkit/mozapps/extensions/content/extensions.js