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

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

Issue 534543002: Clean up ManagePasswordsBubbleView and ManagePasswordItemView. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed comments Created 6 years, 3 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
« no previous file with comments | « chrome/browser/ui/views/passwords/manage_passwords_bubble_view.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 67114c5368d1824165c33d06513fe1e2870f68ef..720ba64948116f828f4ae87147d209d637a5fd97 100644
--- a/chrome/browser/ui/views/passwords/manage_passwords_bubble_view.cc
+++ b/chrome/browser/ui/views/passwords/manage_passwords_bubble_view.cc
@@ -4,31 +4,30 @@
#include "chrome/browser/ui/views/passwords/manage_passwords_bubble_view.h"
-#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
-#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h"
#include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h"
+#include "chrome/browser/ui/passwords/save_password_refusal_combobox_model.h"
#include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/browser/ui/views/location_bar/location_bar_view.h"
#include "chrome/browser/ui/views/passwords/manage_password_item_view.h"
#include "chrome/browser/ui/views/passwords/manage_passwords_icon_view.h"
#include "chrome/grit/generated_resources.h"
-#include "components/password_manager/core/common/password_manager_ui.h"
-#include "content/public/browser/notification_source.h"
#include "content/public/browser/web_contents.h"
#include "ui/aura/window.h"
#include "ui/base/l10n/l10n_util.h"
-#include "ui/base/models/combobox_model.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/compositor/layer_animation_observer.h"
#include "ui/compositor/scoped_layer_animation_settings.h"
-#include "ui/gfx/text_utils.h"
#include "ui/views/controls/button/blue_button.h"
#include "ui/views/controls/button/label_button.h"
#include "ui/views/controls/combobox/combobox.h"
+#include "ui/views/controls/combobox/combobox_listener.h"
+#include "ui/views/controls/link.h"
+#include "ui/views/controls/link_listener.h"
#include "ui/views/controls/styled_label.h"
+#include "ui/views/controls/styled_label_listener.h"
#include "ui/views/layout/fill_layout.h"
#include "ui/views/layout/grid_layout.h"
#include "ui/views/layout/layout_constants.h"
@@ -165,6 +164,36 @@ void ShowManagePasswordsBubble(content::WebContents* web_contents) {
// ManagePasswordsBubbleView::PendingView -------------------------------------
+// A view offering the user the ability to save credentials. Contains a
+// single ManagePasswordItemView, along with a "Save Passwords" button
+// and a rejection combobox.
+class ManagePasswordsBubbleView::PendingView : public views::View,
+ public views::ButtonListener,
+ public views::ComboboxListener {
+ public:
+ explicit PendingView(ManagePasswordsBubbleView* parent);
+ virtual ~PendingView();
+
+ private:
+ // views::ButtonListener:
+ virtual void ButtonPressed(views::Button* sender,
+ const ui::Event& event) OVERRIDE;
+
+ // Handles the event when the user changes an index of a combobox.
+ virtual void OnPerformAction(views::Combobox* source) OVERRIDE;
+
+ ManagePasswordsBubbleView* parent_;
+
+ views::BlueButton* save_button_;
+
+ // The combobox doesn't take ownership of its model. If we created a
+ // combobox we need to ensure that we delete the model here, and because the
+ // combobox uses the model in it's destructor, we need to make sure we
+ // delete the model _after_ the combobox itself is deleted.
+ scoped_ptr<SavePasswordRefusalComboboxModel> combobox_model_;
+ scoped_ptr<views::Combobox> refuse_combobox_;
+};
+
ManagePasswordsBubbleView::PendingView::PendingView(
ManagePasswordsBubbleView* parent)
: parent_(parent) {
@@ -236,6 +265,26 @@ void ManagePasswordsBubbleView::PendingView::OnPerformAction(
// ManagePasswordsBubbleView::ConfirmNeverView ---------------------------------
+// A view offering the user the ability to undo her decision to never save
+// passwords for a particular site.
+class ManagePasswordsBubbleView::ConfirmNeverView
+ : public views::View,
+ public views::ButtonListener {
+ public:
+ explicit ConfirmNeverView(ManagePasswordsBubbleView* parent);
+ virtual ~ConfirmNeverView();
+
+ private:
+ // views::ButtonListener:
+ virtual void ButtonPressed(views::Button* sender,
+ const ui::Event& event) OVERRIDE;
+
+ ManagePasswordsBubbleView* parent_;
+
+ views::LabelButton* confirm_button_;
+ views::LabelButton* undo_button_;
+};
+
ManagePasswordsBubbleView::ConfirmNeverView::ConfirmNeverView(
ManagePasswordsBubbleView* parent)
: parent_(parent) {
@@ -310,6 +359,30 @@ void ManagePasswordsBubbleView::ConfirmNeverView::ButtonPressed(
// ManagePasswordsBubbleView::ManageView --------------------------------------
+// A view offering the user a list of her currently saved credentials
+// for the current page, along with a "Manage passwords" link and a
+// "Done" button.
+class ManagePasswordsBubbleView::ManageView : public views::View,
+ public views::ButtonListener,
+ public views::LinkListener {
+ public:
+ explicit ManageView(ManagePasswordsBubbleView* parent);
+ virtual ~ManageView();
+
+ private:
+ // views::ButtonListener:
+ virtual void ButtonPressed(views::Button* sender,
+ const ui::Event& event) OVERRIDE;
+
+ // views::LinkListener:
+ virtual void LinkClicked(views::Link* source, int event_flags) OVERRIDE;
+
+ ManagePasswordsBubbleView* parent_;
+
+ views::Link* manage_link_;
+ views::LabelButton* done_button_;
+};
+
ManagePasswordsBubbleView::ManageView::ManageView(
ManagePasswordsBubbleView* parent)
: parent_(parent) {
@@ -399,6 +472,26 @@ void ManagePasswordsBubbleView::ManageView::LinkClicked(views::Link* source,
// ManagePasswordsBubbleView::BlacklistedView ---------------------------------
+// A view offering the user the ability to re-enable the password manager for
+// a specific site after she's decided to "never save passwords".
+class ManagePasswordsBubbleView::BlacklistedView
+ : public views::View,
+ public views::ButtonListener {
+ public:
+ explicit BlacklistedView(ManagePasswordsBubbleView* parent);
+ virtual ~BlacklistedView();
+
+ private:
+ // views::ButtonListener:
+ virtual void ButtonPressed(views::Button* sender,
+ const ui::Event& event) OVERRIDE;
+
+ ManagePasswordsBubbleView* parent_;
+
+ views::BlueButton* unblacklist_button_;
+ views::LabelButton* done_button_;
+};
+
ManagePasswordsBubbleView::BlacklistedView::BlacklistedView(
ManagePasswordsBubbleView* parent)
: parent_(parent) {
@@ -461,6 +554,30 @@ void ManagePasswordsBubbleView::BlacklistedView::ButtonPressed(
// ManagePasswordsBubbleView::SaveConfirmationView ----------------------------
+// A view confirming to the user that a password was saved and offering a link
+// to the Google account manager.
+class ManagePasswordsBubbleView::SaveConfirmationView
+ : public views::View,
+ public views::ButtonListener,
+ public views::StyledLabelListener {
+ public:
+ explicit SaveConfirmationView(ManagePasswordsBubbleView* parent);
+ virtual ~SaveConfirmationView();
+
+ private:
+ // views::ButtonListener:
+ virtual void ButtonPressed(views::Button* sender,
+ const ui::Event& event) OVERRIDE;
+
+ // views::StyledLabelListener implementation
+ virtual void StyledLabelLinkClicked(const gfx::Range& range,
+ int event_flags) OVERRIDE;
+
+ ManagePasswordsBubbleView* parent_;
+
+ views::LabelButton* ok_button_;
+};
+
ManagePasswordsBubbleView::SaveConfirmationView::SaveConfirmationView(
ManagePasswordsBubbleView* parent)
: parent_(parent) {
@@ -678,35 +795,6 @@ void ManagePasswordsBubbleView::Close() {
GetWidget()->Close();
}
-void ManagePasswordsBubbleView::Init() {
- views::FillLayout* layout = new views::FillLayout();
- SetLayoutManager(layout);
-
- Refresh();
-}
-
-void ManagePasswordsBubbleView::WindowClosing() {
- // Close() closes the window asynchronously, so by the time we reach here,
- // |manage_passwords_bubble_| may have already been reset.
- if (manage_passwords_bubble_ == this)
- manage_passwords_bubble_ = NULL;
-}
-
-void ManagePasswordsBubbleView::OnWidgetActivationChanged(views::Widget* widget,
- bool active) {
- if (active && widget == GetWidget())
- CancelFadingOut();
- BubbleDelegateView::OnWidgetActivationChanged(widget, active);
-}
-
-views::View* ManagePasswordsBubbleView::GetInitiallyFocusedView() {
- return initially_focused_view_;
-}
-
-void ManagePasswordsBubbleView::OnMouseEntered(const ui::MouseEvent& event) {
- CancelFadingOut();
-}
-
void ManagePasswordsBubbleView::Refresh() {
RemoveAllChildViews(true);
initially_focused_view_ = NULL;
@@ -746,6 +834,35 @@ void ManagePasswordsBubbleView::NotifyUndoNeverForThisSite() {
Refresh();
}
+void ManagePasswordsBubbleView::Init() {
+ views::FillLayout* layout = new views::FillLayout();
+ SetLayoutManager(layout);
+
+ Refresh();
+}
+
+void ManagePasswordsBubbleView::WindowClosing() {
+ // Close() closes the window asynchronously, so by the time we reach here,
+ // |manage_passwords_bubble_| may have already been reset.
+ if (manage_passwords_bubble_ == this)
+ manage_passwords_bubble_ = NULL;
+}
+
+void ManagePasswordsBubbleView::OnWidgetActivationChanged(views::Widget* widget,
+ bool active) {
+ if (active && widget == GetWidget())
+ CancelFadingOut();
+ BubbleDelegateView::OnWidgetActivationChanged(widget, active);
+}
+
+views::View* ManagePasswordsBubbleView::GetInitiallyFocusedView() {
+ return initially_focused_view_;
+}
+
+void ManagePasswordsBubbleView::OnMouseEntered(const ui::MouseEvent& event) {
+ CancelFadingOut();
+}
+
void ManagePasswordsBubbleView::StartFadingOut() {
if (fadeout_observer_)
return;
« no previous file with comments | « chrome/browser/ui/views/passwords/manage_passwords_bubble_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698