| Index: chrome/browser/ui/views/passwords/manage_password_item_view.cc
|
| diff --git a/chrome/browser/ui/views/passwords/manage_password_item_view.cc b/chrome/browser/ui/views/passwords/manage_password_item_view.cc
|
| index 3a28538ffdcff203507a8147dadb3a48b99b830a..8ddac6f9af07d6a0e2f6d669fd775affdc341936 100644
|
| --- a/chrome/browser/ui/views/passwords/manage_password_item_view.cc
|
| +++ b/chrome/browser/ui/views/passwords/manage_password_item_view.cc
|
| @@ -6,12 +6,15 @@
|
|
|
| #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h"
|
| #include "chrome/grit/generated_resources.h"
|
| -#include "components/password_manager/core/common/password_manager_ui.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
| #include "ui/resources/grit/ui_resources.h"
|
| +#include "ui/views/border.h"
|
| #include "ui/views/controls/button/button.h"
|
| #include "ui/views/controls/button/image_button.h"
|
| +#include "ui/views/controls/label.h"
|
| +#include "ui/views/controls/link.h"
|
| +#include "ui/views/controls/link_listener.h"
|
| #include "ui/views/layout/fill_layout.h"
|
| #include "ui/views/layout/grid_layout.h"
|
| #include "ui/views/layout/layout_constants.h"
|
| @@ -89,7 +92,15 @@ views::Label* GeneratePasswordLabel(const autofill::PasswordForm& form) {
|
|
|
| } // namespace
|
|
|
| -// Pending View
|
| +// Render credentials in two columns: username and password.
|
| +class ManagePasswordItemView::PendingView : public views::View {
|
| + public:
|
| + explicit PendingView(ManagePasswordItemView* parent);
|
| +
|
| + private:
|
| + virtual ~PendingView();
|
| +};
|
| +
|
| ManagePasswordItemView::PendingView::PendingView(
|
| ManagePasswordItemView* parent) {
|
| views::GridLayout* layout = new views::GridLayout(this);
|
| @@ -106,7 +117,23 @@ ManagePasswordItemView::PendingView::PendingView(
|
| ManagePasswordItemView::PendingView::~PendingView() {
|
| }
|
|
|
| -// Manage View
|
| +// Render credentials in three columns: username, password, and delete.
|
| +class ManagePasswordItemView::ManageView : public views::View,
|
| + public views::ButtonListener {
|
| + public:
|
| + explicit ManageView(ManagePasswordItemView* parent);
|
| +
|
| + private:
|
| + virtual ~ManageView();
|
| +
|
| + // views::ButtonListener:
|
| + virtual void ButtonPressed(views::Button* sender,
|
| + const ui::Event& event) OVERRIDE;
|
| +
|
| + views::ImageButton* delete_button_;
|
| + ManagePasswordItemView* parent_;
|
| +};
|
| +
|
| ManagePasswordItemView::ManageView::ManageView(ManagePasswordItemView* parent)
|
| : parent_(parent) {
|
| views::GridLayout* layout = new views::GridLayout(this);
|
| @@ -130,16 +157,32 @@ ManagePasswordItemView::ManageView::ManageView(ManagePasswordItemView* parent)
|
| layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing);
|
| }
|
|
|
| +ManagePasswordItemView::ManageView::~ManageView() {
|
| +}
|
| +
|
| void ManagePasswordItemView::ManageView::ButtonPressed(views::Button* sender,
|
| const ui::Event& event) {
|
| DCHECK_EQ(delete_button_, sender);
|
| parent_->NotifyClickedDelete();
|
| }
|
|
|
| -ManagePasswordItemView::ManageView::~ManageView() {
|
| -}
|
| +// Render a notification to the user that a password has been removed, and
|
| +// offer an undo link.
|
| +class ManagePasswordItemView::UndoView : public views::View,
|
| + public views::LinkListener {
|
| + public:
|
| + explicit UndoView(ManagePasswordItemView* parent);
|
| +
|
| + private:
|
| + virtual ~UndoView();
|
| +
|
| + // views::LinkListener:
|
| + virtual void LinkClicked(views::Link* source, int event_flags) OVERRIDE;
|
| +
|
| + views::Link* undo_link_;
|
| + ManagePasswordItemView* parent_;
|
| +};
|
|
|
| -// Undo View
|
| ManagePasswordItemView::UndoView::UndoView(ManagePasswordItemView* parent)
|
| : parent_(parent) {
|
| views::GridLayout* layout = new views::GridLayout(this);
|
| @@ -167,15 +210,15 @@ ManagePasswordItemView::UndoView::UndoView(ManagePasswordItemView* parent)
|
| layout->AddPaddingRow(0, views::kRelatedControlVerticalSpacing);
|
| }
|
|
|
| +ManagePasswordItemView::UndoView::~UndoView() {
|
| +}
|
| +
|
| void ManagePasswordItemView::UndoView::LinkClicked(views::Link* sender,
|
| int event_flags) {
|
| DCHECK_EQ(undo_link_, sender);
|
| parent_->NotifyClickedUndo();
|
| }
|
|
|
| -ManagePasswordItemView::UndoView::~UndoView() {
|
| -}
|
| -
|
| // ManagePasswordItemView
|
| ManagePasswordItemView::ManagePasswordItemView(
|
| ManagePasswordsBubbleModel* manage_passwords_bubble_model,
|
| @@ -209,6 +252,16 @@ ManagePasswordItemView::ManagePasswordItemView(
|
| ManagePasswordItemView::~ManagePasswordItemView() {
|
| }
|
|
|
| +void ManagePasswordItemView::NotifyClickedDelete() {
|
| + delete_password_ = true;
|
| + Refresh();
|
| +}
|
| +
|
| +void ManagePasswordItemView::NotifyClickedUndo() {
|
| + delete_password_ = false;
|
| + Refresh();
|
| +}
|
| +
|
| void ManagePasswordItemView::Refresh() {
|
| DCHECK(!password_manager::ui::IsPendingState(model_->state()));
|
|
|
| @@ -226,13 +279,3 @@ void ManagePasswordItemView::Refresh() {
|
| ? ManagePasswordsBubbleModel::REMOVE_PASSWORD
|
| : ManagePasswordsBubbleModel::ADD_PASSWORD);
|
| }
|
| -
|
| -void ManagePasswordItemView::NotifyClickedDelete() {
|
| - delete_password_ = true;
|
| - Refresh();
|
| -}
|
| -
|
| -void ManagePasswordItemView::NotifyClickedUndo() {
|
| - delete_password_ = false;
|
| - Refresh();
|
| -}
|
|
|