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

Side by Side Diff: chrome/browser/ui/passwords/manage_passwords_controller.cc

Issue 87853004: Refactoring Manage Passwords Bubble Code to exclude TabSpecificContentSettings (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@movingclasses
Patch Set: adding controller files Created 7 years 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
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "chrome/browser/ui/passwords/manage_passwords_controller.h"
6
7 #include "chrome/browser/chrome_notification_types.h"
8 #include "chrome/browser/ui/browser_finder.h"
9 #include "chrome/browser/ui/browser_window.h"
10 #include "chrome/browser/ui/omnibox/location_bar.h"
11 #include "content/public/browser/notification_service.h"
12
13 using autofill::PasswordFormMap;
14
15 DEFINE_WEB_CONTENTS_USER_DATA_KEY(ManagePasswordsController);
16
17 ManagePasswordsController::ManagePasswordsController(
18 content::WebContents* web_contents)
19 : content::WebContentsObserver(web_contents),
20 manage_passwords_icon_to_be_shown_(false),
21 password_to_be_saved_(false),
22 manage_passwords_bubble_needs_showing_(false),
23 password_submitted_(false) {}
24
25 ManagePasswordsController::~ManagePasswordsController() {}
26
27 void ManagePasswordsController::OnPasswordAction() {
28 Browser* browser = chrome::FindBrowserWithWebContents(web_contents());
29 if (!browser)
30 return;
31 LocationBar* location_bar = browser->window()->GetLocationBar();
32 DCHECK(location_bar);
33 location_bar->UpdateManagePasswordsIconAndBubble();
34 }
35
36 void ManagePasswordsController::OnPasswordSubmitted(
37 PasswordFormManager* form_manager) {
38 form_manager_.reset(form_manager);
39 password_form_map_ = form_manager_->best_matches();
40 manage_passwords_icon_to_be_shown_ = true;
41 password_to_be_saved_ = true;
42 manage_passwords_bubble_needs_showing_ = true;
43 password_submitted_ = true;
44 OnPasswordAction();
45 }
46
47 void ManagePasswordsController::OnPasswordAutofilled(
48 const PasswordFormMap& password_form_map) {
49 password_form_map_ = password_form_map;
50 manage_passwords_icon_to_be_shown_ = true;
51 password_to_be_saved_ = false;
52 manage_passwords_bubble_needs_showing_ = false;
53 password_submitted_ = false;
54 OnPasswordAction();
55 }
56
57 void ManagePasswordsController::RemoveFromBestMatches(
58 autofill::PasswordForm password_form) {
59 password_form_map_.erase(password_form.username_value);
60 }
61
62 void ManagePasswordsController::OnBubbleShown() {
63 unset_manage_passwords_bubble_needs_showing();
64 }
65
66 void ManagePasswordsController::SavePassword() {
67 DCHECK(form_manager_.get());
68 form_manager_->Save();
69 }
70
71 void ManagePasswordsController::DidNavigateMainFrame(
72 const content::LoadCommittedDetails& details,
73 const content::FrameNavigateParams& params) {
74 if (!details.is_in_page) {
markusheintz_ 2013/11/26 12:44:37 nit: I guess we could could change this to: if (d
npentrel 2013/11/26 14:25:55 Done.
75 // Reset password states for next page.
76 manage_passwords_icon_to_be_shown_ = false;
77 password_to_be_saved_ = false;
78 manage_passwords_bubble_needs_showing_ = false;
79 password_submitted_ = false;
80 OnPasswordAction();
81 }
82 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698