add: const kDontAskAgainPref  = "browser.download.progressDnlgDialog.dontAskForLaunch"; try { var pref = Components.classes["@mozilla.org/preferences-service;1"] .getService(Components.interfaces.nsIPrefBranch); var dontAskAgain = pref.getBoolPref(kDontAskAgainPref); } catch (e) {  dontAskAgain = false; } if ( !dontAskAgain && this.target.isExecutable() ) { try { var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] .getService( Components.interfaces.nsIPromptService ); } catch (ex) {  break; } var title = this.getProperty( "openingAlertTitle", [ this.fileName() ], 1 ); var msg = this.getProperty( "securityAlertMsg", [ this.fileName() ], 1 ); var dontaskmsg = this.getProperty( "dontAskAgain", [ ], 0 ); var checkbox = {value:0}; var okToProceed = promptService.confirmCheck(window, title, msg, dontaskmsg, checkbox); try { if (checkbox.value != dontAskAgain) pref.setBoolPref(kDontAskAgainPref, checkbox.value); } catch (ex) {}  if ( !okToProceed ) return; } 
context:     onLaunch: function() {         try {             this.target.launch();             this.dialog.close();         } catch ( exception ) {             // XXX Need code here to tell user the launch failed!             dump( "nsProgressDialog::onLaunch failed: " + exception + "\n" );         }    },
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/44d6ed3db2532c70adb3e6cbdfc373f7dfca72d1/nsProgressDialog.js/clean/embedding/components/ui/progressDlg/nsProgressDialog.js