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

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: fix component_unittests 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/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..90f97309d22bfa57be8b4b36ce4bd7cd502a16e7 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,25 @@ 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,
+ quicHint.mAlternatePort);
+ }
+ for (Builder.Pkp pkp : builder.publicKeyPins()) {
+ nativeAddPkp(urlRequestContextConfig, pkp.mHost, pkp.mHashes, pkp.mIncludeSubdomains,
+ pkp.mExpirationDate.getTime());
+ }
+ return urlRequestContextConfig;
+ }
+
@Override
public UrlRequest createRequest(String url, UrlRequest.Callback callback, Executor executor) {
synchronized (mLock) {
@@ -400,7 +420,20 @@ 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 void nativeAddPkp(long urlRequestContextConfig, String host,
+ byte[][] hashes, boolean includeSubdomains, long expirationTime);
+
+ private static native long nativeCreateRequestContextAdapter(long urlRequestContextConfig);
private static native int nativeSetMinLogLevel(int loggingLevel);

Powered by Google App Engine
This is Rietveld 408576698