All pastes #970834 Raw Edit

Making Firefox3 use Thunderbird2

public javascript v1 · immutable
#970834 ·published 2008-04-04 09:57 UTC
rendered paste body
--- FeedConverter.js.orig	2008-04-02 08:50:52.000000000 +0900+++ FeedConverter.js	2008-04-04 18:34:43.000000000 +0900@@ -390,7 +390,10 @@ var FeedResultService = {      switch (handler) {     case "client":+      const PREF_SELECTED_APP_ARGS = "browser.feeds.handlers.application.args";+       var clientApp = prefs.getComplexValue(getPrefAppForType(feedType), Ci.nsILocalFile);+      var feedhandlerArgs = safeGetCharPref(PREF_SELECTED_APP_ARGS, Ci.nsILocalFile);        // For the benefit of applications that might know how to deal with more       // URLs than just feeds, send feed: URLs in the following format:@@ -403,17 +406,24 @@ var FeedResultService = {           Cc["@mozilla.org/network/io-service;1"].           getService(Ci.nsIIOService);       var feedURI = ios.newURI(spec, null, null);-      if (feedURI.schemeIs("http")) {+      if (feedURI.schemeIs("http") && !(feedhandlerArgs)) {         feedURI.scheme = "feed";         spec = feedURI.spec;       }       else         spec = "feed:" + spec; -      var ss = -          Cc["@mozilla.org/browser/shell-service;1"].-          getService(Ci.nsIShellService);-      ss.openApplicationWithURI(clientApp, spec);+      var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);+      file.initWithPath(clientApp.persistentDescriptor);+      var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);+      process.init(file);++      if (feedhandlerArgs)+          var args = [feedhandlerArgs, spec];+      else+          var args = [spec];++      process.run(false, args, args.length);       break;      default: