OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 /** | 5 /** |
6 * Handles the Extension ID -> SyncStatus tab for syncfs-internals. | 6 * Handles the Extension ID -> SyncStatus tab for syncfs-internals. |
7 */ | 7 */ |
8 var ExtensionStatuses = (function() { | 8 var ExtensionStatuses = (function() { |
9 'use strict'; | 9 'use strict'; |
10 | 10 |
11 var ExtensionStatuses = {}; | 11 var ExtensionStatuses = {}; |
12 | 12 |
13 /** | 13 /** |
14 * Get initial map of extension statuses (pending batch sync, enabled and | 14 * Get initial map of extension statuses (pending batch sync, enabled and |
15 * disabled). | 15 * disabled). |
16 */ | 16 */ |
17 function getExtensionStatuses() { | 17 function getExtensionStatuses() { |
18 chrome.send('getExtensionStatuses'); | 18 chrome.send('getExtensionStatuses'); |
19 } | 19 } |
20 | 20 |
21 // TODO(calvinlo): Move to helper file so it doesn't need to be duplicated. | 21 // TODO(calvinlo): Move to helper file so it doesn't need to be duplicated. |
22 /** | 22 /** |
23 * Creates an element named |elementName| containing the content |text|. | 23 * Creates an element named |elementName| containing the content |text|. |
24 * @param {string} elementName Name of the new element to be created. | 24 * @param {string} elementName Name of the new element to be created. |
25 * @param {string} text Text to be contained in the new element. | 25 * @param {string} text Text to be contained in the new element. |
26 * @return {HTMLElement} The newly created HTML element. | 26 * @return {HTMLElement} The newly created HTML element. |
27 */ | 27 */ |
28 function createElementFromText(elementName, text) { | 28 function createElementFromText(elementName, text) { |
29 var element = document.createElement(elementName); | 29 var element = document.createElement(elementName); |
30 element.appendChild(document.createTextNode(text)); | 30 element.appendChild(document.createTextNode(text)); |
31 return element; | 31 return element; |
32 } | 32 } |
33 | 33 |
34 /** | 34 /** |
35 * Handles callback from onGetExtensionStatuses. | 35 * Handles callback from onGetExtensionStatuses. |
36 * @param {Array} list of dictionaries containing 'extensionName', | 36 * @param {Array} list of dictionaries containing 'extensionName', |
37 * 'extensionID, 'status'. | 37 * 'extensionID, 'status'. |
38 */ | 38 */ |
39 ExtensionStatuses.onGetExtensionStatuses = function(extensionStatuses) { | 39 ExtensionStatuses.onGetExtensionStatuses = function(extensionStatuses) { |
40 var itemContainer = $('extension-entries'); | 40 var itemContainer = $('extension-entries'); |
41 itemContainer.textContent = ''; | 41 itemContainer.textContent = ''; |
42 | 42 |
43 for (var i = 0; i < extensionStatuses.length; i++) { | 43 for (var i = 0; i < extensionStatuses.length; i++) { |
44 var originEntry = extensionStatuses[i]; | 44 var originEntry = extensionStatuses[i]; |
45 var tr = document.createElement('tr'); | 45 var tr = document.createElement('tr'); |
46 tr.appendChild(createElementFromText('td', originEntry.extensionName)); | 46 tr.appendChild(createElementFromText('td', originEntry.extensionName)); |
47 tr.appendChild(createElementFromText('td', originEntry.extensionID)); | 47 tr.appendChild(createElementFromText('td', originEntry.extensionID)); |
48 tr.appendChild(createElementFromText('td', originEntry.status)); | 48 tr.appendChild(createElementFromText('td', originEntry.status)); |
49 itemContainer.appendChild(tr); | 49 itemContainer.appendChild(tr); |
| 50 } |
| 51 }; |
| 52 |
| 53 function main() { |
| 54 getExtensionStatuses(); |
| 55 $('refresh-extensions-statuses') |
| 56 .addEventListener('click', getExtensionStatuses); |
50 } | 57 } |
51 } | |
52 | 58 |
53 function main() { | 59 document.addEventListener('DOMContentLoaded', main); |
54 getExtensionStatuses(); | 60 return ExtensionStatuses; |
55 $('refresh-extensions-statuses').addEventListener('click', | |
56 getExtensionStatuses); | |
57 } | |
58 | |
59 document.addEventListener('DOMContentLoaded', main); | |
60 return ExtensionStatuses; | |
61 })(); | 61 })(); |
OLD | NEW |