Chromium Code Reviews| Index: chrome/browser/resources/task_manager/preload.js |
| diff --git a/chrome/browser/resources/task_manager/preload.js b/chrome/browser/resources/task_manager/preload.js |
| index d5e9952a28ade796597ad431d5fbba1170f1765e..186612ff5e33597a1bfd630209f117ec47ca5d9e 100644 |
| --- a/chrome/browser/resources/task_manager/preload.js |
| +++ b/chrome/browser/resources/task_manager/preload.js |
| @@ -15,11 +15,41 @@ function taskChanged(start, length, tasks) { |
| if (taskmanager) taskmanager.processTaskChange(task); |
| } |
| +var cachedEnabledColumns; |
|
James Hawkins
2012/03/01 20:03:09
Document variable.
yoshiki
2012/03/02 08:01:14
Done.
|
| +function getEnabledColumns() { |
|
James Hawkins
2012/03/01 20:03:09
Document method.
yoshiki
2012/03/02 08:01:14
Done.
|
| + // Use the cache after the second time since access to localStorage is slow. |
| + if (cachedEnabledColumns) |
| + return cachedEnabledColumns; |
| + |
| + var json = window.localStorage.getItem(ENABLED_COLUMNS_KEY); |
| + try { |
| + cachedEnabledColumns = JSON.parse(json) || {}; |
| + } catch (e) { |
| + cachedEnabledColumns = {}; |
| + } |
| + for (var i = 0; i < DEFAULT_COLUMNS.length; i++) { |
| + if (typeof(cachedEnabledColumns[DEFAULT_COLUMNS[i][0]]) == 'undefined') |
| + cachedEnabledColumns[DEFAULT_COLUMNS[i][0]] = DEFAULT_COLUMNS[i][3]; |
| + } |
| + return cachedEnabledColumns; |
| +} |
| + |
| +function isColumnEnabled(columnId) { |
|
James Hawkins
2012/03/01 20:03:09
Document method.
yoshiki
2012/03/02 08:01:14
Done.
|
| + return (getEnabledColumns())[columnId]; |
| +} |
| + |
| +function setEnabledColumns(enabledColumns) { |
|
James Hawkins
2012/03/01 20:03:09
Document method.
yoshiki
2012/03/02 08:01:14
Done.
|
| + cachedEnabledColumns = enabledColumns; |
| + var json = JSON.stringify(enabledColumns); |
| + window.localStorage.setItem(ENABLED_COLUMNS_KEY, json); |
| +} |
| + |
| // Enable the taskmanager model before the loading of scripts. |
| (function () { |
| for (var i = 0; i < DEFAULT_COLUMNS.length; i++) { |
| - if (DEFAULT_COLUMNS[i][3]) |
| - commands.setUpdateColumn(DEFAULT_COLUMNS[i][0], true); |
| + var columnId = DEFAULT_COLUMNS[i][0]; |
| + if (isColumnEnabled(columnId)) |
| + commands.setUpdateColumn(columnId, true); |
| } |
| commands.enableTaskManager(); |
| commands.setUpdateColumn('canInspect', true); |