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

Unified Diff: components/cronet/android/cronet_url_request_context_adapter.cc

Issue 1429863008: [Cronet] Remove JSON serialization of CronetEngine.Builder (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address Helen's comments Created 5 years 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 side-by-side diff with in-line comments
Download patch
Index: components/cronet/android/cronet_url_request_context_adapter.cc
diff --git a/components/cronet/android/cronet_url_request_context_adapter.cc b/components/cronet/android/cronet_url_request_context_adapter.cc
index 4fcf468badc8565143569c317cf29040b3698851..04a5ed9ec80b70e05a055d63f07dc52938fa012c 100644
--- a/components/cronet/android/cronet_url_request_context_adapter.cc
+++ b/components/cronet/android/cronet_url_request_context_adapter.cc
@@ -31,6 +31,7 @@
#include "net/base/net_errors.h"
#include "net/base/net_util.h"
#include "net/base/network_delegate_impl.h"
+#include "net/cert/cert_verifier.h"
#include "net/http/http_auth_handler_factory.h"
#include "net/http/http_server_properties_manager.h"
#include "net/log/write_to_file_net_log_observer.h"
@@ -521,17 +522,65 @@ void CronetURLRequestContextAdapter::OnThroughputObservation(
(timestamp - base::TimeTicks::UnixEpoch()).InMilliseconds(), source);
}
+// Create a URLRequestContextConfig from the given parameters.
+static jlong CreateRequestContextConfig(
+ JNIEnv* env,
+ const JavaParamRef<jclass>& jcaller,
+ const JavaParamRef<jstring>& juser_agent,
+ const JavaParamRef<jstring>& jstorage_path,
+ jboolean jquic_enabled,
+ jboolean jhttp2_enabled,
+ jboolean jsdch_enabled,
+ const JavaParamRef<jstring>& jdata_reduction_proxy_key,
+ const JavaParamRef<jstring>& jdata_reduction_proxy_primary_proxy,
+ const JavaParamRef<jstring>& jdata_reduction_proxy_fallback_proxy,
+ const JavaParamRef<jstring>& jdata_reduction_proxy_secure_proxy_check_url,
+ jboolean jdisable_cache,
+ jint jhttp_cache_mode,
+ jlong jhttp_cache_max_size,
+ const JavaParamRef<jstring>& jexperimental_quic_connection_options,
+ jlong jmock_cert_verifier) {
+ return reinterpret_cast<jlong>(new URLRequestContextConfig(
+ jquic_enabled, jhttp2_enabled, jsdch_enabled,
+ static_cast<URLRequestContextConfig::HttpCacheType>(jhttp_cache_mode),
+ jhttp_cache_max_size, jdisable_cache,
+ base::android::ConvertJavaStringToUTF8(env, jstorage_path),
+ base::android::ConvertJavaStringToUTF8(env, juser_agent),
+ base::android::ConvertJavaStringToUTF8(
+ env, jexperimental_quic_connection_options),
+ base::android::ConvertJavaStringToUTF8(env, jdata_reduction_proxy_key),
+ base::android::ConvertJavaStringToUTF8(
+ env, jdata_reduction_proxy_primary_proxy),
+ base::android::ConvertJavaStringToUTF8(
+ env, jdata_reduction_proxy_fallback_proxy),
+ base::android::ConvertJavaStringToUTF8(
+ env, jdata_reduction_proxy_secure_proxy_check_url),
+ make_scoped_ptr(
+ reinterpret_cast<net::CertVerifier*>(jmock_cert_verifier))));
+}
+
+// Add a QUIC hint to a URLRequestContextConfig.
+static void AddQuicHint(JNIEnv* env,
+ const JavaParamRef<jclass>& jcaller,
+ jlong jurl_request_context_config,
+ const JavaParamRef<jstring>& jhost,
+ jint jport,
+ jint jalternate_port) {
+ URLRequestContextConfig* config =
+ reinterpret_cast<URLRequestContextConfig*>(jurl_request_context_config);
+ config->quic_hints.push_back(
+ make_scoped_ptr(new URLRequestContextConfig::QuicHint(
+ base::android::ConvertJavaStringToUTF8(env, jhost), jport,
+ jalternate_port)));
+}
+
// Creates RequestContextAdater if config is valid URLRequestContextConfig,
// returns 0 otherwise.
static jlong CreateRequestContextAdapter(JNIEnv* env,
const JavaParamRef<jclass>& jcaller,
- const JavaParamRef<jstring>& jconfig) {
- std::string config_string =
- base::android::ConvertJavaStringToUTF8(env, jconfig);
+ jlong jconfig) {
scoped_ptr<URLRequestContextConfig> context_config(
- new URLRequestContextConfig());
- if (!context_config->LoadFromJSON(config_string))
- return 0;
+ reinterpret_cast<URLRequestContextConfig*>(jconfig));
CronetURLRequestContextAdapter* context_adapter =
new CronetURLRequestContextAdapter(context_config.Pass());

Powered by Google App Engine
This is Rietveld 408576698