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); |