rem: dump( "Error setting close timeout\n" ); 
context:     onStateChange: function(aWebProgress, aRequest, aStateFlags, aStatus)    {      if (aStateFlags & Components.interfaces.nsIWebProgressListener.STATE_STOP)      {        // we are done downloading...        completed = true;        // Indicate completion in status area.        var msg = getString( "completeMsg" );        msg = replaceInsert( msg, 1, formatSeconds( elapsed/1000 ) );        dialog.status.setAttribute("value", msg);        // 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 );        }         catch ( exception )         {          dump( "Error setting close timeout\n" );          // OK, try to just close the window immediately.          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/d59204eef016f7ac151448c8518eaf3ed5b6f480/helperAppDldProgress.js/clean/xpfe/components/ucth/resources/helperAppDldProgress.js