rem: type = unescape(neverAskSave[i]); 
add: type = decodeURIComponent(neverAskSave[i]); 
context:   onEndLoad: function(aSink)  {    // Unhook observer.    aSink.removeXMLSinkObserver(this);    // Convert old "don't ask" pref info to helper app pref entries    try {      var prefService = Components.classes["@mozilla.org/preferences;1"].getService(Components.interfaces.nsIPrefService);      var prefBranch = prefService.getBranch("browser.helperApps.neverAsk.");      if (!prefBranch) return;    } catch(e) { return; }    var neverAskSave = new Array();    var neverAskOpen = new Array();    try {      neverAskSave = prefBranch.getCharPref("saveToDisk").split(",");    } catch(e) {}    try {      neverAskOpen = prefBranch.getCharPref("openFile").split(",");    } catch(e) {}        var i;		var type;    var newEntries = {};    for ( i = 0; i < neverAskSave.length; i++ ) {      // See if mime type is in data source.      type = unescape(neverAskSave[i]);      if (type != "" && !mimeHandlerExists(type)) {        // Not in there, need to create an entry now so user can edit it.        newEntries[type] = "saveToDisk";      }    }        for ( i = 0; i < neverAskOpen.length; i++ ) {      // See if mime type is in data source.      type = unescape(neverAskOpen[i]);      if (type != "" && !mimeHandlerExists(type)) {        // Not in there, need to create an entry now so user can edit it.        newEntries[type] = "useSystemDefault";      }    }        // Now create all new entries.    for ( var newEntry in newEntries ) {      this.createNewEntry(newEntry, newEntries[newEntry]);    }        // Don't need these any more!    try { prefBranch.clearUserPref("saveToDisk"); } catch(e) {}    try { prefBranch.clearUserPref("openFile"); } catch(e) {}  },
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/f8f6b64677f70ffe3d8e38d247e2c728f1f2dd57/pref-applications.js/buggy/xpfe/components/prefwindow/resources/content/pref-applications.js