Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Side by Side Diff: chrome/browser/resources/task_manager/preload.js

Issue 9543002: WebUI TaskManager: Remember column settings (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review fix Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/resources/task_manager/main.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // Defines global variables. 5 // Defines global variables.
6 var commands = TaskManagerCommands; 6 var commands = TaskManagerCommands;
7 var taskmanager = undefined; // This will be instantiated in main.js. 7 var taskmanager = undefined; // This will be instantiated in main.js.
8 8
9 /** 9 /**
10 * Invoked when a range of items has changed. 10 * Invoked when a range of items has changed.
11 */ 11 */
12 function taskChanged(start, length, tasks) { 12 function taskChanged(start, length, tasks) {
13 var task = {type: 'change', start: start, length: length, tasks: tasks}; 13 var task = {type: 'change', start: start, length: length, tasks: tasks};
14 14
15 if (taskmanager) taskmanager.processTaskChange(task); 15 if (taskmanager) taskmanager.processTaskChange(task);
16 } 16 }
17 17
18 // Cached list of enabled columns to prevent frequent access to localStorage.
19 var cachedEnabledColumns;
20
21 /**
22 * Returns the dictionary which contains the list of columns and whether each
23 * column is enabled or not.
24 */
25 function getEnabledColumns() {
26 // Use the cache after the second time since access to localStorage is slow.
27 if (cachedEnabledColumns)
28 return cachedEnabledColumns;
29
30 var json = window.localStorage.getItem(ENABLED_COLUMNS_KEY);
31 try {
32 cachedEnabledColumns = JSON.parse(json) || {};
33 } catch (e) {
34 cachedEnabledColumns = {};
35 }
36 for (var i = 0; i < DEFAULT_COLUMNS.length; i++) {
37 if (typeof(cachedEnabledColumns[DEFAULT_COLUMNS[i][0]]) == 'undefined')
38 cachedEnabledColumns[DEFAULT_COLUMNS[i][0]] = DEFAULT_COLUMNS[i][3];
39 }
40 return cachedEnabledColumns;
41 }
42
43 /**
44 * Returns whether the given column (at |columnId|) is enabled or not.
45 */
46 function isColumnEnabled(columnId) {
47 return (getEnabledColumns())[columnId];
48 }
49
50 /**
51 * Sets whether the given column is enabled or not.
52 */
53 function setColumnEnabled(columnId, newChecked) {
54 commands.setUpdateColumn(columnId, newChecked);
55 cachedEnabledColumns[columnId] = newChecked;
56 var json = JSON.stringify(cachedEnabledColumns);
57 window.localStorage.setItem(ENABLED_COLUMNS_KEY, json);
58 }
59
18 // Enable the taskmanager model before the loading of scripts. 60 // Enable the taskmanager model before the loading of scripts.
19 (function () { 61 (function () {
20 for (var i = 0; i < DEFAULT_COLUMNS.length; i++) { 62 for (var i = 0; i < DEFAULT_COLUMNS.length; i++) {
21 if (DEFAULT_COLUMNS[i][3]) 63 var columnId = DEFAULT_COLUMNS[i][0];
22 commands.setUpdateColumn(DEFAULT_COLUMNS[i][0], true); 64 if (isColumnEnabled(columnId))
65 commands.setUpdateColumn(columnId, true);
23 } 66 }
24 commands.enableTaskManager(); 67 commands.enableTaskManager();
25 commands.setUpdateColumn('canInspect', true); 68 commands.setUpdateColumn('canInspect', true);
26 commands.setUpdateColumn('canActivate', true); 69 commands.setUpdateColumn('canActivate', true);
27 })(); 70 })();
OLDNEW
« no previous file with comments | « chrome/browser/resources/task_manager/main.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698