rem: const kErrorBindingAborted = 2152398850; const kErrorNetTimeout = 2152398862; 
add: const kErrorBindingAborted = 0x804B0002; const kErrorNetTimeout = 0x804B000E; 
context:   onStateChange : function(aWebProgress, aRequest, aStateFlags, aStatus)  {      const nsIWebProgressListener = Components.interfaces.nsIWebProgressListener;    const nsIChannel = Components.interfaces.nsIChannel;    if (aStateFlags & nsIWebProgressListener.STATE_START) {        // This (thanks to the filter) is a network start or the first        // stray request (the first request outside of the document load),        // initialize the throbber and his friends.                // Call start document load listeners (only if this is a network load)        if (aStateFlags & nsIWebProgressListener.STATE_IS_NETWORK &&            aRequest && aWebProgress.DOMWindow == content)          this.startDocumentLoad(aRequest);          if (this.throbberElement) {                    // Turn the throbber on.          this.throbberElement.setAttribute("busy", "true");        }        // Turn the status meter on.        this.statusMeter.value = 0;  // be sure to clear the progress bar        if (gProgressCollapseTimer) {          window.clearTimeout(gProgressCollapseTimer);          gProgressCollapseTimer = null;        }        else          this.statusMeter.parentNode.collapsed = false;        // XXX: This needs to be based on window activity...        this.stopCommand.removeAttribute("disabled");    }    else if (aStateFlags & nsIWebProgressListener.STATE_STOP) {      if (aStateFlags & nsIWebProgressListener.STATE_IS_NETWORK) {        if (aRequest) {          if (aWebProgress.DOMWindow == content)            this.endDocumentLoad(aRequest, aStatus);        }      }      // This (thanks to the filter) is a network stop or the last      // request stop outside of loading the document, stop throbbers      // and progress bars and such      if (aRequest) {        var msg = "";        // Get the channel if the request is a channel        var channel;        try {          channel = aRequest.QueryInterface(nsIChannel);        }        catch(e) { };          if (channel) {            var location = channel.URI.spec;            if (location != "about:blank") {              const kErrorBindingAborted = 2152398850;              const kErrorNetTimeout = 2152398862;              switch (aStatus) {                case kErrorBindingAborted:                  msg = gNavigatorBundle.getString("nv_stopped");                  break;                case kErrorNetTimeout:                  msg = gNavigatorBundle.getString("nv_timeout");                  break;              }            }          }          // If msg is false then we did not have an error (channel may have          // been null, in the case of a stray image load).          if (!msg) {            msg = gNavigatorBundle.getString("nv_done");          }          this.status = "";          this.setDefaultStatus(msg);        }        // Turn the progress meter and throbber off.        gProgressCollapseTimer = window.setTimeout("gProgressMeterPanel.collapsed = true; gProgressCollapseTimer = null;",                                                   100);        if (this.throbberElement)          this.throbberElement.removeAttribute("busy");        this.stopCommand.setAttribute("disabled", "true");    }  },
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/f9ab1db0c253610bc85d4be7445eb06dfd0f426a/browser.js/clean/browser/base/content/browser.js