OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 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/password_manager_handler.h" | 5 #include "chrome/browser/ui/webui/options/password_manager_handler.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/feature_list.h" | 9 #include "base/feature_list.h" |
10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 base::Unretained(this))); | 204 base::Unretained(this))); |
205 } | 205 } |
206 | 206 |
207 void PasswordManagerHandler::InitializeHandler() { | 207 void PasswordManagerHandler::InitializeHandler() { |
208 password_manager_presenter_->Initialize(); | 208 password_manager_presenter_->Initialize(); |
209 } | 209 } |
210 | 210 |
211 void PasswordManagerHandler::InitializePage() { | 211 void PasswordManagerHandler::InitializePage() { |
212 if (base::FeatureList::IsEnabled( | 212 if (base::FeatureList::IsEnabled( |
213 password_manager::features::kPasswordImportExport)) { | 213 password_manager::features::kPasswordImportExport)) { |
214 web_ui()->CallJavascriptFunction("PasswordManager.showImportExportButton"); | 214 web_ui()->CallJavascriptFunctionUnsafe( |
| 215 "PasswordManager.showImportExportButton"); |
215 } | 216 } |
216 } | 217 } |
217 | 218 |
218 void PasswordManagerHandler::HandleRemoveSavedPassword( | 219 void PasswordManagerHandler::HandleRemoveSavedPassword( |
219 const base::ListValue* args) { | 220 const base::ListValue* args) { |
220 std::string string_value = base::UTF16ToUTF8(ExtractStringValue(args)); | 221 std::string string_value = base::UTF16ToUTF8(ExtractStringValue(args)); |
221 int index; | 222 int index; |
222 if (base::StringToInt(string_value, &index) && index >= 0) { | 223 if (base::StringToInt(string_value, &index) && index >= 0) { |
223 password_manager_presenter_->RemoveSavedPassword( | 224 password_manager_presenter_->RemoveSavedPassword( |
224 static_cast<size_t>(index)); | 225 static_cast<size_t>(index)); |
(...skipping 18 matching lines...) Expand all Loading... |
243 | 244 |
244 password_manager_presenter_->RequestShowPassword(static_cast<size_t>(index)); | 245 password_manager_presenter_->RequestShowPassword(static_cast<size_t>(index)); |
245 } | 246 } |
246 | 247 |
247 void PasswordManagerHandler::ShowPassword( | 248 void PasswordManagerHandler::ShowPassword( |
248 size_t index, | 249 size_t index, |
249 const std::string& origin_url, | 250 const std::string& origin_url, |
250 const std::string& username, | 251 const std::string& username, |
251 const base::string16& password_value) { | 252 const base::string16& password_value) { |
252 // Call back the front end to reveal the password. | 253 // Call back the front end to reveal the password. |
253 web_ui()->CallJavascriptFunction( | 254 web_ui()->CallJavascriptFunctionUnsafe( |
254 "PasswordManager.showPassword", | 255 "PasswordManager.showPassword", |
255 base::FundamentalValue(static_cast<int>(index)), | 256 base::FundamentalValue(static_cast<int>(index)), |
256 base::StringValue(password_value)); | 257 base::StringValue(password_value)); |
257 } | 258 } |
258 | 259 |
259 void PasswordManagerHandler::HandleUpdatePasswordLists( | 260 void PasswordManagerHandler::HandleUpdatePasswordLists( |
260 const base::ListValue* args) { | 261 const base::ListValue* args) { |
261 password_manager_presenter_->UpdatePasswordLists(); | 262 password_manager_presenter_->UpdatePasswordLists(); |
262 } | 263 } |
263 | 264 |
(...skipping 14 matching lines...) Expand all Loading... |
278 entry->SetString( | 279 entry->SetString( |
279 kFederationField, | 280 kFederationField, |
280 l10n_util::GetStringFUTF16( | 281 l10n_util::GetStringFUTF16( |
281 IDS_PASSWORDS_VIA_FEDERATION, | 282 IDS_PASSWORDS_VIA_FEDERATION, |
282 base::UTF8ToUTF16(saved_password->federation_origin.host()))); | 283 base::UTF8ToUTF16(saved_password->federation_origin.host()))); |
283 } | 284 } |
284 | 285 |
285 entries.Append(entry.release()); | 286 entries.Append(entry.release()); |
286 } | 287 } |
287 | 288 |
288 web_ui()->CallJavascriptFunction("PasswordManager.setSavedPasswordsList", | 289 web_ui()->CallJavascriptFunctionUnsafe( |
289 entries); | 290 "PasswordManager.setSavedPasswordsList", entries); |
290 } | 291 } |
291 | 292 |
292 void PasswordManagerHandler::SetPasswordExceptionList( | 293 void PasswordManagerHandler::SetPasswordExceptionList( |
293 const std::vector<std::unique_ptr<autofill::PasswordForm>>& | 294 const std::vector<std::unique_ptr<autofill::PasswordForm>>& |
294 password_exception_list) { | 295 password_exception_list) { |
295 base::ListValue entries; | 296 base::ListValue entries; |
296 for (const auto& exception : password_exception_list) { | 297 for (const auto& exception : password_exception_list) { |
297 std::unique_ptr<base::DictionaryValue> entry(new base::DictionaryValue); | 298 std::unique_ptr<base::DictionaryValue> entry(new base::DictionaryValue); |
298 CopyOriginInfoOfPasswordForm(*exception, entry.get()); | 299 CopyOriginInfoOfPasswordForm(*exception, entry.get()); |
299 entries.Append(entry.release()); | 300 entries.Append(entry.release()); |
300 } | 301 } |
301 | 302 |
302 web_ui()->CallJavascriptFunction("PasswordManager.setPasswordExceptionsList", | 303 web_ui()->CallJavascriptFunctionUnsafe( |
303 entries); | 304 "PasswordManager.setPasswordExceptionsList", entries); |
304 } | 305 } |
305 | 306 |
306 void PasswordManagerHandler::FileSelected(const base::FilePath& path, | 307 void PasswordManagerHandler::FileSelected(const base::FilePath& path, |
307 int index, | 308 int index, |
308 void* params) { | 309 void* params) { |
309 switch (static_cast<FileSelectorCaller>(reinterpret_cast<intptr_t>(params))) { | 310 switch (static_cast<FileSelectorCaller>(reinterpret_cast<intptr_t>(params))) { |
310 case IMPORT_FILE_SELECTED: | 311 case IMPORT_FILE_SELECTED: |
311 ImportPasswordFileSelected(path); | 312 ImportPasswordFileSelected(path); |
312 break; | 313 break; |
313 case EXPORT_FILE_SELECTED: | 314 case EXPORT_FILE_SELECTED: |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
404 password_manager_presenter_->GetAllPasswords(); | 405 password_manager_presenter_->GetAllPasswords(); |
405 UMA_HISTOGRAM_COUNTS("PasswordManager.ExportedPasswordsPerUserInCSV", | 406 UMA_HISTOGRAM_COUNTS("PasswordManager.ExportedPasswordsPerUserInCSV", |
406 password_list.size()); | 407 password_list.size()); |
407 password_manager::PasswordExporter::Export( | 408 password_manager::PasswordExporter::Export( |
408 path, password_list, content::BrowserThread::GetMessageLoopProxyForThread( | 409 path, password_list, content::BrowserThread::GetMessageLoopProxyForThread( |
409 content::BrowserThread::FILE) | 410 content::BrowserThread::FILE) |
410 .get()); | 411 .get()); |
411 } | 412 } |
412 | 413 |
413 } // namespace options | 414 } // namespace options |
OLD | NEW |