diff options
author | Matt A. Tobin <email@mattatobin.com> | 2019-11-03 00:17:46 -0400 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2019-11-03 00:17:46 -0400 |
commit | 302bf1b523012e11b60425d6eee1221ebc2724eb (patch) | |
tree | b191a895f8716efcbe42f454f37597a545a6f421 /mailnews/extensions/newsblog/js/newsblog.js | |
parent | 21b3f6247403c06f85e1f45d219f87549862198f (diff) | |
download | UXP-302bf1b523012e11b60425d6eee1221ebc2724eb.tar UXP-302bf1b523012e11b60425d6eee1221ebc2724eb.tar.gz UXP-302bf1b523012e11b60425d6eee1221ebc2724eb.tar.lz UXP-302bf1b523012e11b60425d6eee1221ebc2724eb.tar.xz UXP-302bf1b523012e11b60425d6eee1221ebc2724eb.zip |
Issue #1258 - Part 1: Import mailnews, ldap, and mork from comm-esr52.9.1
Diffstat (limited to 'mailnews/extensions/newsblog/js/newsblog.js')
-rw-r--r-- | mailnews/extensions/newsblog/js/newsblog.js | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/mailnews/extensions/newsblog/js/newsblog.js b/mailnews/extensions/newsblog/js/newsblog.js new file mode 100644 index 000000000..364038ee5 --- /dev/null +++ b/mailnews/extensions/newsblog/js/newsblog.js @@ -0,0 +1,99 @@ +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +var {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components; + +Cu.import("resource:///modules/FeedUtils.jsm"); +Cu.import("resource://gre/modules/XPCOMUtils.jsm"); + +var nsNewsBlogFeedDownloader = +{ + downloadFeed: function(aFolder, aUrlListener, aIsBiff, aMsgWindow) + { + FeedUtils.downloadFeed(aFolder, aUrlListener, aIsBiff, aMsgWindow); + }, + + subscribeToFeed: function(aUrl, aFolder, aMsgWindow) + { + FeedUtils.subscribeToFeed(aUrl, aFolder, aMsgWindow); + }, + + updateSubscriptionsDS: function(aFolder, aOrigFolder, aAction) + { + FeedUtils.updateSubscriptionsDS(aFolder, aOrigFolder, aAction); + }, + + QueryInterface: function(aIID) + { + if (aIID.equals(Ci.nsINewsBlogFeedDownloader) || + aIID.equals(Ci.nsISupports)) + return this; + + throw Cr.NS_ERROR_NO_INTERFACE; + } +} + +var nsNewsBlogAcctMgrExtension = +{ + name: "newsblog", + chromePackageName: "messenger-newsblog", + showPanel: function (server) + { + return false; + }, + QueryInterface: function(aIID) + { + if (aIID.equals(Ci.nsIMsgAccountManagerExtension) || + aIID.equals(Ci.nsISupports)) + return this; + + throw Cr.NS_ERROR_NO_INTERFACE; + } +} + +function FeedDownloader() {} + +FeedDownloader.prototype = +{ + classID: Components.ID("{5c124537-adca-4456-b2b5-641ab687d1f6}"), + _xpcom_factory: + { + createInstance: function (aOuter, aIID) + { + if (aOuter != null) + throw Cr.NS_ERROR_NO_AGGREGATION; + if (!aIID.equals(Ci.nsINewsBlogFeedDownloader) && + !aIID.equals(Ci.nsISupports)) + throw Cr.NS_ERROR_INVALID_ARG; + + // return the singleton + return nsNewsBlogFeedDownloader.QueryInterface(aIID); + } + } // factory +}; // feed downloader + +function AcctMgrExtension() {} + +AcctMgrExtension.prototype = +{ + classID: Components.ID("{E109C05F-D304-4ca5-8C44-6DE1BFAF1F74}"), + _xpcom_factory: + { + createInstance: function (aOuter, aIID) + { + if (aOuter != null) + throw Cr.NS_ERROR_NO_AGGREGATION; + if (!aIID.equals(Ci.nsIMsgAccountManagerExtension) && + !aIID.equals(Ci.nsISupports)) + throw Cr.NS_ERROR_INVALID_ARG; + + // return the singleton + return nsNewsBlogAcctMgrExtension.QueryInterface(aIID); + } + } // factory +}; // account manager extension + +var components = [FeedDownloader, AcctMgrExtension]; +var NSGetFactory = XPCOMUtils.generateNSGetFactory(components); |