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

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

Issue 1151373006: Update Confirmation UI for saved password change (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed reviewer comments Created 5 years, 6 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_password_items_view.cc
diff --git a/chrome/browser/ui/views/passwords/manage_password_items_view.cc b/chrome/browser/ui/views/passwords/manage_password_items_view.cc
index b7e3817756faa38862857cacb443b34ca916d694..726cf29eeb466e8d04e379b2144cc722213829cb 100644
--- a/chrome/browser/ui/views/passwords/manage_password_items_view.cc
+++ b/chrome/browser/ui/views/passwords/manage_password_items_view.cc
@@ -155,6 +155,7 @@ class ManagePasswordItemsView::PasswordFormRow : public views::ButtonListener,
const autofill::PasswordForm* password_form_;
// The UI elements pointers are weak and owned by their parent.
views::Link* undo_link_;
+ views::Link* update_link_;
views::ImageButton* delete_button_;
const int fixed_height_;
bool deleted_;
@@ -200,7 +201,8 @@ void ManagePasswordItemsView::PasswordFormRow::AddCredentialsRow(
views::GridLayout* layout) {
ResetControls();
int column_set_id =
- host_->model_->state() == password_manager::ui::PENDING_PASSWORD_STATE
+ host_->model_->state() == password_manager::ui::PENDING_PASSWORD_STATE &&
+ !host_->model_->account_for_update_selection()
vabr (Chromium) 2015/06/19 18:03:16 nit: Is this how clang-format indented the line? L
dvadym 2015/07/23 09:45:43 This change was removed.
? TWO_COLUMN_SET
: THREE_COLUMN_SET;
BuildColumnSetIfNeeded(layout, column_set_id);
@@ -213,10 +215,21 @@ void ManagePasswordItemsView::PasswordFormRow::AddCredentialsRow(
views::GridLayout::FILL, views::GridLayout::FILL,
0, fixed_height_);
if (column_set_id == THREE_COLUMN_SET) {
- delete_button_ = GenerateDeleteButton(this).release();
- layout->AddView(delete_button_, 1, 1,
- views::GridLayout::TRAILING, views::GridLayout::FILL,
- 0, fixed_height_);
+ if (host_->model_->account_for_update_selection()) {
+ update_link_ = new views::Link(
+ l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_UPDATE_LINK));
+ update_link_->SetHorizontalAlignment(gfx::ALIGN_RIGHT);
+ update_link_->set_listener(this);
+ update_link_->SetUnderline(false);
+ update_link_->SetFontList(
+ ui::ResourceBundle::GetSharedInstance().GetFontList(
+ ui::ResourceBundle::SmallFont));
+ layout->AddView(update_link_);
+ } else {
+ delete_button_ = GenerateDeleteButton(this).release();
+ layout->AddView(delete_button_, 1, 1, views::GridLayout::TRAILING,
+ views::GridLayout::FILL, 0, fixed_height_);
+ }
}
}
@@ -246,9 +259,13 @@ void ManagePasswordItemsView::PasswordFormRow::ButtonPressed(
void ManagePasswordItemsView::PasswordFormRow::LinkClicked(views::Link* sender,
int event_flags) {
- DCHECK_EQ(undo_link_, sender);
- deleted_ = false;
- host_->NotifyPasswordFormStatusChanged(*password_form_, deleted_);
+ DCHECK(sender == undo_link_ || sender == update_link_);
+ if (sender == undo_link_) {
+ deleted_ = false;
+ host_->NotifyPasswordFormStatusChanged(*password_form_, deleted_);
+ } else {
+ host_->NotifyAccountForUpdateWasSelected(*password_form_);
+ }
}
void ManagePasswordItemsView::PasswordFormRow::ResetControls() {
@@ -291,6 +308,11 @@ void ManagePasswordItemsView::NotifyPasswordFormStatusChanged(
: ManagePasswordsBubbleModel::ADD_PASSWORD);
}
+void ManagePasswordItemsView::NotifyAccountForUpdateWasSelected(
+ const autofill::PasswordForm& password_form) {
+ model_->OnUpdateClicked(password_form);
+}
+
void ManagePasswordItemsView::Refresh() {
DCHECK_NE(password_manager::ui::PENDING_PASSWORD_STATE, model_->state());
RemoveAllChildViews(true);

Powered by Google App Engine
This is Rietveld 408576698