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

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

Issue 2900693002: [Password Manager] Convert |pending_login_managers_| to an array of scoped_refptr (Closed)
Patch Set: Rebase Created 3 years, 6 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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_PASSWORDS_CLIENT_UI_DELEGATE_H_ 5 #ifndef CHROME_BROWSER_UI_PASSWORDS_PASSWORDS_CLIENT_UI_DELEGATE_H_
6 #define CHROME_BROWSER_UI_PASSWORDS_PASSWORDS_CLIENT_UI_DELEGATE_H_ 6 #define CHROME_BROWSER_UI_PASSWORDS_PASSWORDS_CLIENT_UI_DELEGATE_H_
7 7
8 #include <map> 8 #include <map>
9 #include <memory> 9 #include <memory>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/callback.h" 12 #include "base/callback.h"
13 #include "base/memory/ref_counted.h"
13 #include "base/strings/string16.h" 14 #include "base/strings/string16.h"
14 #include "components/autofill/core/common/password_form.h" 15 #include "components/autofill/core/common/password_form.h"
15 16
16 namespace content { 17 namespace content {
17 class WebContents; 18 class WebContents;
18 } 19 }
19 20
20 namespace password_manager { 21 namespace password_manager {
21 class PasswordFormManager; 22 class PasswordFormManager;
22 } 23 }
23 24
24 // An interface for ChromePasswordManagerClient implemented by 25 // An interface for ChromePasswordManagerClient implemented by
25 // ManagePasswordsUIController. Allows to push a new state for the tab. 26 // ManagePasswordsUIController. Allows to push a new state for the tab.
26 class PasswordsClientUIDelegate { 27 class PasswordsClientUIDelegate {
27 public: 28 public:
28 // Called when the user submits a form containing login information, so the 29 // Called when the user submits a form containing login information, so the
29 // later requests to save or blacklist can be handled. 30 // later requests to save or blacklist can be handled.
30 // This stores the provided object and triggers the UI to prompt the user 31 // This stores the provided object and triggers the UI to prompt the user
31 // about whether they would like to save the password. 32 // about whether they would like to save the password.
32 virtual void OnPasswordSubmitted( 33 virtual void OnPasswordSubmitted(
33 std::unique_ptr<password_manager::PasswordFormManager> form_manager) = 0; 34 scoped_refptr<password_manager::PasswordFormManager> form_manager) = 0;
34 35
35 // Called when the user submits a new password for an existing credential. 36 // Called when the user submits a new password for an existing credential.
36 // This stores the provided object and triggers the UI to prompt the user 37 // This stores the provided object and triggers the UI to prompt the user
37 // about whether they would like to update the password. 38 // about whether they would like to update the password.
38 virtual void OnUpdatePasswordSubmitted( 39 virtual void OnUpdatePasswordSubmitted(
39 std::unique_ptr<password_manager::PasswordFormManager> form_manager) = 0; 40 scoped_refptr<password_manager::PasswordFormManager> form_manager) = 0;
40 41
41 // Called when the site asks user to choose from credentials. This triggers 42 // Called when the site asks user to choose from credentials. This triggers
42 // the UI to prompt the user. |local_credentials| shouldn't be empty. |origin| 43 // the UI to prompt the user. |local_credentials| shouldn't be empty. |origin|
43 // is a URL of the site that requested a credential. 44 // is a URL of the site that requested a credential.
44 // Returns true when the UI is shown. |callback| is called when the user made 45 // Returns true when the UI is shown. |callback| is called when the user made
45 // a decision. If the UI isn't shown the method returns false and doesn't call 46 // a decision. If the UI isn't shown the method returns false and doesn't call
46 // |callback|. 47 // |callback|.
47 virtual bool OnChooseCredentials( 48 virtual bool OnChooseCredentials(
48 std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials, 49 std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials,
49 const GURL& origin, 50 const GURL& origin,
50 const base::Callback<void(const autofill::PasswordForm*)>& callback) = 0; 51 const base::Callback<void(const autofill::PasswordForm*)>& callback) = 0;
51 52
52 // Called when user is auto signed in to the site. |local_forms[0]| contains 53 // Called when user is auto signed in to the site. |local_forms[0]| contains
53 // the credential returned to the site. |origin| is a URL of the site. 54 // the credential returned to the site. |origin| is a URL of the site.
54 virtual void OnAutoSignin( 55 virtual void OnAutoSignin(
55 std::vector<std::unique_ptr<autofill::PasswordForm>> local_forms, 56 std::vector<std::unique_ptr<autofill::PasswordForm>> local_forms,
56 const GURL& origin) = 0; 57 const GURL& origin) = 0;
57 58
58 // Called when it's the right time to enable autosign-in explicitly. 59 // Called when it's the right time to enable autosign-in explicitly.
59 virtual void OnPromptEnableAutoSignin() = 0; 60 virtual void OnPromptEnableAutoSignin() = 0;
60 61
61 // Called when the password will be saved automatically, but we still wish to 62 // Called when the password will be saved automatically, but we still wish to
62 // visually inform the user that the save has occured. 63 // visually inform the user that the save has occured.
63 virtual void OnAutomaticPasswordSave( 64 virtual void OnAutomaticPasswordSave(
64 std::unique_ptr<password_manager::PasswordFormManager> form_manager) = 0; 65 scoped_refptr<password_manager::PasswordFormManager> form_manager) = 0;
65 66
66 // Called when a form is autofilled with login information, so we can manage 67 // Called when a form is autofilled with login information, so we can manage
67 // password credentials for the current site which are stored in 68 // password credentials for the current site which are stored in
68 // |password_form_map|. This stores a copy of |password_form_map| and shows 69 // |password_form_map|. This stores a copy of |password_form_map| and shows
69 // the manage password icon. |federated_matches| contain the matching stored 70 // the manage password icon. |federated_matches| contain the matching stored
70 // federated credentials to display in the UI. 71 // federated credentials to display in the UI.
71 virtual void OnPasswordAutofilled( 72 virtual void OnPasswordAutofilled(
72 const std::map<base::string16, const autofill::PasswordForm*>& 73 const std::map<base::string16, const autofill::PasswordForm*>&
73 password_form_map, 74 password_form_map,
74 const GURL& origin, 75 const GURL& origin,
75 const std::vector<const autofill::PasswordForm*>* federated_matches) = 0; 76 const std::vector<const autofill::PasswordForm*>* federated_matches) = 0;
76 77
77 protected: 78 protected:
78 virtual ~PasswordsClientUIDelegate() = default; 79 virtual ~PasswordsClientUIDelegate() = default;
79 }; 80 };
80 81
81 // Returns ManagePasswordsUIController instance for |contents| 82 // Returns ManagePasswordsUIController instance for |contents|
82 PasswordsClientUIDelegate* PasswordsClientUIDelegateFromWebContents( 83 PasswordsClientUIDelegate* PasswordsClientUIDelegateFromWebContents(
83 content::WebContents* web_contents); 84 content::WebContents* web_contents);
84 85
85 #endif // CHROME_BROWSER_UI_PASSWORDS_PASSWORDS_CLIENT_UI_DELEGATE_H_ 86 #endif // CHROME_BROWSER_UI_PASSWORDS_PASSWORDS_CLIENT_UI_DELEGATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698