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

Side by Side Diff: android_webview/browser/aw_contents_client_bridge_base.h

Issue 235563005: Add client cert support to android_webview (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: code review phase 2 Created 6 years, 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 ANDROID_WEBVIEW_BROWSER_AW_CONTENTS_CLIENT_BRIDGE_BASE_H_ 5 #ifndef ANDROID_WEBVIEW_BROWSER_AW_CONTENTS_CLIENT_BRIDGE_BASE_H_
6 #define ANDROID_WEBVIEW_BROWSER_AW_CONTENTS_CLIENT_BRIDGE_BASE_H_ 6 #define ANDROID_WEBVIEW_BROWSER_AW_CONTENTS_CLIENT_BRIDGE_BASE_H_
7 7
8 #include "base/callback_forward.h" 8 #include "base/callback_forward.h"
9 #include "base/supports_user_data.h" 9 #include "base/supports_user_data.h"
10 #include "content/public/browser/javascript_dialog_manager.h" 10 #include "content/public/browser/javascript_dialog_manager.h"
11 11
12 class GURL; 12 class GURL;
13 13
14 namespace content { 14 namespace content {
15 class WebContents; 15 class WebContents;
16 } 16 }
17 17
18 namespace net { 18 namespace net {
19 class SSLCertRequestInfo;
19 class X509Certificate; 20 class X509Certificate;
20 } 21 }
21 22
22 namespace android_webview { 23 namespace android_webview {
23 24
24 // browser/ layer interface for AwContensClientBridge, as DEPS prevents this 25 // browser/ layer interface for AwContensClientBridge, as DEPS prevents this
25 // layer from depending on native/ where the implementation lives. The 26 // layer from depending on native/ where the implementation lives. The
26 // implementor of the base class plumbs the request to the Java side and 27 // implementor of the base class plumbs the request to the Java side and
27 // eventually to the webviewclient. This layering hides the details of 28 // eventually to the webviewclient. This layering hides the details of
28 // native/ from browser/ layer. 29 // native/ from browser/ layer.
29 class AwContentsClientBridgeBase { 30 class AwContentsClientBridgeBase {
30 public: 31 public:
31 // Adds the handler to the UserData registry. 32 // Adds the handler to the UserData registry.
32 static void Associate(content::WebContents* web_contents, 33 static void Associate(content::WebContents* web_contents,
33 AwContentsClientBridgeBase* handler); 34 AwContentsClientBridgeBase* handler);
34 static AwContentsClientBridgeBase* FromWebContents( 35 static AwContentsClientBridgeBase* FromWebContents(
35 content::WebContents* web_contents); 36 content::WebContents* web_contents);
36 static AwContentsClientBridgeBase* FromID(int render_process_id, 37 static AwContentsClientBridgeBase* FromID(int render_process_id,
37 int render_frame_id); 38 int render_frame_id);
38 39
39 virtual ~AwContentsClientBridgeBase(); 40 virtual ~AwContentsClientBridgeBase();
40 41
41 virtual void AllowCertificateError(int cert_error, 42 virtual void AllowCertificateError(int cert_error,
42 net::X509Certificate* cert, 43 net::X509Certificate* cert,
43 const GURL& request_url, 44 const GURL& request_url,
44 const base::Callback<void(bool)>& callback, 45 const base::Callback<void(bool)>& callback,
45 bool* cancel_request) = 0; 46 bool* cancel_request) = 0;
47 virtual void SelectClientCertificate(
48 net::SSLCertRequestInfo* cert_request_info,
49 const base::Callback<void(net::X509Certificate*)>& callback) = 0;
46 50
47 virtual void RunJavaScriptDialog( 51 virtual void RunJavaScriptDialog(
48 content::JavaScriptMessageType message_type, 52 content::JavaScriptMessageType message_type,
49 const GURL& origin_url, 53 const GURL& origin_url,
50 const base::string16& message_text, 54 const base::string16& message_text,
51 const base::string16& default_prompt_text, 55 const base::string16& default_prompt_text,
52 const content::JavaScriptDialogManager::DialogClosedCallback& callback) 56 const content::JavaScriptDialogManager::DialogClosedCallback& callback)
53 = 0; 57 = 0;
54 58
55 virtual void RunBeforeUnloadDialog( 59 virtual void RunBeforeUnloadDialog(
56 const GURL& origin_url, 60 const GURL& origin_url,
57 const base::string16& message_text, 61 const base::string16& message_text,
58 const content::JavaScriptDialogManager::DialogClosedCallback& callback) 62 const content::JavaScriptDialogManager::DialogClosedCallback& callback)
59 = 0; 63 = 0;
60 64
61 virtual bool ShouldOverrideUrlLoading(const base::string16& url) = 0; 65 virtual bool ShouldOverrideUrlLoading(const base::string16& url) = 0;
62 }; 66 };
63 67
64 } // namespace android_webview 68 } // namespace android_webview
65 69
66 #endif // ANDROID_WEBVIEW_BROWSER_AW_CONTENTS_CLIENT_BRIDGE_BASE_H_ 70 #endif // ANDROID_WEBVIEW_BROWSER_AW_CONTENTS_CLIENT_BRIDGE_BASE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698