OLD | NEW |
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_VIEWS_PASSWORDS_MANAGE_PASSWORDS_BUBBLE_VIEW_H_ | 5 #ifndef CHROME_BROWSER_UI_VIEWS_PASSWORDS_MANAGE_PASSWORDS_BUBBLE_VIEW_H_ |
6 #define CHROME_BROWSER_UI_VIEWS_PASSWORDS_MANAGE_PASSWORDS_BUBBLE_VIEW_H_ | 6 #define CHROME_BROWSER_UI_VIEWS_PASSWORDS_MANAGE_PASSWORDS_BUBBLE_VIEW_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "chrome/browser/ui/passwords/manage_passwords_bubble.h" | 9 #include "chrome/browser/ui/passwords/manage_passwords_bubble.h" |
10 #include "chrome/browser/ui/views/passwords/save_password_refusal_combobox_model
.h" | 10 #include "chrome/browser/ui/views/passwords/save_password_refusal_combobox_model
.h" |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 views::BlueButton* save_button_; | 61 views::BlueButton* save_button_; |
62 | 62 |
63 // The combobox doesn't take ownership of its model. If we created a | 63 // The combobox doesn't take ownership of its model. If we created a |
64 // combobox we need to ensure that we delete the model here, and because the | 64 // combobox we need to ensure that we delete the model here, and because the |
65 // combobox uses the model in it's destructor, we need to make sure we | 65 // combobox uses the model in it's destructor, we need to make sure we |
66 // delete the model _after_ the combobox itself is deleted. | 66 // delete the model _after_ the combobox itself is deleted. |
67 scoped_ptr<SavePasswordRefusalComboboxModel> combobox_model_; | 67 scoped_ptr<SavePasswordRefusalComboboxModel> combobox_model_; |
68 scoped_ptr<views::Combobox> refuse_combobox_; | 68 scoped_ptr<views::Combobox> refuse_combobox_; |
69 }; | 69 }; |
70 | 70 |
| 71 // A view offering the user the ability to undo her decision to never save |
| 72 // passwords for a particular site. |
| 73 class ConfirmNeverView : public views::View, public views::ButtonListener { |
| 74 public: |
| 75 explicit ConfirmNeverView(ManagePasswordsBubbleView* parent); |
| 76 virtual ~ConfirmNeverView(); |
| 77 |
| 78 private: |
| 79 // views::ButtonListener: |
| 80 virtual void ButtonPressed(views::Button* sender, |
| 81 const ui::Event& event) OVERRIDE; |
| 82 |
| 83 ManagePasswordsBubbleView* parent_; |
| 84 |
| 85 views::LabelButton* confirm_button_; |
| 86 views::LabelButton* undo_button_; |
| 87 }; |
| 88 |
71 // A view offering the user a list of her currently saved credentials | 89 // A view offering the user a list of her currently saved credentials |
72 // for the current page, along with a "Manage passwords" link and a | 90 // for the current page, along with a "Manage passwords" link and a |
73 // "Done" button. | 91 // "Done" button. |
74 class ManageView : public views::View, | 92 class ManageView : public views::View, |
75 public views::ButtonListener, | 93 public views::ButtonListener, |
76 public views::LinkListener { | 94 public views::LinkListener { |
77 public: | 95 public: |
78 explicit ManageView(ManagePasswordsBubbleView* parent); | 96 explicit ManageView(ManagePasswordsBubbleView* parent); |
79 virtual ~ManageView(); | 97 virtual ~ManageView(); |
80 | 98 |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 | 146 |
129 // If the bubble is not anchored to a view, places the bubble in the top | 147 // If the bubble is not anchored to a view, places the bubble in the top |
130 // right (left in RTL) of the |screen_bounds| that contain |web_contents_|'s | 148 // right (left in RTL) of the |screen_bounds| that contain |web_contents_|'s |
131 // browser window. Because the positioning is based on the size of the | 149 // browser window. Because the positioning is based on the size of the |
132 // bubble, this must be called after the bubble is created. | 150 // bubble, this must be called after the bubble is created. |
133 void AdjustForFullscreen(const gfx::Rect& screen_bounds); | 151 void AdjustForFullscreen(const gfx::Rect& screen_bounds); |
134 | 152 |
135 // Close the bubble. | 153 // Close the bubble. |
136 void Close(); | 154 void Close(); |
137 | 155 |
| 156 // Refreshes the bubble's state: called to display a confirmation screen after |
| 157 // a user selects "Never for this site", for instance. |
| 158 void Refresh(); |
| 159 |
| 160 // Called from PendingView if the user clicks on "Never for this site" in |
| 161 // order to display a confirmation screen. |
| 162 void NotifyNeverForThisSiteClicked(); |
| 163 |
| 164 // Called from ConfirmNeverView if the user confirms her intention to never |
| 165 // save passwords, and remove existing passwords, for a site. |
| 166 void NotifyConfirmedNeverForThisSite(); |
| 167 |
| 168 // Called from ConfirmNeverView if the user clicks on "Undo" in order to |
| 169 // undo the action and refresh to PendingView. |
| 170 void NotifyUndoNeverForThisSite(); |
| 171 |
138 // views::BubbleDelegateView: | 172 // views::BubbleDelegateView: |
139 virtual void Init() OVERRIDE; | 173 virtual void Init() OVERRIDE; |
140 virtual void WindowClosing() OVERRIDE; | 174 virtual void WindowClosing() OVERRIDE; |
141 | 175 |
142 // Singleton instance of the Password bubble. The Password bubble can only be | 176 // Singleton instance of the Password bubble. The Password bubble can only be |
143 // shown on the active browser window, so there is no case in which it will be | 177 // shown on the active browser window, so there is no case in which it will be |
144 // shown twice at the same time. | 178 // shown twice at the same time. |
145 static ManagePasswordsBubbleView* manage_passwords_bubble_; | 179 static ManagePasswordsBubbleView* manage_passwords_bubble_; |
146 | 180 |
147 ManagePasswordsIconView* anchor_view_; | 181 ManagePasswordsIconView* anchor_view_; |
148 | 182 |
| 183 // If true upon destruction, the user has confirmed that she never wants to |
| 184 // save passwords for a particular site. |
| 185 bool never_save_passwords_; |
| 186 |
149 DISALLOW_COPY_AND_ASSIGN(ManagePasswordsBubbleView); | 187 DISALLOW_COPY_AND_ASSIGN(ManagePasswordsBubbleView); |
150 }; | 188 }; |
151 | 189 |
152 #endif // CHROME_BROWSER_UI_VIEWS_PASSWORDS_MANAGE_PASSWORDS_BUBBLE_VIEW_H_ | 190 #endif // CHROME_BROWSER_UI_VIEWS_PASSWORDS_MANAGE_PASSWORDS_BUBBLE_VIEW_H_ |
OLD | NEW |