home *** CD-ROM | disk | FTP | other *** search
- //@line 38 "/build/buildd/firefox-3.0-3.0.14+build2+nobinonly/build-tree/mozilla/browser/base/content/pageinfo/feeds.js"
-
- function initFeedTab()
- {
- const feedTypes = {
- "application/rss+xml": gBundle.getString("feedRss"),
- "application/atom+xml": gBundle.getString("feedAtom"),
- "text/xml": gBundle.getString("feedXML"),
- "application/xml": gBundle.getString("feedXML"),
- "application/rdf+xml": gBundle.getString("feedXML")
- };
-
- // get the feeds
- var linkNodes = gDocument.getElementsByTagName("link");
- var length = linkNodes.length;
- for (var i = 0; i < length; i++) {
- var link = linkNodes[i];
- if (!link.href)
- continue;
-
- var rel = link.rel && link.rel.toLowerCase();
- var rels = {};
- if (rel) {
- for each (let relVal in rel.split(/\s+/))
- rels[relVal] = true;
- }
-
- if (rels.feed || (link.type && rels.alternate && !rels.stylesheet)) {
- var feed = { title: link.title, href: link.href, type: link.type || "" };
- if (isValidFeed(feed, gDocument.nodePrincipal, rels.feed)) {
- var type = feedTypes[feed.type] || feedTypes["application/rss+xml"];
- addRow(feed.title, type, feed.href);
- }
- }
- }
-
- var feedListbox = document.getElementById("feedListbox");
- document.getElementById("feedTab").hidden = feedListbox.getRowCount() == 0;
- }
-
- function onSubscribeFeed()
- {
- var listbox = document.getElementById("feedListbox");
- openUILink(listbox.selectedItem.getAttribute("feedURL"),
- null, false, true, false, null);
- }
-
- function addRow(name, type, url)
- {
- var item = document.createElement("richlistitem");
- item.setAttribute("feed", "true");
- item.setAttribute("name", name);
- item.setAttribute("type", type);
- item.setAttribute("feedURL", url);
- document.getElementById("feedListbox").appendChild(item);
- }
-