diff options
author | Torne (Richard Coles) <torne@google.com> | 2013-10-31 11:16:26 +0000 |
---|---|---|
committer | Torne (Richard Coles) <torne@google.com> | 2013-10-31 11:16:26 +0000 |
commit | 1e9bf3e0803691d0a228da41fc608347b6db4340 (patch) | |
tree | ab2e5565f71b4219b3da406e19f16fe306704ef5 /android_webview/browser | |
parent | f10b58d5bc6ae3e74076fc4ccca14cbc57ef805c (diff) | |
download | chromium_org-1e9bf3e0803691d0a228da41fc608347b6db4340.tar.gz |
Merge from Chromium at DEPS revision 232015
This commit was generated by merge_to_master.py.
Change-Id: If86767ad396b9e2e1a4c1e9df1427daea29703ef
Diffstat (limited to 'android_webview/browser')
6 files changed, 50 insertions, 0 deletions
diff --git a/android_webview/browser/aw_browser_context.cc b/android_webview/browser/aw_browser_context.cc index 7adc6dd97c..ca3a5b8aef 100644 --- a/android_webview/browser/aw_browser_context.cc +++ b/android_webview/browser/aw_browser_context.cc @@ -247,12 +247,20 @@ net::URLRequestContextGetter* AwBrowserContext::GetMediaRequestContext() { void AwBrowserContext::RequestMIDISysExPermission( int render_process_id, int render_view_id, + int bridge_id, const GURL& requesting_frame, const MIDISysExPermissionCallback& callback) { // TODO(toyoshim): Android is not supported yet. callback.Run(false); } +void AwBrowserContext::CancelMIDISysExPermissionRequest( + int render_process_id, + int render_view_id, + int bridge_id, + const GURL& requesting_frame) { +} + net::URLRequestContextGetter* AwBrowserContext::GetMediaRequestContextForRenderProcess( int renderer_child_id) { diff --git a/android_webview/browser/aw_browser_context.h b/android_webview/browser/aw_browser_context.h index c7c3ea949c..d77393cb9d 100644 --- a/android_webview/browser/aw_browser_context.h +++ b/android_webview/browser/aw_browser_context.h @@ -90,8 +90,14 @@ class AwBrowserContext : public content::BrowserContext, virtual void RequestMIDISysExPermission( int render_process_id, int render_view_id, + int bridge_id, const GURL& requesting_frame, const MIDISysExPermissionCallback& callback) OVERRIDE; + virtual void CancelMIDISysExPermissionRequest( + int render_process_id, + int render_view_id, + int bridge_id, + const GURL& requesting_frame) OVERRIDE; virtual content::ResourceContext* GetResourceContext() OVERRIDE; virtual content::DownloadManagerDelegate* GetDownloadManagerDelegate() OVERRIDE; diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc index 97bdf1f575..05658c1e25 100644 --- a/android_webview/browser/aw_content_browser_client.cc +++ b/android_webview/browser/aw_content_browser_client.cc @@ -24,6 +24,7 @@ #include "content/public/common/url_constants.h" #include "grit/ui_resources.h" #include "net/android/network_library.h" +#include "net/ssl/ssl_cert_request_info.h" #include "net/ssl/ssl_info.h" #include "ui/base/l10n/l10n_util_android.h" #include "ui/base/resource/resource_bundle.h" @@ -265,6 +266,18 @@ void AwContentBrowserClient::AllowCertificateError( *result = content::CERTIFICATE_REQUEST_RESULT_TYPE_DENY; } +void AwContentBrowserClient::SelectClientCertificate( + int render_process_id, + int render_view_id, + const net::HttpNetworkSession* network_session, + net::SSLCertRequestInfo* cert_request_info, + const base::Callback<void(net::X509Certificate*)>& callback) { + LOG(INFO) << "Client certificate request from " + << cert_request_info->host_and_port + << " rejected. (Client certificates not supported in WebView)"; + callback.Run(NULL); +} + WebKit::WebNotificationPresenter::Permission AwContentBrowserClient::CheckDesktopNotificationPermission( const GURL& source_url, diff --git a/android_webview/browser/aw_content_browser_client.h b/android_webview/browser/aw_content_browser_client.h index afa29cbf10..f0309c9ccd 100644 --- a/android_webview/browser/aw_content_browser_client.h +++ b/android_webview/browser/aw_content_browser_client.h @@ -103,6 +103,12 @@ class AwContentBrowserClient : public content::ContentBrowserClient { bool strict_enforcement, const base::Callback<void(bool)>& callback, content::CertificateRequestResultType* result) OVERRIDE; + virtual void SelectClientCertificate( + int render_process_id, + int render_view_id, + const net::HttpNetworkSession* network_session, + net::SSLCertRequestInfo* cert_request_info, + const base::Callback<void(net::X509Certificate*)>& callback) OVERRIDE; virtual WebKit::WebNotificationPresenter::Permission CheckDesktopNotificationPermission( const GURL& source_url, diff --git a/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc b/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc index 642d943130..0b5312a0da 100644 --- a/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc +++ b/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc @@ -290,6 +290,19 @@ bool AwResourceDispatcherHostDelegate::AcceptAuthRequest( return true; } +bool AwResourceDispatcherHostDelegate::AcceptSSLClientCertificateRequest( + net::URLRequest* request, + net::SSLCertRequestInfo* cert_info) { + // WebView does not support client certificate selection, however it does + // send a no-certificate response to the server to allow it decide how to + // proceed. The base class returns false here, which causes the entire + // resource request to be abort. We don't want that, so we must return true + // here (and subsequently complete the request in + // AwContentBrowserClient::SelectClientCertificate) to get the intended + // behavior. + return true; +} + content::ResourceDispatcherHostLoginDelegate* AwResourceDispatcherHostDelegate::CreateLoginDelegate( net::AuthChallengeInfo* auth_info, diff --git a/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.h b/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.h index 570f22f24c..b5009e0235 100644 --- a/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.h +++ b/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.h @@ -48,6 +48,10 @@ class AwResourceDispatcherHostDelegate ScopedVector<content::ResourceThrottle>* throttles) OVERRIDE; virtual bool AcceptAuthRequest(net::URLRequest* request, net::AuthChallengeInfo* auth_info) OVERRIDE; + virtual bool AcceptSSLClientCertificateRequest( + net::URLRequest* request, + net::SSLCertRequestInfo* cert_info) OVERRIDE; + virtual content::ResourceDispatcherHostLoginDelegate* CreateLoginDelegate( net::AuthChallengeInfo* auth_info, net::URLRequest* request) OVERRIDE; |