| 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 "components/password_manager/core/browser/password_autofill_manager.h" | 5 #include "components/password_manager/core/browser/password_autofill_manager.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 } | 53 } |
| 54 } | 54 } |
| 55 | 55 |
| 56 } // namespace | 56 } // namespace |
| 57 | 57 |
| 58 //////////////////////////////////////////////////////////////////////////////// | 58 //////////////////////////////////////////////////////////////////////////////// |
| 59 // PasswordAutofillManager, public: | 59 // PasswordAutofillManager, public: |
| 60 | 60 |
| 61 PasswordAutofillManager::PasswordAutofillManager( | 61 PasswordAutofillManager::PasswordAutofillManager( |
| 62 PasswordManagerClient* password_manager_client, | 62 PasswordManagerClient* password_manager_client, |
| 63 PasswordManagerDriver* password_manager_driver, |
| 63 autofill::AutofillClient* autofill_client) | 64 autofill::AutofillClient* autofill_client) |
| 64 : password_manager_client_(password_manager_client), | 65 : password_manager_client_(password_manager_client), |
| 66 password_manager_driver_(password_manager_driver), |
| 65 autofill_client_(autofill_client), | 67 autofill_client_(autofill_client), |
| 66 weak_ptr_factory_(this) { | 68 weak_ptr_factory_(this) { |
| 67 } | 69 } |
| 68 | 70 |
| 69 PasswordAutofillManager::~PasswordAutofillManager() { | 71 PasswordAutofillManager::~PasswordAutofillManager() { |
| 70 } | 72 } |
| 71 | 73 |
| 72 bool PasswordAutofillManager::FillSuggestion(int key, | 74 bool PasswordAutofillManager::FillSuggestion(int key, |
| 73 const base::string16& username) { | 75 const base::string16& username) { |
| 74 autofill::PasswordFormFillData fill_data; | 76 autofill::PasswordFormFillData fill_data; |
| 75 base::string16 password; | 77 base::string16 password; |
| 76 if (FindLoginInfo(key, &fill_data) && | 78 if (FindLoginInfo(key, &fill_data) && |
| 77 GetPasswordForUsername(username, fill_data, &password)) { | 79 GetPasswordForUsername(username, fill_data, &password)) { |
| 78 PasswordManagerDriver* driver = password_manager_client_->GetDriver(); | 80 password_manager_driver_->FillSuggestion(username, password); |
| 79 driver->FillSuggestion(username, password); | |
| 80 return true; | 81 return true; |
| 81 } | 82 } |
| 82 return false; | 83 return false; |
| 83 } | 84 } |
| 84 | 85 |
| 85 bool PasswordAutofillManager::PreviewSuggestion( | 86 bool PasswordAutofillManager::PreviewSuggestion( |
| 86 int key, | 87 int key, |
| 87 const base::string16& username) { | 88 const base::string16& username) { |
| 88 autofill::PasswordFormFillData fill_data; | 89 autofill::PasswordFormFillData fill_data; |
| 89 base::string16 password; | 90 base::string16 password; |
| 90 if (FindLoginInfo(key, &fill_data) && | 91 if (FindLoginInfo(key, &fill_data) && |
| 91 GetPasswordForUsername(username, fill_data, &password)) { | 92 GetPasswordForUsername(username, fill_data, &password)) { |
| 92 PasswordManagerDriver* driver = password_manager_client_->GetDriver(); | 93 password_manager_driver_->PreviewSuggestion(username, password); |
| 93 driver->PreviewSuggestion(username, password); | |
| 94 return true; | 94 return true; |
| 95 } | 95 } |
| 96 return false; | 96 return false; |
| 97 } | 97 } |
| 98 | 98 |
| 99 void PasswordAutofillManager::OnAddPasswordFormMapping( | 99 void PasswordAutofillManager::OnAddPasswordFormMapping( |
| 100 int key, | 100 int key, |
| 101 const autofill::PasswordFormFillData& fill_data) { | 101 const autofill::PasswordFormFillData& fill_data) { |
| 102 if (!autofill::IsValidPasswordFormFillData(fill_data)) | 102 if (!autofill::IsValidPasswordFormFillData(fill_data)) |
| 103 return; | 103 return; |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 DCHECK(success); | 178 DCHECK(success); |
| 179 autofill_client_->HideAutofillPopup(); | 179 autofill_client_->HideAutofillPopup(); |
| 180 } | 180 } |
| 181 | 181 |
| 182 void PasswordAutofillManager::RemoveSuggestion(const base::string16& value, | 182 void PasswordAutofillManager::RemoveSuggestion(const base::string16& value, |
| 183 int identifier) { | 183 int identifier) { |
| 184 NOTREACHED(); | 184 NOTREACHED(); |
| 185 } | 185 } |
| 186 | 186 |
| 187 void PasswordAutofillManager::ClearPreviewedForm() { | 187 void PasswordAutofillManager::ClearPreviewedForm() { |
| 188 PasswordManagerDriver* driver = password_manager_client_->GetDriver(); | 188 password_manager_driver_->ClearPreviewedForm(); |
| 189 driver->ClearPreviewedForm(); | |
| 190 } | 189 } |
| 191 | 190 |
| 192 //////////////////////////////////////////////////////////////////////////////// | 191 //////////////////////////////////////////////////////////////////////////////// |
| 193 // PasswordAutofillManager, private: | 192 // PasswordAutofillManager, private: |
| 194 | 193 |
| 195 bool PasswordAutofillManager::GetPasswordForUsername( | 194 bool PasswordAutofillManager::GetPasswordForUsername( |
| 196 const base::string16& current_username, | 195 const base::string16& current_username, |
| 197 const autofill::PasswordFormFillData& fill_data, | 196 const autofill::PasswordFormFillData& fill_data, |
| 198 base::string16* password) { | 197 base::string16* password) { |
| 199 // TODO(dubroy): When password access requires some kind of authentication | 198 // TODO(dubroy): When password access requires some kind of authentication |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 237 autofill::PasswordFormFillData* found_password) { | 236 autofill::PasswordFormFillData* found_password) { |
| 238 LoginToPasswordInfoMap::iterator iter = login_to_password_info_.find(key); | 237 LoginToPasswordInfoMap::iterator iter = login_to_password_info_.find(key); |
| 239 if (iter == login_to_password_info_.end()) | 238 if (iter == login_to_password_info_.end()) |
| 240 return false; | 239 return false; |
| 241 | 240 |
| 242 *found_password = iter->second; | 241 *found_password = iter->second; |
| 243 return true; | 242 return true; |
| 244 } | 243 } |
| 245 | 244 |
| 246 } // namespace password_manager | 245 } // namespace password_manager |
| OLD | NEW |