Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8759)

Unified Diff: chrome/browser/ui/views/passwords/manage_passwords_bubble_view.cc

Issue 848723002: Credential Manager API: Showing both local and federated logins. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/passwords/manage_passwords_bubble_view.cc
diff --git a/chrome/browser/ui/views/passwords/manage_passwords_bubble_view.cc b/chrome/browser/ui/views/passwords/manage_passwords_bubble_view.cc
index b2e9413fd708346e8bc7eb0202129a49c1f3beb9..e269bf52ff3ea9f30bae83b2155d20d90c30bb40 100644
--- a/chrome/browser/ui/views/passwords/manage_passwords_bubble_view.cc
+++ b/chrome/browser/ui/views/passwords/manage_passwords_bubble_view.cc
@@ -187,6 +187,12 @@ class ManagePasswordsBubbleView::AccountChooserView
// views::ButtonListener:
void ButtonPressed(views::Button* sender, const ui::Event& event) override;
+ // Adds |password_forms| to the layout remembering their |type|.
+ void AddCredentialItemsWithType(
+ views::GridLayout* layout,
+ const ScopedVector<autofill::PasswordForm>& password_forms,
+ password_manager::CredentialType type);
+
ManagePasswordsBubbleView* parent_;
views::LabelButton* cancel_button_;
};
@@ -208,16 +214,13 @@ ManagePasswordsBubbleView::AccountChooserView::AccountChooserView(
BuildColumnSet(layout, SINGLE_VIEW_COLUMN_SET);
AddTitleRow(layout, parent_->model());
- const auto& pending_credentials = parent_->model()->pending_credentials();
- net::URLRequestContextGetter* request_context =
- parent_->model()->GetProfile()->GetRequestContext();
- for (autofill::PasswordForm* form : pending_credentials) {
- CredentialsItemView* credential_view =
- new CredentialsItemView(this, *form, request_context);
- // Add the title to the layout with appropriate padding.
- layout->StartRow(0, SINGLE_VIEW_COLUMN_SET);
- layout->AddView(credential_view);
- }
+ AddCredentialItemsWithType(
+ layout, parent_->model()->local_pending_credentials(),
+ password_manager::CredentialType::CREDENTIAL_TYPE_LOCAL);
+
+ AddCredentialItemsWithType(
+ layout, parent_->model()->federated_pending_credentials(),
+ password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED);
// Button row.
BuildColumnSet(layout, SINGLE_BUTTON_COLUMN_SET);
@@ -234,13 +237,28 @@ ManagePasswordsBubbleView::AccountChooserView::AccountChooserView(
ManagePasswordsBubbleView::AccountChooserView::~AccountChooserView() {
}
+void ManagePasswordsBubbleView::AccountChooserView::AddCredentialItemsWithType(
+ views::GridLayout* layout,
+ const ScopedVector<autofill::PasswordForm>& password_forms,
+ password_manager::CredentialType type) {
+ net::URLRequestContextGetter* request_context =
+ parent_->model()->GetProfile()->GetRequestContext();
+ for (autofill::PasswordForm* form : password_forms) {
+ // Add the title to the layout with appropriate padding.
+ layout->StartRow(0, SINGLE_VIEW_COLUMN_SET);
+ layout->AddView(
+ new CredentialsItemView(this, *form, type, request_context));
+ }
+}
+
void ManagePasswordsBubbleView::AccountChooserView::ButtonPressed(
views::Button* sender, const ui::Event& event) {
if (sender != cancel_button_) {
// ManagePasswordsBubbleModel should care about calling a callback in case
// the bubble is dismissed by any other means.
CredentialsItemView* view = static_cast<CredentialsItemView*>(sender);
- parent_->model()->OnChooseCredentials(view->form());
+ parent_->model()->OnChooseCredentials(view->form(),
+ view->credential_type());
} else {
parent_->model()->OnNopeClicked();
}

Powered by Google App Engine
This is Rietveld 408576698