summaryrefslogtreecommitdiffstats
path: root/android_webview
diff options
context:
space:
mode:
authormichaelbai@chromium.org <michaelbai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-06 16:15:39 +0000
committermichaelbai@chromium.org <michaelbai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-06 16:15:39 +0000
commit131dfd9edb33c0ddf55e599ffde7460e4b0695c0 (patch)
treebfea9b5ae9a4ea016295d43f783458215a8b2c64 /android_webview
parent13dbb18d76e31092b84223e838d4b3b1a10ff999 (diff)
downloadchromium_src-131dfd9edb33c0ddf55e599ffde7460e4b0695c0.zip
chromium_src-131dfd9edb33c0ddf55e599ffde7460e4b0695c0.tar.gz
chromium_src-131dfd9edb33c0ddf55e599ffde7460e4b0695c0.tar.bz2
[android_webview] Make it possible to install downloaded certificates.
This makes it possible for a certificate download to trigger an intent (via the StoreCertficiate call) which in turn allows the user to choose to install the certificate on the device. BUG=b/6385441 TEST=None Review URL: https://chromiumcodereview.appspot.com/12138003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180980 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'android_webview')
-rw-r--r--android_webview/browser/aw_content_browser_client.cc11
-rw-r--r--android_webview/browser/aw_content_browser_client.h6
2 files changed, 17 insertions, 0 deletions
diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc
index 5a53dd1..03f631d 100644
--- a/android_webview/browser/aw_content_browser_client.cc
+++ b/android_webview/browser/aw_content_browser_client.cc
@@ -19,6 +19,7 @@
#include "content/public/browser/render_view_host.h"
#include "content/public/common/url_constants.h"
#include "grit/ui_resources.h"
+#include "net/android/network_library.h"
#include "ui/base/resource/resource_bundle.h"
namespace {
@@ -58,6 +59,16 @@ AwContentBrowserClient::AwContentBrowserClient(
AwContentBrowserClient::~AwContentBrowserClient() {
}
+void AwContentBrowserClient::AddCertificate(net::URLRequest* request,
+ net::CertificateMimeType cert_type,
+ const void* cert_data,
+ size_t cert_size,
+ int render_process_id,
+ int render_view_id) {
+ if (cert_size > 0)
+ net::android::StoreCertificate(cert_type, cert_data, cert_size);
+}
+
AwBrowserContext* AwContentBrowserClient::GetAwBrowserContext() {
return browser_context_.get();
}
diff --git a/android_webview/browser/aw_content_browser_client.h b/android_webview/browser/aw_content_browser_client.h
index 41bed68..2f5dee0 100644
--- a/android_webview/browser/aw_content_browser_client.h
+++ b/android_webview/browser/aw_content_browser_client.h
@@ -25,6 +25,12 @@ class AwContentBrowserClient : public content::ContentBrowserClient {
AwBrowserContext* GetAwBrowserContext();
// Overriden methods from ContentBrowserClient.
+ virtual void AddCertificate(net::URLRequest* request,
+ net::CertificateMimeType cert_type,
+ const void* cert_data,
+ size_t cert_size,
+ int render_process_id,
+ int render_view_id) OVERRIDE;
virtual content::BrowserMainParts* CreateBrowserMainParts(
const content::MainFunctionParams& parameters) OVERRIDE;
virtual content::WebContentsViewDelegate* GetWebContentsViewDelegate(