Untitled diff

Created Diff never expires
2 removals
27 lines
9 additions
34 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 false;
return false;
}
}
function subscribeToFeed(aFeedURL) {
try {
return FeedHandler.subscribeToFeed(aFeedURL);
} catch(ex) {}
}
var feeds = gBrowser.selectedBrowser.feeds;
var feeds = gBrowser.selectedBrowser.feeds;
if (!feeds)
if (!feeds)
return kPromptService.alert(null, TITLE, "No feeds found on this page.");
return kPromptService.alert(null, TITLE, "No feeds found on this page.");
if (feeds.length === 1)
if (feeds.length === 1)
return FeedHandler.subscribeToFeed(feeds[0].href);
return subscribeToFeed(feeds[0].href);
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)
return FeedHandler.subscribeToFeed(feedURLs[index]);
return subscribeToFeed(feedURLs[index]);