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

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: Clean up Created 5 years, 7 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 54dd1d3b76ee0a3e304231cec9f6ff6b796080d4..56f65d92104a893e4afeba2e3ba3eccd603217e8 100644
--- a/chrome/browser/ui/views/passwords/manage_password_items_view.cc
+++ b/chrome/browser/ui/views/passwords/manage_password_items_view.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/ui/views/passwords/manage_password_items_view.h"
#include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h"
+#include "chrome/browser/ui/views/passwords/manage_passwords_bubble_view.h"
vasilii 2015/06/03 18:32:02 Remove.
dvadym 2015/06/19 15:27:29 Done.
#include "chrome/grit/generated_resources.h"
#include "grit/components_strings.h"
#include "ui/base/l10n/l10n_util.h"
@@ -110,6 +111,7 @@ class ManagePasswordItemsView::PasswordFormRow : public views::ButtonListener,
ManagePasswordItemsView* host_;
const autofill::PasswordForm* password_form_;
views::Link* undo_link_;
+ views::Link* update_link_;
views::ImageButton* delete_button_;
bool deleted_;
};
@@ -135,7 +137,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()
? TWO_COLUMN_SET
: THREE_COLUMN_SET;
BuildColumnSetIfNeeded(layout, column_set_id);
@@ -144,15 +147,27 @@ void ManagePasswordItemsView::PasswordFormRow::AddCredentialsRow(
layout->AddView(GenerateUsernameLabel(*password_form_));
layout->AddView(GeneratePasswordLabel(*password_form_));
if (column_set_id == THREE_COLUMN_SET) {
- ui::ResourceBundle* rb = &ui::ResourceBundle::GetSharedInstance();
- delete_button_ = new views::ImageButton(this);
- delete_button_->SetImage(views::ImageButton::STATE_NORMAL,
- rb->GetImageNamed(IDR_CLOSE_2).ToImageSkia());
- delete_button_->SetImage(views::ImageButton::STATE_HOVERED,
- rb->GetImageNamed(IDR_CLOSE_2_H).ToImageSkia());
- delete_button_->SetImage(views::ImageButton::STATE_PRESSED,
- rb->GetImageNamed(IDR_CLOSE_2_P).ToImageSkia());
- layout->AddView(delete_button_);
+ 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 {
+ ui::ResourceBundle* rb = &ui::ResourceBundle::GetSharedInstance();
+ delete_button_ = new views::ImageButton(this);
+ delete_button_->SetImage(views::ImageButton::STATE_NORMAL,
+ rb->GetImageNamed(IDR_CLOSE_2).ToImageSkia());
+ delete_button_->SetImage(views::ImageButton::STATE_HOVERED,
+ rb->GetImageNamed(IDR_CLOSE_2_H).ToImageSkia());
+ delete_button_->SetImage(views::ImageButton::STATE_PRESSED,
+ rb->GetImageNamed(IDR_CLOSE_2_P).ToImageSkia());
+ layout->AddView(delete_button_);
+ }
}
}
@@ -187,9 +202,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() {
@@ -231,6 +250,12 @@ void ManagePasswordItemsView::NotifyPasswordFormStatusChanged(
: ManagePasswordsBubbleModel::ADD_PASSWORD);
}
+void ManagePasswordItemsView::NotifyAccountForUpdateWasSelected(
+ const autofill::PasswordForm& password_form) {
+ model_->OnUpdateClicked(password_form);
+ // ManagePasswordsBubbleView::CloseBubble(); // todo do we need this?
vabr (Chromium) 2015/06/03 16:33:26 Shouldn't this go through the controller? Also, if
vasilii 2015/06/03 18:32:02 ManagePasswordItemsView definitely shouldn't think
dvadym 2015/06/19 15:27:29 Thanks, I forgot to remove it. Done
+}
+
void ManagePasswordItemsView::Refresh() {
DCHECK_NE(password_manager::ui::PENDING_PASSWORD_STATE, model_->state());
RemoveAllChildViews(true);

Powered by Google App Engine
This is Rietveld 408576698