| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 function feedLink(url) { | 5 function feedLink(url) { |
| 6 var feed_link = document.createElement('a'); | 6 var feed_link = document.createElement('a'); |
| 7 feed_link.href = url; | 7 feed_link.href = url; |
| 8 feed_link.addEventListener("click", onClick); | 8 feed_link.addEventListener("click", onClick); |
| 9 return feed_link; | 9 return feed_link; |
| 10 } | 10 } |
| 11 | 11 |
| 12 function main() { | 12 function main() { |
| 13 chrome.tabs.getSelected(null, function(tab) { | 13 chrome.tabs.getSelected(function(tab) { |
| 14 var feeds = chrome.extension.getBackgroundPage().feedData[tab.id]; | 14 chrome.storage.local.get(tab.id.toString(), function(result) { |
| 15 if (feeds.length == 1) { | 15 var feeds = result[tab.id]; |
| 16 // Only one feed, no need for a bubble; go straight to the subscribe page. | 16 if (feeds.length == 1) { |
| 17 preview(feeds[0].href); | 17 // Only one feed, no need for a bubble; go straight to the subscribe |
| 18 } else { | 18 // page. |
| 19 var content = document.getElementById('content'); | 19 preview(feeds[0].href); |
| 20 var heading = document.getElementById('heading'); | 20 } else { |
| 21 heading.innerText = | 21 var content = document.getElementById('content'); |
| 22 chrome.i18n.getMessage("rss_subscription_action_title"); | 22 var heading = document.getElementById('heading'); |
| 23 content.appendChild(document.createElement('br')); | 23 heading.innerText = |
| 24 chrome.i18n.getMessage("rss_subscription_action_title"); |
| 25 content.appendChild(document.createElement('br')); |
| 24 | 26 |
| 25 var feed_list = document.createElement('table'); | 27 var feed_list = document.createElement('table'); |
| 26 feed_list.style.width = "400"; | 28 feed_list.style.width = "400"; |
| 27 for (var i = 0; i < feeds.length; ++i) { | 29 for (var i = 0; i < feeds.length; ++i) { |
| 28 // Create an RSS image and the anhor encapsulating it. | 30 // Create an RSS image and the anhor encapsulating it. |
| 29 var img_link = feedLink(feeds[i].href); | 31 var img_link = feedLink(feeds[i].href); |
| 30 var img = document.createElement('img'); | 32 var img = document.createElement('img'); |
| 31 img.src = "feed-icon-16x16.png"; | 33 img.src = "feed-icon-16x16.png"; |
| 32 img_link.appendChild(img); | 34 img_link.appendChild(img); |
| 33 | 35 |
| 34 // Create a text node and the anchor encapsulating it. | 36 // Create a text node and the anchor encapsulating it. |
| 35 var text_link = feedLink(feeds[i].href); | 37 var text_link = feedLink(feeds[i].href); |
| 36 text_link.appendChild(document.createTextNode(feeds[i].title)); | 38 text_link.appendChild(document.createTextNode(feeds[i].title)); |
| 37 | 39 |
| 38 // Add the data to a row in the table. | 40 // Add the data to a row in the table. |
| 39 var tr = document.createElement('tr'); | 41 var tr = document.createElement('tr'); |
| 40 tr.className = "feedList"; | 42 tr.className = "feedList"; |
| 41 var td = document.createElement('td'); | 43 var td = document.createElement('td'); |
| 42 td.width = "16"; | 44 td.width = "16"; |
| 43 td.appendChild(img_link); | 45 td.appendChild(img_link); |
| 44 var td2 = document.createElement('td'); | 46 var td2 = document.createElement('td'); |
| 45 td2.appendChild(text_link); | 47 td2.appendChild(text_link); |
| 46 tr.appendChild(td); | 48 tr.appendChild(td); |
| 47 tr.appendChild(td2); | 49 tr.appendChild(td2); |
| 48 feed_list.appendChild(tr); | 50 feed_list.appendChild(tr); |
| 51 } |
| 52 |
| 53 content.appendChild(feed_list); |
| 49 } | 54 } |
| 50 | 55 }); |
| 51 content.appendChild(feed_list); | |
| 52 } | |
| 53 }); | 56 }); |
| 54 } | 57 } |
| 55 | 58 |
| 56 function onClick(event) { | 59 function onClick(event) { |
| 57 var a = event.currentTarget; | 60 var a = event.currentTarget; |
| 58 preview(a.href); | 61 preview(a.href); |
| 59 } | 62 } |
| 60 | 63 |
| 61 function preview(feed_url) { | 64 function preview(feed_url) { |
| 62 // See if we need to skip the preview page and subscribe directly. | 65 // See if we need to skip the preview page and subscribe directly. |
| 63 var url = ""; | 66 var url = ""; |
| 64 if (window.localStorage && window.localStorage.showPreviewPage == "No") { | 67 if (window.localStorage && window.localStorage.showPreviewPage == "No") { |
| 65 // Skip the preview. | 68 // Skip the preview. |
| 66 url = window.localStorage.defaultReader.replace("%s", escape(feed_url)); | 69 url = window.localStorage.defaultReader.replace("%s", escape(feed_url)); |
| 67 } else { | 70 } else { |
| 68 // Show the preview page. | 71 // Show the preview page. |
| 69 url = "subscribe.html?" + encodeURIComponent(feed_url); | 72 url = "subscribe.html?" + encodeURIComponent(feed_url); |
| 70 } | 73 } |
| 71 chrome.tabs.create({ url: url }); | 74 chrome.tabs.create({ url: url }); |
| 72 window.close(); | 75 window.close(); |
| 73 } | 76 } |
| 74 | 77 |
| 75 // Init on DOM ready. | 78 // Init on DOM ready. |
| 76 document.addEventListener('DOMContentLoaded', main); | 79 document.addEventListener('DOMContentLoaded', main); |
| OLD | NEW |