rem: onStatus( "Download completed in " + formatSeconds( elapsed/1000 ) ); 
add: var msg = getString( "completeMsg" ); msg = replaceInsert( msg, 1, formatSeconds( elapsed/1000 ) ); onStatus( msg );  
context: function onCompletion( status ) {    // Note that we're done (and can ignore subsequent progress notifications).    completed = true;    // Indicate completion in status area.    onStatus( "Download completed in " + formatSeconds( elapsed/1000 ) );    // Put progress meter at 100%.    dialog.progress.setAttribute( "value", 100 );    dialog.progress.setAttribute( "mode", "normal" );    try {        // Close the window in 2 seconds (to ensure user sees we're done).        //window.setTimeout( "window.close();", 2000 );        // The above line causes crash on Mac (see bugzilla bug #10613).        // As a workaround, change button text to "Close" and try a         // simple close().  Note that the "close()" is also failing (silently)        // thus the need for the fail-safe mechanism (changing the button        // text).        dialog.cancel.childNodes[0].nodeValue = "Close";        window.close();        dump( "Close still not working right!\n" );    } catch ( exception ) {        dump( "Error setting close timeout\n" );        for ( prop in exception ) {            dump( "exception." + prop + "=" + exception[ prop ] + "\n" );        }        // Bug prevents that from working, just close the window.        window.close();        // If that's not working either, change button text to give user a clue.        dialog.cancel.childNodes[0].nodeValue = "Close";    }}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/f9dafb59ba61ed632492f093d1625eb543b05f14/downloadProgress.js/buggy/xpfe/components/xfer/resources/downloadProgress.js