Chromium Code Reviews| Index: chrome/browser/resources/sync_file_system_internals/extension_statuses.js |
| diff --git a/chrome/browser/resources/sync_file_system_internals/extension_statuses.js b/chrome/browser/resources/sync_file_system_internals/extension_statuses.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..eec065eb300b9dc75477b2b3f686c98149ff1d49 |
| --- /dev/null |
| +++ b/chrome/browser/resources/sync_file_system_internals/extension_statuses.js |
| @@ -0,0 +1,59 @@ |
| +// Copyright 2013 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +/** |
| + * Handles the Extension ID -> SyncStatus tab for syncfs-internals. |
| + */ |
| +var extensionStatuses = (function() { |
|
Bernhard Bauer
2013/06/12 10:53:32
Sorry if I'm being nitpicky here, but you're conce
calvinlo
2013/06/12 11:40:22
Per offline conversation, I was just initially fol
|
| +'use strict'; |
| + |
| +var ExtensionStatuses = {}; |
| + |
| +/** |
| + * Get initial map of extension statuses (pending batch sync, enabled and |
| + * disabled). |
| + */ |
| +function getExtensionStatuses() { |
| + chrome.send('getExtensionStatuses'); |
| +} |
| + |
| +// TODO(calvinlo): Move to helper file so it doesn't need to be duplicated. |
| +/** |
| + * Creates an element named |elementName| containing the content |text|. |
| + * @param {string} elementName Name of the new element to be created. |
| + * @param {string} text Text to be contained in the new element. |
| + * @return {HTMLElement} The newly created HTML element. |
| + */ |
| +function createElementFromText(elementName, text) { |
| + var element = document.createElement(elementName); |
| + element.appendChild(document.createTextNode(text)); |
| + return element; |
| +} |
| + |
| +/** |
| + * Handles callback from onGetExtensionStatuses. |
| + * @param {Array} list of dictionaries containing 'extensionID' and 'status'. |
| + */ |
| +ExtensionStatuses.onGetExtensionStatuses = function(extensionStatuses) { |
| + var itemContainer = $('extension-entries'); |
| + itemContainer.textContent = ''; |
| + |
| + for (var i = 0; i < extensionStatuses.length; i++) { |
| + var originEntry = extensionStatuses[i]; |
| + var tr = document.createElement('tr'); |
| + tr.appendChild(createElementFromText('td', originEntry.extensionID)); |
| + tr.appendChild(createElementFromText('td', originEntry.status)); |
| + itemContainer.appendChild(tr); |
| + } |
| +} |
| + |
| +function main() { |
| + getExtensionStatuses(); |
| + $('refresh-extensions-statuses').addEventListener('click', |
| + getExtensionStatuses); |
| +} |
| + |
| +document.addEventListener('DOMContentLoaded', main); |
| +return ExtensionStatuses; |
| +})(); |