Index: android_webview/browser/net/aw_url_request_context_getter.cc |
diff --git a/android_webview/browser/net/aw_url_request_context_getter.cc b/android_webview/browser/net/aw_url_request_context_getter.cc |
index 8bd349af94a657be555d74ee8cc49406a65ab790..708fc4d319c5c06183bfc46dd692a5b3f38bedac 100644 |
--- a/android_webview/browser/net/aw_url_request_context_getter.cc |
+++ b/android_webview/browser/net/aw_url_request_context_getter.cc |
@@ -58,6 +58,13 @@ namespace android_webview { |
namespace { |
+#if DCHECK_IS_ON() |
+bool g_created_url_request_context_builder = false; |
+#endif |
+// On apps targeting API level O or later, check cleartext is enforced. |
+bool g_check_cleartext_permitted = false; |
+ |
+ |
const base::FilePath::CharType kChannelIDFilename[] = "Origin Bound Certs"; |
const char kProxyServerSwitch[] = "proxy-server"; |
@@ -262,6 +269,11 @@ void AwURLRequestContextGetter::InitializeURLRequestContext() { |
builder.set_host_resolver(std::move(host_resolver)); |
url_request_context_ = builder.Build(); |
+#if DCHECK_IS_ON() |
+ g_created_url_request_context_builder = true; |
+#endif |
+ url_request_context_->set_check_cleartext_permitted( |
+ g_check_cleartext_permitted); |
job_factory_ = |
CreateJobFactory(&protocol_handlers_, std::move(request_interceptors_)); |
@@ -294,6 +306,12 @@ net::NetLog* AwURLRequestContextGetter::GetNetLog() { |
return net_log_.get(); |
} |
+// static |
+void AwURLRequestContextGetter::set_check_cleartext_permitted(bool permitted) { |
+ DCHECK(!g_created_url_request_context_builder); |
+ g_check_cleartext_permitted = permitted; |
+} |
+ |
std::unique_ptr<net::HttpAuthHandlerFactory> |
AwURLRequestContextGetter::CreateAuthHandlerFactory( |
net::HostResolver* resolver) { |