| 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 89a651df2e9d0c7abf027460c90248b3ea5f029a..4ca43f605e12be56a1cb4c48c16dfc5cd6f3ab91 100644
|
| --- a/chrome/browser/ui/views/passwords/manage_passwords_bubble_view.cc
|
| +++ b/chrome/browser/ui/views/passwords/manage_passwords_bubble_view.cc
|
| @@ -24,6 +24,7 @@
|
| #include "chrome/browser/ui/views/passwords/manage_password_items_view.h"
|
| #include "chrome/browser/ui/views/passwords/manage_passwords_icon_views.h"
|
| #include "chrome/grit/generated_resources.h"
|
| +#include "components/password_manager/core/common/password_manager_features.h"
|
| #include "components/strings/grit/components_strings.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| #include "ui/base/material_design/material_design_controller.h"
|
| @@ -288,8 +289,8 @@ void ManagePasswordsBubbleView::AutoSigninView::OnTimer() {
|
| // ManagePasswordsBubbleView::PendingView -------------------------------------
|
|
|
| // A view offering the user the ability to save credentials. Contains a
|
| -// single ManagePasswordItemsView, along with a "Save Passwords" button
|
| -// and a "Never" button.
|
| +// single ManagePasswordItemsView, along with a "Save Passwords" button,
|
| +// a "Never" button and an "Edit" button to edit username field.
|
| class ManagePasswordsBubbleView::PendingView
|
| : public views::View,
|
| public views::ButtonListener,
|
| @@ -309,6 +310,7 @@ class ManagePasswordsBubbleView::PendingView
|
|
|
| ManagePasswordsBubbleView* parent_;
|
|
|
| + views::Button* edit_button_;
|
| views::Button* save_button_;
|
| views::Button* never_button_;
|
|
|
| @@ -317,7 +319,7 @@ class ManagePasswordsBubbleView::PendingView
|
|
|
| ManagePasswordsBubbleView::PendingView::PendingView(
|
| ManagePasswordsBubbleView* parent)
|
| - : parent_(parent) {
|
| + : parent_(parent), edit_button_(nullptr) {
|
| views::GridLayout* layout = new views::GridLayout(this);
|
| layout->set_minimum_size(gfx::Size(kDesiredBubbleWidth, 0));
|
| SetLayoutManager(layout);
|
| @@ -328,6 +330,11 @@ ManagePasswordsBubbleView::PendingView::PendingView(
|
| item = new ManagePasswordItemsView(parent_->model(),
|
| &parent->model()->pending_password());
|
| }
|
| + if (base::FeatureList::IsEnabled(
|
| + password_manager::features::kEnableUsernameCorrection)) {
|
| + edit_button_ = views::MdTextButton::CreateSecondaryUiButton(
|
| + this, l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_EDIT_BUTTON));
|
| + }
|
| save_button_ = views::MdTextButton::CreateSecondaryUiBlueButton(
|
| this, l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_SAVE_BUTTON));
|
| never_button_ = views::MdTextButton::CreateSecondaryUiButton(
|
| @@ -349,8 +356,13 @@ ManagePasswordsBubbleView::PendingView::PendingView(
|
| }
|
|
|
| // Button row.
|
| - BuildColumnSet(layout, DOUBLE_BUTTON_COLUMN_SET);
|
| - layout->StartRow(0, DOUBLE_BUTTON_COLUMN_SET);
|
| + ColumnSetType column_set_type =
|
| + edit_button_ ? TRIPLE_BUTTON_COLUMN_SET : DOUBLE_BUTTON_COLUMN_SET;
|
| + BuildColumnSet(layout, column_set_type);
|
| + layout->StartRow(0, column_set_type);
|
| + if (column_set_type == TRIPLE_BUTTON_COLUMN_SET) {
|
| + layout->AddView(edit_button_);
|
| + }
|
| layout->AddView(save_button_);
|
| layout->AddView(never_button_);
|
|
|
| @@ -363,7 +375,10 @@ ManagePasswordsBubbleView::PendingView::~PendingView() {
|
| void ManagePasswordsBubbleView::PendingView::ButtonPressed(
|
| views::Button* sender,
|
| const ui::Event& event) {
|
| - if (sender == save_button_) {
|
| + // TODO(https://crbug.com/734965): Implement edit button logic.
|
| + if (sender == edit_button_) {
|
| + return;
|
| + } else if (sender == save_button_) {
|
| parent_->model()->OnSaveClicked();
|
| if (parent_->model()->ReplaceToShowPromotionIfNeeded()) {
|
| parent_->Refresh();
|
|
|