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