if (!download) {  download = this._createDownloadItem(aDownload); gDownloadsView.insertBefore(download, gDownloadsActiveTitle.nextSibling); }   gDownloadsActiveTitle.hidden = false; 
  onProgressChange: function(aWebProgress, aRequest, aCurSelfProgress,                             aMaxSelfProgress, aCurTotalProgress,                             aMaxTotalProgress, aDownload)  {    var download = getDownload(aDownload.id);    if (!download) {      // d'oh - why this happens is complicated, let's just add it in      download = this._createDownloadItem(aDownload);      gDownloadsView.insertBefore(download, gDownloadsActiveTitle.nextSibling);    }    // any activity means we should have active downloads!    gDownloadsActiveTitle.hidden = false;    // Update this download's progressmeter    if (aDownload.percentComplete == -1) {      download.setAttribute("progressmode", "undetermined");    } else {      download.setAttribute("progressmode", "normal");      download.setAttribute("progress", aDownload.percentComplete);    }    // Dispatch ValueChange for a11y    var event = document.createEvent("Events");    event.initEvent("ValueChange", true, true);    document.getAnonymousElementByAttribute(download, "anonid", "progressmeter")            .dispatchEvent(event);    // Update the progress so the status can be correctly updated    download.setAttribute("currBytes", aDownload.amountTransferred);    download.setAttribute("maxBytes", aDownload.size);    // Update the rest of the UI (bytes transferred, bytes total, download rate,    // time remaining).    updateStatus(download, aDownload);    // Update window title    onUpdateProgress();  },
5872	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5872/d0f7be641e1c1e65edb07bcc49837ea5a7353b5d/DownloadProgressListener.js/clean/toolkit/mozapps/downloads/content/DownloadProgressListener.js