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

Side by Side Diff: chrome/browser/ui/webui/options/managed_user_settings_handler.cc

Issue 14325003: Clean up managed user settings dialogs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix broken merge Created 7 years, 8 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/ui/webui/options/managed_user_settings_handler.h ('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 #include "chrome/browser/ui/webui/options/managed_user_settings_handler.h" 5 #include "chrome/browser/ui/webui/options/managed_user_settings_handler.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 91
92 namespace options { 92 namespace options {
93 93
94 ManagedUserSettingsHandler::ManagedUserSettingsHandler() 94 ManagedUserSettingsHandler::ManagedUserSettingsHandler()
95 : has_seen_settings_dialog_(false) { 95 : has_seen_settings_dialog_(false) {
96 } 96 }
97 97
98 ManagedUserSettingsHandler::~ManagedUserSettingsHandler() { 98 ManagedUserSettingsHandler::~ManagedUserSettingsHandler() {
99 } 99 }
100 100
101 void ManagedUserSettingsHandler::InitializeHandler() {
102 pref_change_registrar_.Init(Profile::FromWebUI(web_ui())->GetPrefs());
103 pref_change_registrar_.Add(
104 prefs::kManagedModeLocalPassphrase,
105 base::Bind(&ManagedUserSettingsHandler::OnLocalPassphraseChanged,
106 base::Unretained(this)));
107 }
108
109 void ManagedUserSettingsHandler::InitializePage() { 101 void ManagedUserSettingsHandler::InitializePage() {
110 if (!CommandLine::ForCurrentProcess()->HasSwitch( 102 if (!CommandLine::ForCurrentProcess()->HasSwitch(
111 switches::kEnableManagedUsers)) { 103 switches::kEnableManagedUsers)) {
112 return; 104 return;
113 } 105 }
114 106
115 #if !defined(OS_CHROMEOS)
116 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs();
117 bool passphrase_empty =
118 pref_service->GetString(prefs::kManagedModeLocalPassphrase).empty();
119 base::FundamentalValue is_passphrase_set(!passphrase_empty);
120 web_ui()->CallJavascriptFunction(
121 "ManagedUserSettings.passphraseChanged",
122 is_passphrase_set);
123 #endif
124
125 // Populate the list. 107 // Populate the list.
126 UpdateViewFromModel(); 108 UpdateViewFromModel();
127 } 109 }
128 110
129 void ManagedUserSettingsHandler::HandlePageOpened(const base::ListValue* args) { 111 void ManagedUserSettingsHandler::HandlePageOpened(const base::ListValue* args) {
130 start_time_ = base::TimeTicks::Now(); 112 start_time_ = base::TimeTicks::Now();
131 content::RecordAction(UserMetricsAction("ManagedMode_OpenSettings")); 113 content::RecordAction(UserMetricsAction("ManagedMode_OpenSettings"));
132 ManagedUserService* service = ManagedUserServiceFactory::GetForProfile( 114 ManagedUserService* service = ManagedUserServiceFactory::GetForProfile(
133 Profile::FromWebUI(web_ui())); 115 Profile::FromWebUI(web_ui()));
134 ManagedModeNavigationObserver* observer = 116 ManagedModeNavigationObserver* observer =
135 ManagedModeNavigationObserver::FromWebContents( 117 ManagedModeNavigationObserver::FromWebContents(
136 web_ui()->GetWebContents()); 118 web_ui()->GetWebContents());
137 119
138 // Check if we need to give initial elevation for startup of a new profile. 120 // Check if we need to give initial elevation for startup of a new profile.
139 if (service->startup_elevation()) { 121 if (service->startup_elevation()) {
140 service->set_startup_elevation(false); 122 service->set_startup_elevation(false);
141 #if !defined(OS_CHROMEOS) 123 #if !defined(OS_CHROMEOS)
142 observer->set_elevated(true); 124 observer->set_elevated(true);
143 #endif 125 #endif
144 } else { 126 } else {
145 has_seen_settings_dialog_ = true; 127 has_seen_settings_dialog_ = true;
146 } 128 }
147 129
148 if (observer->is_elevated()) { 130 if (observer->is_elevated()) {
149 web_ui()->CallJavascriptFunction("ManagedUserSettings.isAuthenticated", 131 web_ui()->CallJavascriptFunction("ManagedUserSettings.setAuthenticated",
150 base::FundamentalValue(true)); 132 base::FundamentalValue(true));
151 } 133 }
152 } 134 }
153 135
154 void ManagedUserSettingsHandler::GetLocalizedValues( 136 void ManagedUserSettingsHandler::GetLocalizedValues(
155 base::DictionaryValue* localized_strings) { 137 base::DictionaryValue* localized_strings) {
156 DCHECK(localized_strings); 138 DCHECK(localized_strings);
157 139
158 static OptionsStringResource resources[] = { 140 static OptionsStringResource resources[] = {
159 // Unlock the settings page to allow editing. 141 // Unlock the settings page to allow editing.
(...skipping 13 matching lines...) Expand all
173 { "getContentPacks", IDS_GET_CONTENT_PACKS_BUTTON }, 155 { "getContentPacks", IDS_GET_CONTENT_PACKS_BUTTON },
174 { "getContentPacksURL", IDS_GET_CONTENT_PACKS_URL }, 156 { "getContentPacksURL", IDS_GET_CONTENT_PACKS_URL },
175 // Content pack restriction options. 157 // Content pack restriction options.
176 { "contentPackSettings", IDS_CONTENT_PACK_SETTINGS_LABEL }, 158 { "contentPackSettings", IDS_CONTENT_PACK_SETTINGS_LABEL },
177 { "outsideContentPacksAllow", IDS_OUTSIDE_CONTENT_PACKS_ALLOW_RADIO }, 159 { "outsideContentPacksAllow", IDS_OUTSIDE_CONTENT_PACKS_ALLOW_RADIO },
178 { "outsideContentPacksWarn", IDS_OUTSIDE_CONTENT_PACKS_WARN_RADIO }, 160 { "outsideContentPacksWarn", IDS_OUTSIDE_CONTENT_PACKS_WARN_RADIO },
179 { "outsideContentPacksBlock", IDS_OUTSIDE_CONTENT_PACKS_BLOCK_RADIO }, 161 { "outsideContentPacksBlock", IDS_OUTSIDE_CONTENT_PACKS_BLOCK_RADIO },
180 // Other managed user settings 162 // Other managed user settings
181 { "advancedManagedUserSettings", IDS_ADVANCED_MANAGED_USER_LABEL }, 163 { "advancedManagedUserSettings", IDS_ADVANCED_MANAGED_USER_LABEL },
182 { "enableSafeSearch", IDS_SAFE_SEARCH_ENABLED }, 164 { "enableSafeSearch", IDS_SAFE_SEARCH_ENABLED },
183 { "allowSignIn", IDS_SIGNIN_SYNC_ALLOWED }, 165 { "setPassphrase", IDS_SET_PASSPHRASE_BUTTON },
184 { "disableHistoryDeletion", IDS_HISTORY_DELETION_DISABLED },
185 { "usePassphrase", IDS_USE_PASSPHRASE_LABEL },
186 { "setPassphrase", IDS_SET_PASSPHRASE_BUTTON }
187 }; 166 };
188 167
189 RegisterStrings(localized_strings, resources, arraysize(resources)); 168 RegisterStrings(localized_strings, resources, arraysize(resources));
190 RegisterTitle(localized_strings, "managedUserSettingsPage", 169 RegisterTitle(localized_strings, "managedUserSettingsPage",
191 IDS_MANAGED_USER_SETTINGS_TITLE); 170 IDS_MANAGED_USER_SETTINGS_TITLE);
192 RegisterTitle(localized_strings, "manualExceptions", 171 RegisterTitle(localized_strings, "manualExceptions",
193 IDS_MANUAL_EXCEPTION_HEADER); 172 IDS_MANUAL_EXCEPTION_HEADER);
194 localized_strings->SetBoolean( 173 localized_strings->SetBoolean(
195 "managedUsersEnabled", 174 "managedUsersEnabled",
196 CommandLine::ForCurrentProcess()->HasSwitch( 175 CommandLine::ForCurrentProcess()->HasSwitch(
197 switches::kEnableManagedUsers)); 176 switches::kEnableManagedUsers));
198 } 177 }
199 178
200 void ManagedUserSettingsHandler::RegisterMessages() { 179 void ManagedUserSettingsHandler::RegisterMessages() {
201 web_ui()->RegisterMessageCallback( 180 web_ui()->RegisterMessageCallback(
202 "confirmManagedUserSettings", 181 "confirmManagedUserSettings",
203 base::Bind(&ManagedUserSettingsHandler::SaveMetrics, 182 base::Bind(&ManagedUserSettingsHandler::SaveMetrics,
204 base::Unretained(this))); 183 base::Unretained(this)));
205 web_ui()->RegisterMessageCallback( 184 web_ui()->RegisterMessageCallback(
206 "settingsPageOpened", 185 "settingsPageOpened",
207 base::Bind(&ManagedUserSettingsHandler::HandlePageOpened, 186 base::Bind(&ManagedUserSettingsHandler::HandlePageOpened,
208 base::Unretained(this))); 187 base::Unretained(this)));
209 web_ui()->RegisterMessageCallback("removeManualException", 188 web_ui()->RegisterMessageCallback(
189 "removeManualException",
210 base::Bind(&ManagedUserSettingsHandler::RemoveManualException, 190 base::Bind(&ManagedUserSettingsHandler::RemoveManualException,
211 base::Unretained(this))); 191 base::Unretained(this)));
212 web_ui()->RegisterMessageCallback("setManualException", 192 web_ui()->RegisterMessageCallback(
193 "setManualException",
213 base::Bind(&ManagedUserSettingsHandler::SetManualException, 194 base::Bind(&ManagedUserSettingsHandler::SetManualException,
214 base::Unretained(this))); 195 base::Unretained(this)));
215 web_ui()->RegisterMessageCallback("checkManualExceptionValidity", 196 web_ui()->RegisterMessageCallback(
216 base::Bind( 197 "checkManualExceptionValidity",
217 &ManagedUserSettingsHandler::CheckManualExceptionValidity, 198 base::Bind(&ManagedUserSettingsHandler::CheckManualExceptionValidity,
218 base::Unretained(this))); 199 base::Unretained(this)));
219 } 200 }
220 201
221 void ManagedUserSettingsHandler::SaveMetrics(const ListValue* args) { 202 void ManagedUserSettingsHandler::SaveMetrics(const ListValue* args) {
222 if (!has_seen_settings_dialog_) { 203 if (!has_seen_settings_dialog_) {
223 has_seen_settings_dialog_ = true; 204 has_seen_settings_dialog_ = true;
224 UMA_HISTOGRAM_LONG_TIMES("ManagedMode.UserSettingsFirstRunTime", 205 UMA_HISTOGRAM_LONG_TIMES("ManagedMode.UserSettingsFirstRunTime",
225 base::TimeTicks::Now() - start_time_); 206 base::TimeTicks::Now() - start_time_);
226 } else { 207 } else {
227 UMA_HISTOGRAM_LONG_TIMES("ManagedMode.UserSettingsModifyTime", 208 UMA_HISTOGRAM_LONG_TIMES("ManagedMode.UserSettingsModifyTime",
228 base::TimeTicks::Now() - start_time_); 209 base::TimeTicks::Now() - start_time_);
229 } 210 }
230 } 211 }
231 212
232 void ManagedUserSettingsHandler::OnLocalPassphraseChanged() {
233 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs();
234 base::FundamentalValue is_passphrase_set(!pref_service->GetString(
235 prefs::kManagedModeLocalPassphrase).empty());
236 web_ui()->CallJavascriptFunction("ManagedUserSettings.passphraseChanged",
237 is_passphrase_set);
238 }
239
240 void ManagedUserSettingsHandler::RemoveManualException( 213 void ManagedUserSettingsHandler::RemoveManualException(
241 const ListValue* args) { 214 const ListValue* args) {
242 // Check if the user is authenticated. 215 // Check if the user is authenticated.
243 if (!ManagedModeNavigationObserver::FromWebContents( 216 if (!ManagedModeNavigationObserver::FromWebContents(
244 web_ui()->GetWebContents())->is_elevated()) 217 web_ui()->GetWebContents())->is_elevated())
245 return; 218 return;
246 219
247 size_t arg_i = 0; 220 size_t arg_i = 0;
248 std::string pattern; 221 std::string pattern;
249 CHECK(args->GetString(arg_i++, &pattern)); 222 CHECK(args->GetString(arg_i++, &pattern));
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 void ManagedUserSettingsHandler::UpdateViewFromModel() { 296 void ManagedUserSettingsHandler::UpdateViewFromModel() {
324 ListValue entries; 297 ListValue entries;
325 AddCurrentURLEntries(web_ui(), &entries); 298 AddCurrentURLEntries(web_ui(), &entries);
326 299
327 web_ui()->CallJavascriptFunction( 300 web_ui()->CallJavascriptFunction(
328 "ManagedUserSettings.setManualExceptions", 301 "ManagedUserSettings.setManualExceptions",
329 entries); 302 entries);
330 } 303 }
331 304
332 } // namespace options 305 } // namespace options
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/options/managed_user_settings_handler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698