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

Side by Side Diff: chrome/browser/ui/passwords/manage_passwords_bubble_ui_controller.h

Issue 250353003: Password bubble: refactor ManagePasswordsIconView. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: s/cc/h Created 6 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/ui/passwords/manage_passwords_bubble_ui_controller.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_UI_PASSWORDS_MANAGE_PASSWORDS_BUBBLE_UI_CONTROLLER_H_ 5 #ifndef CHROME_BROWSER_UI_PASSWORDS_MANAGE_PASSWORDS_BUBBLE_UI_CONTROLLER_H_
6 #define CHROME_BROWSER_UI_PASSWORDS_MANAGE_PASSWORDS_BUBBLE_UI_CONTROLLER_H_ 6 #define CHROME_BROWSER_UI_PASSWORDS_MANAGE_PASSWORDS_BUBBLE_UI_CONTROLLER_H_
7 7
8 #include "components/password_manager/core/browser/password_form_manager.h" 8 #include "components/password_manager/core/browser/password_form_manager.h"
9 #include "components/password_manager/core/browser/password_store.h" 9 #include "components/password_manager/core/browser/password_store.h"
10 #include "components/password_manager/core/browser/password_store_change.h" 10 #include "components/password_manager/core/browser/password_store_change.h"
11 #include "content/public/browser/navigation_details.h" 11 #include "content/public/browser/navigation_details.h"
12 #include "content/public/browser/web_contents_observer.h" 12 #include "content/public/browser/web_contents_observer.h"
13 #include "content/public/browser/web_contents_user_data.h" 13 #include "content/public/browser/web_contents_user_data.h"
14 14
15 namespace content { 15 namespace content {
16 class WebContents; 16 class WebContents;
17 } 17 }
18 18
19 class ManagePasswordsIcon;
20
19 // Per-tab class to control the Omnibox password icon and bubble. 21 // Per-tab class to control the Omnibox password icon and bubble.
20 class ManagePasswordsBubbleUIController 22 class ManagePasswordsBubbleUIController
21 : public content::WebContentsObserver, 23 : public content::WebContentsObserver,
22 public content::WebContentsUserData<ManagePasswordsBubbleUIController>, 24 public content::WebContentsUserData<ManagePasswordsBubbleUIController>,
23 public password_manager::PasswordStore::Observer { 25 public password_manager::PasswordStore::Observer {
24 public: 26 public:
25 virtual ~ManagePasswordsBubbleUIController(); 27 virtual ~ManagePasswordsBubbleUIController();
26 28
27 // Called when the user submits a form containing login information, so we 29 // Called when the user submits a form containing login information, so we
28 // can handle later requests to save or blacklist that login information. 30 // can handle later requests to save or blacklist that login information.
(...skipping 15 matching lines...) Expand all
44 const password_manager::PasswordStoreChangeList& changes) OVERRIDE; 46 const password_manager::PasswordStoreChangeList& changes) OVERRIDE;
45 47
46 // Called from the model when the user chooses to save a password; passes the 48 // Called from the model when the user chooses to save a password; passes the
47 // action off to the FormManager. 49 // action off to the FormManager.
48 virtual void SavePassword(); 50 virtual void SavePassword();
49 51
50 // Called from the model when the user chooses to never save passwords; passes 52 // Called from the model when the user chooses to never save passwords; passes
51 // the action off to the FormManager. 53 // the action off to the FormManager.
52 virtual void NeverSavePassword(); 54 virtual void NeverSavePassword();
53 55
54 // Called when the bubble is opened after the icon gets displayed. We change
55 // the state to know that we do not need to pop up the bubble again.
56 void OnBubbleShown();
57
58 // Open a new tab, pointing to the password manager settings page. 56 // Open a new tab, pointing to the password manager settings page.
59 virtual void NavigateToPasswordManagerSettingsPage(); 57 virtual void NavigateToPasswordManagerSettingsPage();
60 58
61 virtual const autofill::PasswordForm& PendingCredentials() const; 59 virtual const autofill::PasswordForm& PendingCredentials() const;
62 60
61 // Set the state of the Omnibox icon, and possibly show the associated bubble
62 // without user interaction.
63 virtual void UpdateIconAndBubbleState(ManagePasswordsIcon* icon);
64
63 bool manage_passwords_icon_to_be_shown() const { 65 bool manage_passwords_icon_to_be_shown() const {
64 return manage_passwords_icon_to_be_shown_; 66 return manage_passwords_icon_to_be_shown_;
65 } 67 }
66 68
67 bool password_to_be_saved() const { 69 bool password_to_be_saved() const {
68 return password_to_be_saved_; 70 return password_to_be_saved_;
69 } 71 }
70 72
71 bool manage_passwords_bubble_needs_showing() const { 73 bool manage_passwords_bubble_needs_showing() const {
72 return manage_passwords_bubble_needs_showing_; 74 return manage_passwords_bubble_needs_showing_;
73 } 75 }
74 76
75 void unset_manage_passwords_bubble_needs_showing() {
76 manage_passwords_bubble_needs_showing_ = false;
77 }
78
79 void unset_password_to_be_saved() { 77 void unset_password_to_be_saved() {
80 password_to_be_saved_ = false; 78 password_to_be_saved_ = false;
81 } 79 }
82 80
83 const autofill::PasswordFormMap best_matches() const { 81 const autofill::PasswordFormMap best_matches() const {
84 return password_form_map_; 82 return password_form_map_;
85 } 83 }
86 84
87 bool autofill_blocked() const { return autofill_blocked_; } 85 bool autofill_blocked() const { return autofill_blocked_; }
88 void set_autofill_blocked(bool autofill_blocked) { 86 void set_autofill_blocked(bool autofill_blocked) {
89 autofill_blocked_ = autofill_blocked; 87 autofill_blocked_ = autofill_blocked;
90 } 88 }
91 89
90 const GURL& origin() const { return origin_; }
91
92 protected: 92 protected:
93 explicit ManagePasswordsBubbleUIController( 93 explicit ManagePasswordsBubbleUIController(
94 content::WebContents* web_contents); 94 content::WebContents* web_contents);
95 95
96 private: 96 private:
97 friend class content::WebContentsUserData<ManagePasswordsBubbleUIController>; 97 friend class content::WebContentsUserData<ManagePasswordsBubbleUIController>;
98 98
99 // Called when a passwordform is autofilled, when a new passwordform is 99 // Called when a passwordform is autofilled, when a new passwordform is
100 // submitted, or when a navigation occurs to update the visibility of the 100 // submitted, or when a navigation occurs to update the visibility of the
101 // manage passwords icon and bubble. 101 // manage passwords icon and bubble.
(...skipping 26 matching lines...) Expand all
128 128
129 // The origin of the form we're currently dealing with; we'll use this to 129 // The origin of the form we're currently dealing with; we'll use this to
130 // determine which PasswordStore changes we should care about when updating 130 // determine which PasswordStore changes we should care about when updating
131 // |password_form_map_|. 131 // |password_form_map_|.
132 GURL origin_; 132 GURL origin_;
133 133
134 DISALLOW_COPY_AND_ASSIGN(ManagePasswordsBubbleUIController); 134 DISALLOW_COPY_AND_ASSIGN(ManagePasswordsBubbleUIController);
135 }; 135 };
136 136
137 #endif // CHROME_BROWSER_UI_PASSWORDS_MANAGE_PASSWORDS_BUBBLE_UI_CONTROLLER_H_ 137 #endif // CHROME_BROWSER_UI_PASSWORDS_MANAGE_PASSWORDS_BUBBLE_UI_CONTROLLER_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/passwords/manage_passwords_bubble_ui_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698