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

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: 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 var cachedEnabledColumns;
James Hawkins 2012/03/01 20:03:09 Document variable.
yoshiki 2012/03/02 08:01:14 Done.
19 function getEnabledColumns() {
James Hawkins 2012/03/01 20:03:09 Document method.
yoshiki 2012/03/02 08:01:14 Done.
20 // Use the cache after the second time since access to localStorage is slow.
21 if (cachedEnabledColumns)
22 return cachedEnabledColumns;
23
24 var json = window.localStorage.getItem(ENABLED_COLUMNS_KEY);
25 try {
26 cachedEnabledColumns = JSON.parse(json) || {};
27 } catch (e) {
28 cachedEnabledColumns = {};
29 }
30 for (var i = 0; i < DEFAULT_COLUMNS.length; i++) {
31 if (typeof(cachedEnabledColumns[DEFAULT_COLUMNS[i][0]]) == 'undefined')
32 cachedEnabledColumns[DEFAULT_COLUMNS[i][0]] = DEFAULT_COLUMNS[i][3];
33 }
34 return cachedEnabledColumns;
35 }
36
37 function isColumnEnabled(columnId) {
James Hawkins 2012/03/01 20:03:09 Document method.
yoshiki 2012/03/02 08:01:14 Done.
38 return (getEnabledColumns())[columnId];
39 }
40
41 function setEnabledColumns(enabledColumns) {
James Hawkins 2012/03/01 20:03:09 Document method.
yoshiki 2012/03/02 08:01:14 Done.
42 cachedEnabledColumns = enabledColumns;
43 var json = JSON.stringify(enabledColumns);
44 window.localStorage.setItem(ENABLED_COLUMNS_KEY, json);
45 }
46
18 // Enable the taskmanager model before the loading of scripts. 47 // Enable the taskmanager model before the loading of scripts.
19 (function () { 48 (function () {
20 for (var i = 0; i < DEFAULT_COLUMNS.length; i++) { 49 for (var i = 0; i < DEFAULT_COLUMNS.length; i++) {
21 if (DEFAULT_COLUMNS[i][3]) 50 var columnId = DEFAULT_COLUMNS[i][0];
22 commands.setUpdateColumn(DEFAULT_COLUMNS[i][0], true); 51 if (isColumnEnabled(columnId))
52 commands.setUpdateColumn(columnId, true);
23 } 53 }
24 commands.enableTaskManager(); 54 commands.enableTaskManager();
25 commands.setUpdateColumn('canInspect', true); 55 commands.setUpdateColumn('canInspect', true);
26 commands.setUpdateColumn('canActivate', true); 56 commands.setUpdateColumn('canActivate', true);
27 })(); 57 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698