rem: if ( this.dialogElement( "saveToDisk" ).selected ) this.mLauncher.saveToDisk( null, false ); else this.mLauncher.launchWithApplication( null, false ); 
add:     try { if ( this.dialogElement( "saveToDisk" ).selected ) this.mLauncher.saveToDisk( null, false ); else this.mLauncher.launchWithApplication( null, false );     if ( this.mLauncher.MIMEInfo.MIMEType != "application/octet-stream" ) this.updateHelperAppPref();  } catch(e) { } 
context:     onOK: function() {        // Verify typed app path, if necessary.        if ( this.dialogElement( "openUsing" ).selected ) {            var helperApp = this.helperAppChoice();            if ( !helperApp || !helperApp.exists() ) {                // Show alert and try again.                                            var msg = this.replaceInsert( this.getString( "badApp" ), 1, this.dialogElement( "appPath" ).value );                var svc = Components.classes[ "@mozilla.org/embedcomp/prompt-service;1" ]                            .getService( Components.interfaces.nsIPromptService );                svc.alert( this.mDialog, this.getString( "badApp.title" ), msg );                // Disable the OK button.                this.mDialog.document.documentElement.getButton( "accept" ).disabled = true;                // Select and focus the input field if input field is not disabled                var path = this.dialogElement( "appPath" );                if ( !path.disabled ) {                    path.select();                    path.focus();                }                // Clear chosen application.                this.chosenApp = null;                // Leave dialog up.                return false;            }        }                // Update user pref for this mime type (if necessary). We do not        // store anything in the mime type preferences for the ambiguous        // type application/octet-stream.        if ( this.mLauncher.MIMEInfo.MIMEType != "application/octet-stream" )            this.updateHelperAppPref();         // Remove our web progress listener (a progress dialog will be        // taking over).        this.mLauncher.setWebProgressListener( null );                if ( this.dialogElement( "saveToDisk" ).selected )            this.mLauncher.saveToDisk( null, false );        else            this.mLauncher.launchWithApplication( null, false );                    // Unhook dialog from this object.        this.mDialog.dialog = null;                // Close up dialog by returning true.        return true;    },
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/7773ddea2e4ab0edce641af52182e8ba8752aa7c/nsHelperAppDlg.js/clean/embedding/components/ui/helperAppDlg/nsHelperAppDlg.js