OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h" | 5 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h" |
6 | 6 |
7 #include "chrome/app/chrome_command_ids.h" | 7 #include "chrome/app/chrome_command_ids.h" |
8 #include "chrome/browser/browsing_data/browsing_data_helper.h" | 8 #include "chrome/browser/browsing_data/browsing_data_helper.h" |
9 #include "chrome/browser/chrome_notification_types.h" | 9 #include "chrome/browser/chrome_notification_types.h" |
10 #include "chrome/browser/password_manager/password_store_factory.h" | 10 #include "chrome/browser/password_manager/password_store_factory.h" |
11 #include "chrome/browser/ui/browser_command_controller.h" | 11 #include "chrome/browser/ui/browser_command_controller.h" |
| 12 #include "chrome/browser/ui/browser_dialogs.h" |
12 #include "chrome/browser/ui/browser_finder.h" | 13 #include "chrome/browser/ui/browser_finder.h" |
13 #include "chrome/browser/ui/browser_window.h" | 14 #include "chrome/browser/ui/browser_window.h" |
14 #include "chrome/browser/ui/chrome_pages.h" | 15 #include "chrome/browser/ui/chrome_pages.h" |
15 #include "chrome/browser/ui/location_bar/location_bar.h" | 16 #include "chrome/browser/ui/location_bar/location_bar.h" |
16 #include "chrome/browser/ui/passwords/manage_passwords_icon.h" | 17 #include "chrome/browser/ui/passwords/manage_passwords_icon.h" |
17 #include "chrome/common/url_constants.h" | 18 #include "chrome/common/url_constants.h" |
18 #include "components/password_manager/core/browser/password_store.h" | 19 #include "components/password_manager/core/browser/password_store.h" |
19 #include "content/public/browser/notification_service.h" | 20 #include "content/public/browser/notification_service.h" |
20 | 21 |
21 using autofill::PasswordFormMap; | 22 using autofill::PasswordFormMap; |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
232 // interact with the password bubble. | 233 // interact with the password bubble. |
233 if (timer_ && timer_->Elapsed() < base::TimeDelta::FromSeconds(1)) | 234 if (timer_ && timer_->Elapsed() < base::TimeDelta::FromSeconds(1)) |
234 return; | 235 return; |
235 | 236 |
236 // Otherwise, reset the password manager and the timer. | 237 // Otherwise, reset the password manager and the timer. |
237 state_ = password_manager::ui::INACTIVE_STATE; | 238 state_ = password_manager::ui::INACTIVE_STATE; |
238 UpdateBubbleAndIconVisibility(); | 239 UpdateBubbleAndIconVisibility(); |
239 timer_.reset(new base::ElapsedTimer()); | 240 timer_.reset(new base::ElapsedTimer()); |
240 } | 241 } |
241 | 242 |
| 243 void ManagePasswordsUIController::WasHidden() { |
| 244 #if !defined(OS_ANDROID) |
| 245 chrome::CloseManagePasswordsBubble(web_contents()); |
| 246 #endif |
| 247 } |
| 248 |
242 const autofill::PasswordForm& ManagePasswordsUIController:: | 249 const autofill::PasswordForm& ManagePasswordsUIController:: |
243 PendingCredentials() const { | 250 PendingCredentials() const { |
244 DCHECK(form_manager_); | 251 DCHECK(form_manager_); |
245 return form_manager_->pending_credentials(); | 252 return form_manager_->pending_credentials(); |
246 } | 253 } |
247 | 254 |
248 void ManagePasswordsUIController::UpdateIconAndBubbleState( | 255 void ManagePasswordsUIController::UpdateIconAndBubbleState( |
249 ManagePasswordsIcon* icon) { | 256 ManagePasswordsIcon* icon) { |
250 if (password_manager::ui::IsAutomaticDisplayState(state_)) { | 257 if (password_manager::ui::IsAutomaticDisplayState(state_)) { |
251 // We must display the icon before showing the bubble, as the bubble would | 258 // We must display the icon before showing the bubble, as the bubble would |
(...skipping 19 matching lines...) Expand all Loading... |
271 return; | 278 return; |
272 CommandUpdater* updater = browser->command_controller()->command_updater(); | 279 CommandUpdater* updater = browser->command_controller()->command_updater(); |
273 updater->ExecuteCommand(IDC_MANAGE_PASSWORDS_FOR_PAGE); | 280 updater->ExecuteCommand(IDC_MANAGE_PASSWORDS_FOR_PAGE); |
274 #endif | 281 #endif |
275 } | 282 } |
276 | 283 |
277 bool ManagePasswordsUIController::PasswordPendingUserDecision() const { | 284 bool ManagePasswordsUIController::PasswordPendingUserDecision() const { |
278 return state_ == password_manager::ui::PENDING_PASSWORD_STATE || | 285 return state_ == password_manager::ui::PENDING_PASSWORD_STATE || |
279 state_ == password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE; | 286 state_ == password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE; |
280 } | 287 } |
OLD | NEW |