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

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: Add comments & Replace setEnabledColumn() with setColumnEnability(). 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
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 // Caches list of enabled columns to prevent frequent access to localStorage.
James Hawkins 2012/03/02 22:52:38 Variables don't "do" things, so s/Caches/Cached/.
yoshiki 2012/03/05 03:10:56 Done.
19 var cachedEnabledColumns;
20
21 /**
22 * Returns the dictionary which maps columnId with enablity of column.
James Hawkins 2012/03/02 22:52:38 Same thing about enablity.
yoshiki 2012/03/05 03:10:56 Done.
23 */
24 function getEnabledColumns() {
25 // Use the cache after the second time since access to localStorage is slow.
26 if (cachedEnabledColumns)
27 return cachedEnabledColumns;
28
29 var json = window.localStorage.getItem(ENABLED_COLUMNS_KEY);
30 try {
31 cachedEnabledColumns = JSON.parse(json) || {};
32 } catch (e) {
33 cachedEnabledColumns = {};
34 }
35 for (var i = 0; i < DEFAULT_COLUMNS.length; i++) {
36 if (typeof(cachedEnabledColumns[DEFAULT_COLUMNS[i][0]]) == 'undefined')
37 cachedEnabledColumns[DEFAULT_COLUMNS[i][0]] = DEFAULT_COLUMNS[i][3];
38 }
39 return cachedEnabledColumns;
40 }
41
42 /**
43 * Returns whether the givin column is enabled or not.
James Hawkins 2012/03/02 22:52:38 s/givin/given/ "Returns whether the given column
yoshiki 2012/03/05 03:10:56 Done.
44 */
45 function isColumnEnabled(columnId) {
46 return (getEnabledColumns())[columnId];
47 }
48
49 /**
50 * Sets the given enablity of the given column.
51 */
52 function setColumnEnablity(columnId, newChecked) {
53 commands.setUpdateColumn(columnId, newChecked);
54 cachedEnabledColumns[columnId] = newChecked;
55 var json = JSON.stringify(cachedEnabledColumns);
56 window.localStorage.setItem(ENABLED_COLUMNS_KEY, json);
57 }
58
18 // Enable the taskmanager model before the loading of scripts. 59 // Enable the taskmanager model before the loading of scripts.
19 (function () { 60 (function () {
20 for (var i = 0; i < DEFAULT_COLUMNS.length; i++) { 61 for (var i = 0; i < DEFAULT_COLUMNS.length; i++) {
21 if (DEFAULT_COLUMNS[i][3]) 62 var columnId = DEFAULT_COLUMNS[i][0];
22 commands.setUpdateColumn(DEFAULT_COLUMNS[i][0], true); 63 if (isColumnEnabled(columnId))
64 commands.setUpdateColumn(columnId, true);
23 } 65 }
24 commands.enableTaskManager(); 66 commands.enableTaskManager();
25 commands.setUpdateColumn('canInspect', true); 67 commands.setUpdateColumn('canInspect', true);
26 commands.setUpdateColumn('canActivate', true); 68 commands.setUpdateColumn('canActivate', true);
27 })(); 69 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698