OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_SSL_SSL_CLIENT_CERTIFICATE_SELECTOR_H_ | 5 #ifndef CHROME_BROWSER_SSL_SSL_CLIENT_CERTIFICATE_SELECTOR_H_ |
6 #define CHROME_BROWSER_SSL_SSL_CLIENT_CERTIFICATE_SELECTOR_H_ | 6 #define CHROME_BROWSER_SSL_SSL_CLIENT_CERTIFICATE_SELECTOR_H_ |
7 | 7 |
8 #include "base/callback_forward.h" | 8 #include "base/callback_forward.h" |
| 9 #include "base/memory/scoped_ptr.h" |
9 | 10 |
10 namespace content { | 11 namespace content { |
| 12 class ClientCertificateDelegate; |
11 class WebContents; | 13 class WebContents; |
12 } | 14 } |
13 | 15 |
14 namespace net { | 16 namespace net { |
15 class SSLCertRequestInfo; | 17 class SSLCertRequestInfo; |
16 class X509Certificate; | 18 class X509Certificate; |
17 } | 19 } |
18 | 20 |
19 namespace chrome { | 21 namespace chrome { |
20 | 22 |
21 typedef base::Callback<void(net::X509Certificate*)> SelectCertificateCallback; | |
22 | |
23 // Opens a constrained SSL client certificate selection dialog under |parent|, | 23 // Opens a constrained SSL client certificate selection dialog under |parent|, |
24 // offering certificates from |cert_request_info|. When the user has made a | 24 // offering certificates from |cert_request_info|. When the user has made a |
25 // selection, the dialog will report back to |callback|. |callback| is notified | 25 // selection, the dialog will report back to |delegate|. If the dialog is |
26 // when the dialog closes in call cases; if the user cancels the dialog, we call | 26 // closed, |delegate| is notified to cancel the selection. |
27 // with a NULL certificate. | |
28 void ShowSSLClientCertificateSelector( | 27 void ShowSSLClientCertificateSelector( |
29 content::WebContents* contents, | 28 content::WebContents* contents, |
30 net::SSLCertRequestInfo* cert_request_info, | 29 net::SSLCertRequestInfo* cert_request_info, |
31 const SelectCertificateCallback& callback); | 30 scoped_ptr<content::ClientCertificateDelegate> delegate); |
32 | 31 |
33 } // namespace chrome | 32 } // namespace chrome |
34 | 33 |
35 #endif // CHROME_BROWSER_SSL_SSL_CLIENT_CERTIFICATE_SELECTOR_H_ | 34 #endif // CHROME_BROWSER_SSL_SSL_CLIENT_CERTIFICATE_SELECTOR_H_ |
OLD | NEW |