OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 // Grab the querystring, removing question mark at the front and splitting on | 5 // Grab the querystring, removing question mark at the front and splitting on |
6 // the ampersand. | 6 // the ampersand. |
7 var queryString = location.search.substring(1).split("&"); | 7 var queryString = location.search.substring(1).split("&"); |
8 | 8 |
9 // The feed URL is the first component and always present. | 9 // The feed URL is the first component and always present. |
10 var feedUrl = decodeURIComponent(queryString[0]); | 10 var feedUrl = decodeURIComponent(queryString[0]); |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 // The tests always expect an IFRAME, so add one showing the error. | 137 // The tests always expect an IFRAME, so add one showing the error. |
138 var html = "<body><span id=\"error\" class=\"item_desc\">" + error + | 138 var html = "<body><span id=\"error\" class=\"item_desc\">" + error + |
139 "</span></body>"; | 139 "</span></body>"; |
140 | 140 |
141 var error_frame = createFrame('error', html); | 141 var error_frame = createFrame('error', html); |
142 var itemsTag = document.getElementById('items'); | 142 var itemsTag = document.getElementById('items'); |
143 itemsTag.appendChild(error_frame); | 143 itemsTag.appendChild(error_frame); |
144 } | 144 } |
145 | 145 |
146 function createFrame(frame_id, html) { | 146 function createFrame(frame_id, html) { |
| 147 var csp = '<meta http-equiv="content-security-policy" ' + |
| 148 'value="script-src \'self\'; object-src \'none\'">'; |
147 frame = document.createElement('iframe'); | 149 frame = document.createElement('iframe'); |
148 frame.id = frame_id; | 150 frame.id = frame_id; |
149 frame.src = "data:text/html;charset=utf-8,<html>" + styleSheet + html + | 151 frame.src = "data:text/html;charset=utf-8,<html>" + csp + styleSheet + html + |
150 "</html>"; | 152 "</html>"; |
151 frame.scrolling = "auto"; | 153 frame.scrolling = "auto"; |
152 frame.frameBorder = "0"; | 154 frame.frameBorder = "0"; |
153 frame.marginWidth = "0"; | 155 frame.marginWidth = "0"; |
154 return frame; | 156 return frame; |
155 } | 157 } |
156 | 158 |
157 function embedAsIframe(rssText) { | 159 function embedAsIframe(rssText) { |
158 var itemsTag = document.getElementById('items'); | 160 var itemsTag = document.getElementById('items'); |
159 | 161 |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
215 function onSelectChanged() { | 217 function onSelectChanged() { |
216 if (!storageEnabled) | 218 if (!storageEnabled) |
217 return; | 219 return; |
218 var readerDropdown = document.getElementById('readerDropdown'); | 220 var readerDropdown = document.getElementById('readerDropdown'); |
219 | 221 |
220 // If the last item (Manage...) was selected we show the options. | 222 // If the last item (Manage...) was selected we show the options. |
221 var oldSelection = readerDropdown.selectedIndex; | 223 var oldSelection = readerDropdown.selectedIndex; |
222 if (readerDropdown.selectedIndex == readerDropdown.length - 1) | 224 if (readerDropdown.selectedIndex == readerDropdown.length - 1) |
223 window.location = "options.html"; | 225 window.location = "options.html"; |
224 } | 226 } |
| 227 |
| 228 document.addEventListener('DOMContentLoaded', function () { |
| 229 document.title = |
| 230 chrome.i18n.getMessage("rss_subscription_default_title"); |
| 231 i18nReplace('rss_subscription_subscribe_using'); |
| 232 i18nReplace('rss_subscription_subscribe_button'); |
| 233 i18nReplace('rss_subscription_always_use'); |
| 234 i18nReplace('rss_subscription_feed_preview'); |
| 235 i18nReplaceImpl('feedUrl', 'rss_subscription_feed_link', ''); |
| 236 |
| 237 var dropdown = document.getElementById('readerDropdown'); |
| 238 dropdown.addEventListener('change', onSelectChanged); |
| 239 var button = document.getElementById('rss_subscription_subscribe_button'); |
| 240 button.addEventListener('click', navigate); |
| 241 |
| 242 main(); |
| 243 }); |
OLD | NEW |