rem: var needUpdate = false;   if ( this.dialogElement( "saveToDisk" ).selected ) { needUpdate = this.mLauncher.MIMEInfo.preferredAction != this.nsIMIMEInfo.saveToDisk; if ( needUpdate ) this.mLauncher.MIMEInfo.preferredAction = this.nsIMIMEInfo.saveToDisk; } else if ( this.dialogElement( "useSystemDefault" ).selected ) { needUpdate = this.mLauncher.MIMEInfo.preferredAction != this.nsIMIMEInfo.useSystemDefault; if ( needUpdate ) this.mLauncher.MIMEInfo.preferredAction = this.nsIMIMEInfo.useSystemDefault; } else {   needUpdate = this.mLauncher.MIMEInfo.preferredAction != this.nsIMIMEInfo.useHelperApp || this.appChanged(); if ( needUpdate ) { this.mLauncher.MIMEInfo.preferredAction = this.nsIMIMEInfo.useHelperApp;  var app = this.helperAppChoice(); this.mLauncher.MIMEInfo.preferredApplicationHandler = app; this.mLauncher.MIMEInfo.applicationDescription = app.leafName; } }  needUpdate = needUpdate || this.mLauncher.MIMEInfo.alwaysAskBeforeHandling != this.dialogElement( "alwaysAskMe" ).checked;        needUpdate = needUpdate || !this.mLauncher.MIMEInfo.alwaysAskBeforeHandling;   this.mLauncher.MIMEInfo.alwaysAskBeforeHandling = this.dialogElement( "alwaysAskMe" ).checked;  if ( needUpdate ) {    this.mDialog.openDialog( "chrome: "_blank", "chrome,modal=yes,resizable=no", this ); } 
add:    this.mDialog.openDialog( "chrome: "_blank", "chrome,modal=yes,resizable=no", this ); 
context:     updateHelperAppPref: function() {        var needUpdate = false;        // If current selection differs from what's in the mime info object,        // then we need to update.        if ( this.dialogElement( "saveToDisk" ).selected ) {            needUpdate = this.mLauncher.MIMEInfo.preferredAction != this.nsIMIMEInfo.saveToDisk;            if ( needUpdate )                this.mLauncher.MIMEInfo.preferredAction = this.nsIMIMEInfo.saveToDisk;        } else if ( this.dialogElement( "useSystemDefault" ).selected ) {            needUpdate = this.mLauncher.MIMEInfo.preferredAction != this.nsIMIMEInfo.useSystemDefault;            if ( needUpdate )                this.mLauncher.MIMEInfo.preferredAction = this.nsIMIMEInfo.useSystemDefault;        } else {            // For "open with", we need to check both preferred action and whether the user chose            // a new app.            needUpdate = this.mLauncher.MIMEInfo.preferredAction != this.nsIMIMEInfo.useHelperApp || this.appChanged();            if ( needUpdate ) {                this.mLauncher.MIMEInfo.preferredAction = this.nsIMIMEInfo.useHelperApp;                // App may have changed - Update application and description                var app = this.helperAppChoice();                this.mLauncher.MIMEInfo.preferredApplicationHandler = app;                this.mLauncher.MIMEInfo.applicationDescription = app.leafName;            }        }        // We will also need to update if the "always ask" flag has changed.        needUpdate = needUpdate || this.mLauncher.MIMEInfo.alwaysAskBeforeHandling != this.dialogElement( "alwaysAskMe" ).checked;                // One last special case: If the input "always ask" flag was false, then we always        // update.  In that case we are displaying the helper app dialog for the first        // time for this mime type and we need to store the user's action in the mimeTypes.rdf        // data source (whether that action has changed or not; if it didn't change, then we need        // to store the "always ask" flag so the helper app dialog will or won't display        // next time, per the user's selection).        needUpdate = needUpdate || !this.mLauncher.MIMEInfo.alwaysAskBeforeHandling;                // Make sure mime info has updated setting for the "always ask" flag.        this.mLauncher.MIMEInfo.alwaysAskBeforeHandling = this.dialogElement( "alwaysAskMe" ).checked;                if ( needUpdate ) {            // We update by passing this mime info into the "Edit Type" helper app            // pref dialog.  It will update the data source and close the dialog            // automatically.            this.mDialog.openDialog( "chrome://communicator/content/pref/pref-applications-edit.xul",                                     "_blank",                                     "chrome,modal=yes,resizable=no",                                     this );        }    },
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/a01da841e512f6bf32e903500d2ef6fb99dc032f/nsHelperAppDlg.js/clean/embedding/components/ui/helperAppDlg/nsHelperAppDlg.js