| Index: components/password_manager/core/browser/password_autofill_manager.cc
|
| diff --git a/components/password_manager/core/browser/password_autofill_manager.cc b/components/password_manager/core/browser/password_autofill_manager.cc
|
| index a7a71085d9f864199eab2892a8f79ac65636e17c..bc88d88b4765103e4a9ef14bdfeeb33e97eca2d3 100644
|
| --- a/components/password_manager/core/browser/password_autofill_manager.cc
|
| +++ b/components/password_manager/core/browser/password_autofill_manager.cc
|
| @@ -72,6 +72,7 @@ void GetSuggestions(const autofill::PasswordFormFillData& fill_data,
|
| ReplaceEmptyUsername(fill_data.username_field.value));
|
| suggestion.label = GetHumanReadableRealm(fill_data.preferred_realm);
|
| suggestion.frontend_id = autofill::POPUP_ITEM_ID_PASSWORD_ENTRY;
|
| + suggestion.match_start = current_username.size();
|
| suggestions->push_back(suggestion);
|
| }
|
|
|
| @@ -80,6 +81,7 @@ void GetSuggestions(const autofill::PasswordFormFillData& fill_data,
|
| autofill::Suggestion suggestion(ReplaceEmptyUsername(login.first));
|
| suggestion.label = GetHumanReadableRealm(login.second.realm);
|
| suggestion.frontend_id = autofill::POPUP_ITEM_ID_PASSWORD_ENTRY;
|
| + suggestion.match_start = current_username.size();
|
| suggestions->push_back(suggestion);
|
| }
|
| }
|
| @@ -92,6 +94,7 @@ void GetSuggestions(const autofill::PasswordFormFillData& fill_data,
|
| ReplaceEmptyUsername(usernames.second[i]));
|
| suggestion.label = GetHumanReadableRealm(usernames.first.realm);
|
| suggestion.frontend_id = autofill::POPUP_ITEM_ID_PASSWORD_ENTRY;
|
| + suggestion.match_start = current_username.size();
|
| suggestions->push_back(suggestion);
|
| }
|
| }
|
| @@ -131,16 +134,16 @@ bool PasswordAutofillManager::FillSuggestion(int key,
|
| return false;
|
| }
|
|
|
| -bool PasswordAutofillManager::PreviewSuggestion(
|
| - int key,
|
| - const base::string16& username) {
|
| +bool PasswordAutofillManager::PreviewSuggestion(int key,
|
| + const base::string16& username,
|
| + size_t match_start) {
|
| autofill::PasswordFormFillData fill_data;
|
| autofill::PasswordAndRealm password_and_realm;
|
| if (FindLoginInfo(key, &fill_data) &&
|
| GetPasswordAndRealmForUsername(
|
| username, fill_data, &password_and_realm)) {
|
| password_manager_driver_->PreviewSuggestion(
|
| - username, password_and_realm.password);
|
| + username, password_and_realm.password, match_start);
|
| return true;
|
| }
|
| return false;
|
| @@ -203,8 +206,9 @@ bool PasswordAutofillManager::FillSuggestionForTest(
|
|
|
| bool PasswordAutofillManager::PreviewSuggestionForTest(
|
| int key,
|
| - const base::string16& username) {
|
| - return PreviewSuggestion(key, username);
|
| + const base::string16& username,
|
| + size_t match_start) {
|
| + return PreviewSuggestion(key, username, match_start);
|
| }
|
|
|
| void PasswordAutofillManager::OnPopupShown() {
|
| @@ -214,9 +218,10 @@ void PasswordAutofillManager::OnPopupHidden() {
|
| }
|
|
|
| void PasswordAutofillManager::DidSelectSuggestion(const base::string16& value,
|
| - int identifier) {
|
| + int identifier,
|
| + size_t match_start) {
|
| ClearPreviewedForm();
|
| - bool success = PreviewSuggestion(form_data_key_, value);
|
| + bool success = PreviewSuggestion(form_data_key_, value, match_start);
|
| DCHECK(success);
|
| }
|
|
|
|
|