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

Unified Diff: components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java

Issue 1429863008: [Cronet] Remove JSON serialization of CronetEngine.Builder (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: sync Created 5 years, 1 month 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/java/src/org/chromium/net/CronetUrlRequestContext.java
diff --git a/components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java b/components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java
index 227bd41f9d8c4c389f99e220bfc1e45b54d049fc..8bc8584ea814a35a188eba4e0d0765b912618f3f 100644
--- a/components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java
+++ b/components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java
@@ -73,7 +73,8 @@ class CronetUrlRequestContext extends CronetEngine {
public CronetUrlRequestContext(CronetEngine.Builder builder) {
CronetLibraryLoader.ensureInitialized(builder.getContext(), builder);
nativeSetMinLogLevel(getLoggingLevel());
- mUrlRequestContextAdapter = nativeCreateRequestContextAdapter(builder.toJSONString());
+ mUrlRequestContextAdapter =
+ nativeCreateRequestContextAdapter(createNativeUrlRequestContextConfig(builder));
if (mUrlRequestContextAdapter == 0) {
throw new NullPointerException("Context Adapter creation failed.");
}
@@ -98,6 +99,21 @@ class CronetUrlRequestContext extends CronetEngine {
}
}
+ static long createNativeUrlRequestContextConfig(CronetEngine.Builder builder) {
+ final long urlRequestContextConfig = nativeCreateRequestContextConfig(
+ builder.getUserAgent(), builder.storagePath(), builder.quicEnabled(),
+ builder.http2Enabled(), builder.sdchEnabled(), builder.dataReductionProxyKey(),
+ builder.dataReductionProxyPrimaryProxy(), builder.dataReductionProxyFallbackProxy(),
+ builder.dataReductionProxySecureProxyCheckUrl(), builder.cacheDisabled(),
+ builder.httpCacheMode(), builder.httpCacheMaxSize(), builder.experimentalOptions(),
+ builder.mockCertVerifier());
+ for (Builder.QuicHint quicHint : builder.quicHints()) {
+ nativeAddQuicHint(urlRequestContextConfig, quicHint.mHost, quicHint.mPort,
xunjieli 2015/12/01 17:30:38 I don't really like adding multiple JNI calls here
pauljensen 2015/12/02 03:50:01 I don't really like it either, but I'm not too wor
+ quicHint.mAlternatePort);
+ }
+ return urlRequestContextConfig;
+ }
+
@Override
public UrlRequest createRequest(String url, UrlRequest.Callback callback, Executor executor) {
synchronized (mLock) {
@@ -400,7 +416,17 @@ class CronetUrlRequestContext extends CronetEngine {
}
// Native methods are implemented in cronet_url_request_context_adapter.cc.
- private static native long nativeCreateRequestContextAdapter(String config);
+ private static native long nativeCreateRequestContextConfig(String userAgent,
+ String storagePath, boolean quicEnabled, boolean http2Enabled, boolean sdchEnabled,
+ String dataReductionProxyKey, String dataReductionProxyPrimaryProxy,
+ String dataReductionProxyFallbackProxy, String dataReductionProxySecureProxyCheckUrl,
+ boolean disableCache, int httpCacheMode, long httpCacheMaxSize,
+ String experimentalOptions, long mockCertVerifier);
+
+ private static native void nativeAddQuicHint(
+ long urlRequestContextConfig, String host, int port, int alternatePort);
+
+ private static native long nativeCreateRequestContextAdapter(long urlRequestContextConfig);
xunjieli 2015/12/01 17:30:38 Not sure whether we should consolidate nativeCreat
pauljensen 2015/12/02 03:50:01 I split it for a few reasons: 1. The ChromiumURLRe
private static native int nativeSetMinLogLevel(int loggingLevel);

Powered by Google App Engine
This is Rietveld 408576698