context:     onProgressChange64: function( aWebProgress,                                  aRequest,                                  aCurSelfProgress,                                  aMaxSelfProgress,                                  aCurTotalProgress,                                  aMaxTotalProgress ) {        var overallProgress = aCurTotalProgress;        // Get current time.        var now = ( new Date() ).getTime();        // If interval hasn't elapsed, ignore it.        if ( now - this.lastUpdate < this.interval &&             aMaxTotalProgress != "-1" &&             parseInt( aCurTotalProgress ) < parseInt( aMaxTotalProgress ) ) {            return;        }        // Update this time.        this.lastUpdate = now;        // Update elapsed time.        this.elapsed = now - this.startTime;        // Calculate percentage.        if ( aMaxTotalProgress > 0) {            this.percent = Math.floor( ( overallProgress * 100.0 ) / aMaxTotalProgress );        } else {            this.percent = -1;        }        // If dialog not loaded, then don't bother trying to update display.        if ( !this.loaded ) {            return;        }        // Update dialog's display of elapsed time.        this.setValue( "timeElapsed", this.formatSeconds( this.elapsed / 1000 ) );        // Now that we've set the progress and the time, update # bytes downloaded...        // Update status (nnK of mmK bytes at xx.xK aCurTotalProgress/sec)        var status = this.getString( "progressMsg" );        // Insert 1 is the number of kilobytes downloaded so far.        status = this.replaceInsert( status, 1, parseInt( overallProgress/1024 + .5 ) );        // Insert 2 is the total number of kilobytes to be downloaded (if known).        if ( aMaxTotalProgress != "-1" ) {            status = this.replaceInsert( status, 2, parseInt( aMaxTotalProgress/1024 + .5 ) );        } else {            status = this.replaceInsert( status, 2, "??" );        }        // Insert 3 is the download rate.        if ( this.elapsed ) {            this.rate = ( aCurTotalProgress * 1000 ) / this.elapsed;            status = this.replaceInsert( status, 3, this.rateToKRate( this.rate ) );        } else {            // Rate not established, yet.            status = this.replaceInsert( status, 3, "??.?" );        }        // All 3 inserts are taken care of, now update status msg.        this.setValue( "status", status );        // Update time remaining.        if ( this.rate && ( aMaxTotalProgress > 0 ) ) {            // Calculate how much time to download remaining at this rate.            var rem = Math.round( ( aMaxTotalProgress - aCurTotalProgress ) / this.rate );            this.setValue( "timeLeft", this.formatSeconds( rem ) );        } else {            // We don't know how much time remains.            this.setValue( "timeLeft", this.getString( "unknownTime" ) );        }    },
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/0a4b6eba0e8347d3326d013fb8a4dd1e18c24a66/nsProgressDialog.js/clean/embedding/components/ui/progressDlg/nsProgressDialog.js