rem: case 999: this._restartRequired = true; 
add: case 999: case 0: 
context:   onStateChange: function (aIndex, aState, aValue)  {    var strings = document.getElementById("updateStrings");    const nsIXPIProgressDialog = Components.interfaces.nsIXPIProgressDialog;    switch (aState) {    case nsIXPIProgressDialog.DOWNLOAD_START:      var label = strings.getFormattedString("downloadingPrefix", [this._objs[aIndex].name]);      var actionItem = document.getElementById("actionItem");      actionItem.value = label;      break;    case nsIXPIProgressDialog.DOWNLOAD_DONE:    case nsIXPIProgressDialog.INSTALL_START:      var label = strings.getFormattedString("installingPrefix", [this._objs[aIndex].name]);      var actionItem = document.getElementById("actionItem");      actionItem.value = label;      this._installing = true;      break;    case nsIXPIProgressDialog.INSTALL_DONE:      switch (aValue) {      case 999:         this._restartRequired = true;        break;      case 0:         --gUpdateWizard.remainingExtensionUpdateCount;        break;      }      break;    case nsIXPIProgressDialog.DIALOG_CLOSE:      this._installing = false;      var nextPage = this._errors ? "errors" : (this._restartRequired ? "restart" : "finished");      document.getElementById("installing").setAttribute("next", nextPage);      document.documentElement.advance();      break;    }  },
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/9a35ff3dc2f30e12402fa86896db07bc2b3f21ff/update.js/buggy/toolkit/mozapps/extensions/content/update.js