| 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 6a315f76e1d1d1855c5eb6aa73416ba9bcd88c47..c656402ca7bd4f403f6926afc2816959775377f3 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.experimentalQuicConnectionOptions(), builder.mockCertVerifier());
|
| + for (Builder.QuicHint quicHint : builder.quicHints()) {
|
| + nativeAddQuicHint(urlRequestContextConfig, quicHint.mHost, quicHint.mPort,
|
| + quicHint.mAlternatePort);
|
| + }
|
| + return urlRequestContextConfig;
|
| + }
|
| +
|
| @Override
|
| public UrlRequest createRequest(String url, UrlRequest.Callback callback, Executor executor) {
|
| synchronized (mLock) {
|
| @@ -393,7 +409,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 experimentalQuicConnectionOptions, long mockCertVerifier);
|
| +
|
| + private static native void nativeAddQuicHint(
|
| + long urlRequestContextConfig, String host, int port, int alternatePort);
|
| +
|
| + private static native long nativeCreateRequestContextAdapter(long urlRequestContextConfig);
|
|
|
| private static native int nativeSetMinLogLevel(int loggingLevel);
|
|
|
|
|