| Index: chrome/browser/ui/views/passwords/credentials_selection_view.cc
|
| diff --git a/chrome/browser/ui/views/passwords/credentials_selection_view.cc b/chrome/browser/ui/views/passwords/credentials_selection_view.cc
|
| index aebd9e13d3d6d99f092c6a10f4fa75741ef4fa88..54a8f3749e92395a4905219d99c7e16e778abb88 100644
|
| --- a/chrome/browser/ui/views/passwords/credentials_selection_view.cc
|
| +++ b/chrome/browser/ui/views/passwords/credentials_selection_view.cc
|
| @@ -30,12 +30,13 @@ views::Label* GeneratePasswordLabel(const autofill::PasswordForm& form) {
|
| } // namespace
|
|
|
| CredentialsSelectionView::CredentialsSelectionView(
|
| - ManagePasswordsBubbleModel* manage_passwords_bubble_model,
|
| - const std::vector<const autofill::PasswordForm*>& password_forms,
|
| - const base::string16& best_matched_username)
|
| - : password_forms_(password_forms),
|
| + ManagePasswordsBubbleModel* manage_passwords_bubble_model)
|
| + : password_forms_(&manage_passwords_bubble_model->local_credentials()),
|
| + default_index_(0),
|
| + is_default_best_match_(false),
|
| + is_default_preferred_(false),
|
| action_reported_(false) {
|
| - DCHECK(!password_forms.empty());
|
| + DCHECK(!password_forms_->empty());
|
|
|
| // Layout.
|
| views::GridLayout* layout = new views::GridLayout(this);
|
| @@ -55,8 +56,7 @@ CredentialsSelectionView::CredentialsSelectionView(
|
| layout->StartRowWithPadding(0, column_set_id, 0,
|
| views::kRelatedControlVerticalSpacing);
|
| combobox_ = GenerateUsernameCombobox(
|
| - manage_passwords_bubble_model->local_credentials().get(),
|
| - best_matched_username);
|
| + manage_passwords_bubble_model->pending_password().username_value);
|
| layout->AddView(combobox_);
|
| views::Label* label =
|
| GeneratePasswordLabel(manage_passwords_bubble_model->pending_password());
|
| @@ -71,24 +71,23 @@ CredentialsSelectionView::~CredentialsSelectionView() {
|
|
|
| const autofill::PasswordForm*
|
| CredentialsSelectionView::GetSelectedCredentials() {
|
| - DCHECK_EQ(password_forms_.size(),
|
| + DCHECK_EQ(password_forms_->size(),
|
| static_cast<size_t>(combobox_->model()->GetItemCount()));
|
| ReportUserActionOnce(false, combobox_->selected_index());
|
| - return password_forms_[combobox_->selected_index()];
|
| + return &password_forms_->at(combobox_->selected_index());
|
| }
|
|
|
| views::Combobox* CredentialsSelectionView::GenerateUsernameCombobox(
|
| - const std::vector<const autofill::PasswordForm*>& forms,
|
| const base::string16& best_matched_username) {
|
| std::vector<base::string16> usernames;
|
| - size_t best_matched_username_index = forms.size();
|
| - size_t preferred_form_index = forms.size();
|
| - for (size_t index = 0; index < forms.size(); ++index) {
|
| - usernames.push_back(forms[index]->username_value);
|
| - if (forms[index]->username_value == best_matched_username) {
|
| + size_t best_matched_username_index = password_forms_->size();
|
| + size_t preferred_form_index = password_forms_->size();
|
| + for (size_t index = 0; index < password_forms_->size(); ++index) {
|
| + usernames.push_back(password_forms_->at(index).username_value);
|
| + if (password_forms_->at(index).username_value == best_matched_username) {
|
| best_matched_username_index = index;
|
| }
|
| - if (forms[index]->preferred) {
|
| + if (password_forms_->at(index).preferred) {
|
| preferred_form_index = index;
|
| }
|
| }
|
| @@ -96,15 +95,11 @@ views::Combobox* CredentialsSelectionView::GenerateUsernameCombobox(
|
| views::Combobox* combobox =
|
| new views::Combobox(new ui::SimpleComboboxModel(usernames));
|
|
|
| - default_index_ = 0;
|
| - is_default_best_match_ = false;
|
| - is_default_preferred_ = false;
|
| -
|
| - if (best_matched_username_index < forms.size()) {
|
| + if (best_matched_username_index < password_forms_->size()) {
|
| is_default_best_match_ = true;
|
| default_index_ = best_matched_username_index;
|
| combobox->SetSelectedIndex(best_matched_username_index);
|
| - } else if (preferred_form_index < forms.size()) {
|
| + } else if (preferred_form_index < password_forms_->size()) {
|
| is_default_preferred_ = true;
|
| default_index_ = preferred_form_index;
|
| combobox->SetSelectedIndex(preferred_form_index);
|
|
|