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