| Index: chrome/browser/resources/sync_file_system_internals/file_metadata.js
|
| diff --git a/chrome/browser/resources/sync_file_system_internals/file_metadata.js b/chrome/browser/resources/sync_file_system_internals/file_metadata.js
|
| index 11c0e3473ac9da42c49acf9d2f1e4bbdcc917b4d..bba761d8183fb550429075541707ffbe25af23e9 100644
|
| --- a/chrome/browser/resources/sync_file_system_internals/file_metadata.js
|
| +++ b/chrome/browser/resources/sync_file_system_internals/file_metadata.js
|
| @@ -6,132 +6,134 @@
|
| * WebUI to monitor File Metadata per Extension ID.
|
| */
|
| var FileMetadata = (function() {
|
| -'use strict';
|
| + 'use strict';
|
|
|
| -var FileMetadata = {};
|
| + var FileMetadata = {};
|
|
|
| -/**
|
| - * Gets extension data so the select drop down can be filled.
|
| - */
|
| -function getExtensions() {
|
| - chrome.send('getExtensions');
|
| -}
|
| -
|
| -/**
|
| - * Renders result of getFileMetadata as a table.
|
| - * @param {Array} list of dictionaries containing 'extensionName',
|
| - * 'extensionID', 'status'.
|
| - */
|
| -FileMetadata.onGetExtensions = function(extensionStatuses) {
|
| - var select = $('extensions-select');
|
| -
|
| - // Record existing drop down extension ID. If it's still there after the
|
| - // refresh then keep it as the selected value.
|
| - var oldSelectedExtension = getSelectedExtensionId();
|
| -
|
| - select.textContent = '';
|
| - for (var i = 0; i < extensionStatuses.length; i++) {
|
| - var originEntry = extensionStatuses[i];
|
| - var tr = document.createElement('tr');
|
| - var title = originEntry.extensionName + ' [' + originEntry.status + ']';
|
| - select.options.add(new Option(title, originEntry.extensionID));
|
| -
|
| - // If option was the previously only selected, make it selected again.
|
| - if (originEntry.extensionID != oldSelectedExtension)
|
| - continue;
|
| - select.options[select.options.length - 1].selected = true;
|
| + /**
|
| + * Gets extension data so the select drop down can be filled.
|
| + */
|
| + function getExtensions() {
|
| + chrome.send('getExtensions');
|
| }
|
|
|
| - // After drop down has been loaded with options, file metadata can be loaded
|
| - getFileMetadata();
|
| -};
|
| -
|
| -/**
|
| + /**
|
| + * Renders result of getFileMetadata as a table.
|
| + * @param {Array} list of dictionaries containing 'extensionName',
|
| + * 'extensionID', 'status'.
|
| + */
|
| + FileMetadata.onGetExtensions = function(extensionStatuses) {
|
| + var select = $('extensions-select');
|
| +
|
| + // Record existing drop down extension ID. If it's still there after the
|
| + // refresh then keep it as the selected value.
|
| + var oldSelectedExtension = getSelectedExtensionId();
|
| +
|
| + select.textContent = '';
|
| + for (var i = 0; i < extensionStatuses.length; i++) {
|
| + var originEntry = extensionStatuses[i];
|
| + var tr = document.createElement('tr');
|
| + var title = originEntry.extensionName + ' [' + originEntry.status + ']';
|
| + select.options.add(new Option(title, originEntry.extensionID));
|
| +
|
| + // If option was the previously only selected, make it selected again.
|
| + if (originEntry.extensionID != oldSelectedExtension)
|
| + continue;
|
| + select.options[select.options.length - 1].selected = true;
|
| + }
|
| +
|
| + // After drop down has been loaded with options, file metadata can be loaded
|
| + getFileMetadata();
|
| + };
|
| +
|
| + /**
|
| * @return {string} extension ID that's currently selected in drop down box.
|
| */
|
| -function getSelectedExtensionId() {
|
| - var dropDown = $('extensions-select').options;
|
| - if (dropDown.selectedIndex >= 0)
|
| - return dropDown[dropDown.selectedIndex].value;
|
| -
|
| - return null;
|
| -}
|
| + function getSelectedExtensionId() {
|
| + var dropDown = $('extensions-select').options;
|
| + if (dropDown.selectedIndex >= 0)
|
| + return dropDown[dropDown.selectedIndex].value;
|
|
|
| -/**
|
| - * Get File Metadata depending on which extension is selected from the drop down
|
| - * if any.
|
| - */
|
| -function getFileMetadata() {
|
| - var dropDown = $('extensions-select');
|
| - if (dropDown.options.length === 0) {
|
| - $('file-metadata-header').textContent = '';
|
| - $('file-metadata-entries').textContent = 'No file metadata available.';
|
| - return;
|
| + return null;
|
| }
|
|
|
| - var selectedExtensionId = getSelectedExtensionId();
|
| - chrome.send('getFileMetadata', [selectedExtensionId]);
|
| -}
|
| -
|
| -/**
|
| - * Renders result of getFileMetadata as a table.
|
| - */
|
| -FileMetadata.onGetFileMetadata = function(fileMetadataMap) {
|
| - var header = $('file-metadata-header');
|
| - // Only draw the header if it hasn't been drawn yet
|
| - if (header.children.length === 0) {
|
| - var tr = document.createElement('tr');
|
| - tr.appendChild(createElementFromText('td', 'Type'));
|
| - tr.appendChild(createElementFromText('td', 'Status'));
|
| - tr.appendChild(createElementFromText('td', 'Path', {width: '250px'}));
|
| - tr.appendChild(createElementFromText('td', 'Details'));
|
| - header.appendChild(tr);
|
| - }
|
| -
|
| - // Add row entries.
|
| - var itemContainer = $('file-metadata-entries');
|
| - itemContainer.textContent = '';
|
| - for (var i = 0; i < fileMetadataMap.length; i++) {
|
| - var metadatEntry = fileMetadataMap[i];
|
| - var tr = document.createElement('tr');
|
| - tr.appendChild(createFileIconCell(metadatEntry.type));
|
| - tr.appendChild(createElementFromText('td', metadatEntry.status));
|
| - tr.appendChild(createElementFromText('td', metadatEntry.path));
|
| - tr.appendChild(createElementFromDictionary('td', metadatEntry.details));
|
| - itemContainer.appendChild(tr);
|
| + /**
|
| + * Get File Metadata depending on which extension is selected from the drop
|
| + * down
|
| + * if any.
|
| + */
|
| + function getFileMetadata() {
|
| + var dropDown = $('extensions-select');
|
| + if (dropDown.options.length === 0) {
|
| + $('file-metadata-header').textContent = '';
|
| + $('file-metadata-entries').textContent = 'No file metadata available.';
|
| + return;
|
| + }
|
| +
|
| + var selectedExtensionId = getSelectedExtensionId();
|
| + chrome.send('getFileMetadata', [selectedExtensionId]);
|
| }
|
| -};
|
|
|
| -/**
|
| + /**
|
| + * Renders result of getFileMetadata as a table.
|
| + */
|
| + FileMetadata.onGetFileMetadata = function(fileMetadataMap) {
|
| + var header = $('file-metadata-header');
|
| + // Only draw the header if it hasn't been drawn yet
|
| + if (header.children.length === 0) {
|
| + var tr = document.createElement('tr');
|
| + tr.appendChild(createElementFromText('td', 'Type'));
|
| + tr.appendChild(createElementFromText('td', 'Status'));
|
| + tr.appendChild(createElementFromText('td', 'Path', {width: '250px'}));
|
| + tr.appendChild(createElementFromText('td', 'Details'));
|
| + header.appendChild(tr);
|
| + }
|
| +
|
| + // Add row entries.
|
| + var itemContainer = $('file-metadata-entries');
|
| + itemContainer.textContent = '';
|
| + for (var i = 0; i < fileMetadataMap.length; i++) {
|
| + var metadatEntry = fileMetadataMap[i];
|
| + var tr = document.createElement('tr');
|
| + tr.appendChild(createFileIconCell(metadatEntry.type));
|
| + tr.appendChild(createElementFromText('td', metadatEntry.status));
|
| + tr.appendChild(createElementFromText('td', metadatEntry.path));
|
| + tr.appendChild(createElementFromDictionary('td', metadatEntry.details));
|
| + itemContainer.appendChild(tr);
|
| + }
|
| + };
|
| +
|
| + /**
|
| * @param {string} file type string.
|
| * @return {HTMLElement} TD with file or folder icon depending on type.
|
| */
|
| -function createFileIconCell(type) {
|
| - var img = document.createElement('div');
|
| - var lowerType = type.toLowerCase();
|
| - if (lowerType == 'file') {
|
| - img.style.content = cr.icon.getImage('chrome://theme/IDR_DEFAULT_FAVICON');
|
| - } else if (lowerType == 'folder') {
|
| - img.style.content = cr.icon.getImage('chrome://theme/IDR_FOLDER_CLOSED');
|
| - img.className = 'folder-image';
|
| + function createFileIconCell(type) {
|
| + var img = document.createElement('div');
|
| + var lowerType = type.toLowerCase();
|
| + if (lowerType == 'file') {
|
| + img.style.content =
|
| + cr.icon.getImage('chrome://theme/IDR_DEFAULT_FAVICON');
|
| + } else if (lowerType == 'folder') {
|
| + img.style.content = cr.icon.getImage('chrome://theme/IDR_FOLDER_CLOSED');
|
| + img.className = 'folder-image';
|
| + }
|
| +
|
| + var imgWrapper = document.createElement('div');
|
| + imgWrapper.appendChild(img);
|
| +
|
| + var td = document.createElement('td');
|
| + td.className = 'file-icon-cell';
|
| + td.appendChild(imgWrapper);
|
| + td.appendChild(document.createTextNode(type));
|
| + return td;
|
| }
|
|
|
| - var imgWrapper = document.createElement('div');
|
| - imgWrapper.appendChild(img);
|
| -
|
| - var td = document.createElement('td');
|
| - td.className = 'file-icon-cell';
|
| - td.appendChild(imgWrapper);
|
| - td.appendChild(document.createTextNode(type));
|
| - return td;
|
| -}
|
| -
|
| -function main() {
|
| - getExtensions();
|
| - $('refresh-metadata-button').addEventListener('click', getExtensions);
|
| - $('extensions-select').addEventListener('change', getFileMetadata);
|
| -}
|
| + function main() {
|
| + getExtensions();
|
| + $('refresh-metadata-button').addEventListener('click', getExtensions);
|
| + $('extensions-select').addEventListener('change', getFileMetadata);
|
| + }
|
|
|
| -document.addEventListener('DOMContentLoaded', main);
|
| -return FileMetadata;
|
| + document.addEventListener('DOMContentLoaded', main);
|
| + return FileMetadata;
|
| })();
|
|
|