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

Side by Side Diff: chrome/browser/resources/options/chromeos/accounts_options.js

Issue 7003007: Apply content-security-policy to the HTML options page. This is a (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 7 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
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 cr.define('options', function() {
6
7 var OptionsPage = options.OptionsPage;
8
9 /////////////////////////////////////////////////////////////////////////////
10 // AccountsOptions class:
11
12 /**
13 * Encapsulated handling of ChromeOS accounts options page.
14 * @constructor
15 */
16 function AccountsOptions(model) {
17 OptionsPage.call(this, 'accounts', templateData.accountsPageTabTitle,
18 'accountsPage');
19 }
20
21 cr.addSingletonGetter(AccountsOptions);
22
23 AccountsOptions.prototype = {
24 // Inherit AccountsOptions from OptionsPage.
25 __proto__: OptionsPage.prototype,
26
27 /**
28 * Initializes AccountsOptions page.
29 */
30 initializePage: function() {
31 // Call base class implementation to starts preference initialization.
32 OptionsPage.prototype.initializePage.call(this);
33
34 // Set up accounts page.
35 var userList = $('userList');
36
37 var userNameEdit = $('userNameEdit');
38 options.accounts.UserNameEdit.decorate(userNameEdit);
39 userNameEdit.addEventListener('add', this.handleAddUser_);
40
41 // If the current user is not the owner, show some warning,
42 // and do not show the user list.
43 if (AccountsOptions.currentUserIsOwner()) {
44 if (!AccountsOptions.whitelistIsManaged()) {
45 options.accounts.UserList.decorate(userList);
46 }
47 } else {
48 $('ownerOnlyWarning').classList.remove('hidden');
49 }
50
51 this.addEventListener('visibleChange', this.handleVisibleChange_);
52
53 $('useWhitelistCheck').addEventListener('change',
54 this.handleUseWhitelistCheckChange_.bind(this));
55
56 Preferences.getInstance().addEventListener(
57 $('useWhitelistCheck').pref,
58 this.handleUseWhitelistPrefChange_.bind(this));
59 },
60
61 /**
62 * Update user list control state.
63 * @private
64 */
65 updateControls_: function() {
66 $('userList').disabled =
67 $('userNameEdit').disabled = !AccountsOptions.currentUserIsOwner() ||
68 AccountsOptions.whitelistIsManaged() ||
69 !$('useWhitelistCheck').checked;
70 },
71
72 /**
73 * Handler for OptionsPage's visible property change event.
74 * @private
75 * @param {Event} e Property change event.
76 */
77 handleVisibleChange_: function(e) {
78 if (this.visible) {
79 // fetchUserPictures calls back AccountsOptions.setUserPictures and
80 // triggers redraw.
81 chrome.send('fetchUserPictures', []);
82
83 this.updateControls_();
84 }
85 },
86
87 /**
88 * Handler for allow guest check change.
89 * @private
90 */
91 handleUseWhitelistCheckChange_: function(e) {
92 // Whitelist existing users when guest login is being disabled.
93 if ($('useWhitelistCheck').checked) {
94 chrome.send('whitelistExistingUsers', []);
95 }
96
97 this.updateControls_();
98 },
99
100 /**
101 * handler for allow guest pref change.
102 * @private
103 */
104 handleUseWhitelistPrefChange_: function(e) {
105 this.updateControls_();
106 },
107
108 /**
109 * Handler for "add" event fired from userNameEdit.
110 * @private
111 * @param {Event} e Add event fired from userNameEdit.
112 */
113 handleAddUser_: function(e) {
114 AccountsOptions.addUsers([e.user]);
115 }
116 };
117
118 /**
119 * Returns whether the current user is owner or not.
120 */
121 AccountsOptions.currentUserIsOwner = function() {
122 return localStrings.getString('current_user_is_owner') == 'true';
123 };
124
125 /**
126 * Returns whether the whitelist is managed by policy or not.
127 */
128 AccountsOptions.whitelistIsManaged = function() {
129 return localStrings.getString('whitelist_is_managed') == 'true';
130 };
131
132 /**
133 * Updates user picture cache in UserList.
134 */
135 AccountsOptions.setUserPictures = function(cache) {
136 $('userList').setUserPictures(cache);
137 };
138
139 /**
140 * Adds given users to userList.
141 */
142 AccountsOptions.addUsers = function(users) {
143 var userList = $('userList');
144 for (var i = 0; i < users.length; ++i) {
145 userList.addUser(users[i]);
146 }
147 };
148
149 // Export
150 return {
151 AccountsOptions: AccountsOptions
152 };
153
154 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698