OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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_passphrase_handler.h" | 5 #include "chrome/browser/ui/webui/options/managed_user_passphrase_handler.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/prefs/pref_service.h" | 9 #include "base/prefs/pref_service.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
(...skipping 21 matching lines...) Expand all Loading... |
32 | 32 |
33 void ManagedUserPassphraseHandler::RegisterMessages() { | 33 void ManagedUserPassphraseHandler::RegisterMessages() { |
34 web_ui()->RegisterMessageCallback( | 34 web_ui()->RegisterMessageCallback( |
35 "setPassphrase", | 35 "setPassphrase", |
36 base::Bind(&ManagedUserPassphraseHandler::SetLocalPassphrase, | 36 base::Bind(&ManagedUserPassphraseHandler::SetLocalPassphrase, |
37 weak_ptr_factory_.GetWeakPtr())); | 37 weak_ptr_factory_.GetWeakPtr())); |
38 web_ui()->RegisterMessageCallback( | 38 web_ui()->RegisterMessageCallback( |
39 "setElevated", | 39 "setElevated", |
40 base::Bind(&ManagedUserPassphraseHandler::SetElevated, | 40 base::Bind(&ManagedUserPassphraseHandler::SetElevated, |
41 weak_ptr_factory_.GetWeakPtr())); | 41 weak_ptr_factory_.GetWeakPtr())); |
42 web_ui()->RegisterMessageCallback( | |
43 "resetPassphrase", | |
44 base::Bind(&ManagedUserPassphraseHandler::ResetPassphrase, | |
45 weak_ptr_factory_.GetWeakPtr())); | |
46 } | 42 } |
47 | 43 |
48 void ManagedUserPassphraseHandler::GetLocalizedValues( | 44 void ManagedUserPassphraseHandler::GetLocalizedValues( |
49 base::DictionaryValue* localized_strings) { | 45 base::DictionaryValue* localized_strings) { |
50 DCHECK(localized_strings); | 46 DCHECK(localized_strings); |
51 | 47 |
52 static OptionsStringResource resources[] = { | 48 static OptionsStringResource resources[] = { |
53 { "confirmPassphrase", IDS_CONFIRM_PASSPHRASE_LABEL }, | 49 { "confirmPassphrase", IDS_CONFIRM_PASSPHRASE_LABEL }, |
54 { "enterPassphrase", IDS_ENTER_PASSPHRASE_LABEL }, | 50 { "enterPassphrase", IDS_ENTER_PASSPHRASE_LABEL }, |
55 { "savePassphrase", IDS_SAVE_PASSPHRASE_BUTTON }, | 51 { "savePassphrase", IDS_SAVE_PASSPHRASE_BUTTON }, |
(...skipping 28 matching lines...) Expand all Loading... |
84 ManagedModeNavigationObserver::FromWebContents( | 80 ManagedModeNavigationObserver::FromWebContents( |
85 web_ui()->GetWebContents())->set_elevated(false); | 81 web_ui()->GetWebContents())->set_elevated(false); |
86 return; | 82 return; |
87 } | 83 } |
88 managed_user_service->RequestAuthorization( | 84 managed_user_service->RequestAuthorization( |
89 web_ui()->GetWebContents(), | 85 web_ui()->GetWebContents(), |
90 base::Bind(&ManagedUserPassphraseHandler::PassphraseDialogCallback, | 86 base::Bind(&ManagedUserPassphraseHandler::PassphraseDialogCallback, |
91 weak_ptr_factory_.GetWeakPtr())); | 87 weak_ptr_factory_.GetWeakPtr())); |
92 } | 88 } |
93 | 89 |
94 void ManagedUserPassphraseHandler::ResetPassphrase( | |
95 const base::ListValue* args) { | |
96 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); | |
97 pref_service->SetString(prefs::kManagedModeLocalPassphrase, std::string()); | |
98 pref_service->SetString(prefs::kManagedModeLocalSalt, std::string()); | |
99 } | |
100 | |
101 void ManagedUserPassphraseHandler::SetLocalPassphrase( | 90 void ManagedUserPassphraseHandler::SetLocalPassphrase( |
102 const base::ListValue* args) { | 91 const base::ListValue* args) { |
103 // Only change the passphrase if the custodian is authenticated. | 92 // Only change the passphrase if the custodian is authenticated. |
104 if (!ManagedModeNavigationObserver::FromWebContents( | 93 if (!ManagedModeNavigationObserver::FromWebContents( |
105 web_ui()->GetWebContents())->is_elevated()) | 94 web_ui()->GetWebContents())->is_elevated()) { |
106 return; | 95 return; |
| 96 } |
107 | 97 |
| 98 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); |
108 std::string passphrase; | 99 std::string passphrase; |
109 args->GetString(0, &passphrase); | 100 args->GetString(0, &passphrase); |
| 101 if (passphrase.empty()) { |
| 102 pref_service->SetString(prefs::kManagedModeLocalPassphrase, std::string()); |
| 103 pref_service->SetString(prefs::kManagedModeLocalSalt, std::string()); |
| 104 return; |
| 105 } |
| 106 |
110 ManagedUserPassphrase passphrase_key_generator((std::string())); | 107 ManagedUserPassphrase passphrase_key_generator((std::string())); |
111 std::string encoded_passphrase_hash; | 108 std::string encoded_passphrase_hash; |
112 bool success = passphrase_key_generator.GenerateHashFromPassphrase( | 109 bool success = passphrase_key_generator.GenerateHashFromPassphrase( |
113 passphrase, | 110 passphrase, |
114 &encoded_passphrase_hash); | 111 &encoded_passphrase_hash); |
115 if (success) { | 112 if (success) { |
116 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); | |
117 pref_service->SetString(prefs::kManagedModeLocalPassphrase, | 113 pref_service->SetString(prefs::kManagedModeLocalPassphrase, |
118 encoded_passphrase_hash); | 114 encoded_passphrase_hash); |
119 pref_service->SetString(prefs::kManagedModeLocalSalt, | 115 pref_service->SetString(prefs::kManagedModeLocalSalt, |
120 passphrase_key_generator.GetSalt()); | 116 passphrase_key_generator.GetSalt()); |
121 } | 117 } |
122 // TODO(akuegel): Give failure back to the UI. | 118 // TODO(akuegel): Give failure back to the UI. |
123 } | 119 } |
124 | 120 |
125 } // namespace options | 121 } // namespace options |
OLD | NEW |