OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |