| 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);
 | 
|  }
 | 
|  
 | 
| 
 |