summaryrefslogtreecommitdiff
path: root/android_webview/browser
diff options
context:
space:
mode:
authorTorne (Richard Coles) <torne@google.com>2013-10-31 11:16:26 +0000
committerTorne (Richard Coles) <torne@google.com>2013-10-31 11:16:26 +0000
commit1e9bf3e0803691d0a228da41fc608347b6db4340 (patch)
treeab2e5565f71b4219b3da406e19f16fe306704ef5 /android_webview/browser
parentf10b58d5bc6ae3e74076fc4ccca14cbc57ef805c (diff)
downloadchromium_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')
-rw-r--r--android_webview/browser/aw_browser_context.cc8
-rw-r--r--android_webview/browser/aw_browser_context.h6
-rw-r--r--android_webview/browser/aw_content_browser_client.cc13
-rw-r--r--android_webview/browser/aw_content_browser_client.h6
-rw-r--r--android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc13
-rw-r--r--android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.h4
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;