Untitled diff

Created Diff never expires
13 removals
33 lines
8 additions
27 lines
const TITLE = "Subscribe to this page\u2026";
const TITLE = "Subscribe to this page\u2026";
const kPromptService = Services.prompt;
const kPromptService = Services.prompt;
function selectItems(aText, aArray) {
function selectItems(aText, aArray) {
var selected = {};
var selected = {};
var result = kPromptService.select(null, TITLE, aText, aArray.length, aArray, selected);
var result = kPromptService.select(null, TITLE, aText, aArray.length, aArray, selected);
if (result) return selected.value;
if (result) return selected.value;
return;
return false;
}
}
var feeds = content.document.querySelectorAll('link[rel="alternate"]\[type^="application/"]\[type$="+xml"]');
var feeds = gBrowser.selectedBrowser.feeds;
/* Note: keyconfig keeps adding spaces between ']' and '[' when I saved the code, so I used '\['.
Must be because the way keyconfig store codes in the preferences. */
if (!feeds.length) {
if (!feeds)
kPromptService.alert(null, TITLE, "No feeds found on this page.");
return kPromptService.alert(null, TITLE, "No feeds found on this page.");
return;
}
if (feeds.length === 1) {
if (feeds.length === 1)
FeedHandler.subscribeToFeed(feeds[0].href);
return FeedHandler.subscribeToFeed(feeds[0].href);
return;
}
var feedNames = [];
var feedNames = [];
var feedURLs = [];
var feedURLs = [];
for (var i = 0; i < feeds.length; i++) {
for (var i = 0; i < feeds.length; i++) {
feedNames.push(feeds[i].title);
feedNames.push(feeds[i].title);
feedURLs.push(feeds[i].href);
feedURLs.push(feeds[i].href);
}
}
var index = selectItems("Select feed to subscribe:", feedNames);
var index = selectItems("Select feed to subscribe:", feedNames);
if (index !== undefined)
if (index !== undefined)
FeedHandler.subscribeToFeed(feedURLs[index]);
return FeedHandler.subscribeToFeed(feedURLs[index]);