Index: components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java |
diff --git a/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java b/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java |
index 819347d57a1cad185362e7e0315d0afc3d09fe71..489d25184b8df65aa5ef83a79cdd2fd380ce4bb0 100644 |
--- a/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java |
+++ b/components/cronet/android/java/src/org/chromium/net/impl/CronetUrlRequestContext.java |
@@ -4,8 +4,6 @@ |
package org.chromium.net.impl; |
-import android.content.Context; |
-import android.os.Build; |
import android.os.ConditionVariable; |
import android.os.Handler; |
import android.os.Looper; |
@@ -19,8 +17,8 @@ import org.chromium.base.annotations.JNINamespace; |
import org.chromium.base.annotations.NativeClassQualifiedName; |
import org.chromium.base.annotations.UsedByReflection; |
import org.chromium.net.BidirectionalStream; |
-import org.chromium.net.CronetEngine; |
import org.chromium.net.EffectiveConnectionType; |
+import org.chromium.net.ExperimentalBidirectionalStream; |
import org.chromium.net.NetworkQualityRttListener; |
import org.chromium.net.NetworkQualityThroughputListener; |
import org.chromium.net.RequestFinishedInfo; |
@@ -48,7 +46,7 @@ import javax.annotation.concurrent.GuardedBy; |
@JNINamespace("cronet") |
@UsedByReflection("CronetEngine.java") |
@VisibleForTesting |
-public class CronetUrlRequestContext extends CronetEngine { |
+public class CronetUrlRequestContext extends CronetEngineBase { |
private static final int LOG_NONE = 3; // LOG(FATAL), no VLOG. |
private static final int LOG_DEBUG = -1; // LOG(FATAL...INFO), VLOG(1) |
private static final int LOG_VERBOSE = -2; // LOG(FATAL...INFO), VLOG(2) |
@@ -130,12 +128,12 @@ public class CronetUrlRequestContext extends CronetEngine { |
private boolean mNetLogToDisk; |
@UsedByReflection("CronetEngine.java") |
- public CronetUrlRequestContext(final CronetEngine.Builder builder) { |
+ public CronetUrlRequestContext(final CronetEngineBuilderImpl builder) { |
CronetLibraryLoader.ensureInitialized(builder.getContext(), builder); |
nativeSetMinLogLevel(getLoggingLevel()); |
synchronized (mLock) { |
- mUrlRequestContextAdapter = nativeCreateRequestContextAdapter( |
- createNativeUrlRequestContextConfig(builder.getContext(), builder)); |
+ mUrlRequestContextAdapter = |
+ nativeCreateRequestContextAdapter(createNativeUrlRequestContextConfig(builder)); |
if (mUrlRequestContextAdapter == 0) { |
throw new NullPointerException("Context Adapter creation failed."); |
} |
@@ -164,23 +162,22 @@ public class CronetUrlRequestContext extends CronetEngine { |
} |
@VisibleForTesting |
- public static long createNativeUrlRequestContextConfig( |
- final Context context, CronetEngine.Builder builder) { |
+ public static long createNativeUrlRequestContextConfig(CronetEngineBuilderImpl builder) { |
final long urlRequestContextConfig = nativeCreateRequestContextConfig( |
builder.getUserAgent(), builder.storagePath(), builder.quicEnabled(), |
- builder.getDefaultQuicUserAgentId(context), builder.http2Enabled(), |
- builder.sdchEnabled(), builder.dataReductionProxyKey(), |
- builder.dataReductionProxyPrimaryProxy(), builder.dataReductionProxyFallbackProxy(), |
+ builder.getDefaultQuicUserAgentId(), builder.http2Enabled(), builder.sdchEnabled(), |
+ builder.dataReductionProxyKey(), builder.dataReductionProxyPrimaryProxy(), |
+ builder.dataReductionProxyFallbackProxy(), |
builder.dataReductionProxySecureProxyCheckUrl(), builder.cacheDisabled(), |
builder.httpCacheMode(), builder.httpCacheMaxSize(), builder.experimentalOptions(), |
builder.mockCertVerifier(), builder.networkQualityEstimatorEnabled(), |
builder.publicKeyPinningBypassForLocalTrustAnchorsEnabled(), |
builder.certVerifierData()); |
- for (Builder.QuicHint quicHint : builder.quicHints()) { |
+ for (CronetEngineBuilderImpl.QuicHint quicHint : builder.quicHints()) { |
nativeAddQuicHint(urlRequestContextConfig, quicHint.mHost, quicHint.mPort, |
quicHint.mAlternatePort); |
} |
- for (Builder.Pkp pkp : builder.publicKeyPins()) { |
+ for (CronetEngineBuilderImpl.Pkp pkp : builder.publicKeyPins()) { |
nativeAddPkp(urlRequestContextConfig, pkp.mHost, pkp.mHashes, pkp.mIncludeSubdomains, |
pkp.mExpirationDate.getTime()); |
} |
@@ -188,7 +185,13 @@ public class CronetUrlRequestContext extends CronetEngine { |
} |
@Override |
- public UrlRequest createRequest(String url, UrlRequest.Callback callback, Executor executor, |
+ public ExperimentalBidirectionalStream.Builder newBidirectionalStreamBuilder( |
+ String url, BidirectionalStream.Callback callback, Executor executor) { |
+ return new BidirectionalStreamBuilderImpl(url, callback, executor, this); |
+ } |
+ |
+ @Override |
+ public UrlRequestBase createRequest(String url, UrlRequest.Callback callback, Executor executor, |
int priority, Collection<Object> requestAnnotations, boolean disableCache, |
boolean disableConnectionMigration, boolean allowDirectExecutor) { |
synchronized (mLock) { |
@@ -199,10 +202,10 @@ public class CronetUrlRequestContext extends CronetEngine { |
} |
@Override |
- public BidirectionalStream createBidirectionalStream(String url, |
+ protected ExperimentalBidirectionalStream createBidirectionalStream(String url, |
BidirectionalStream.Callback callback, Executor executor, String httpMethod, |
List<Map.Entry<String, String>> requestHeaders, |
- @BidirectionalStream.Builder.StreamPriority int priority, |
+ @BidirectionalStreamBuilderImpl.StreamPriority int priority, |
boolean delayRequestHeadersUntilFirstFlush, Collection<Object> requestAnnotations) { |
synchronized (mLock) { |
checkHaveAdapter(); |
@@ -213,11 +216,6 @@ public class CronetUrlRequestContext extends CronetEngine { |
} |
@Override |
- public boolean isEnabled() { |
- return Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH; |
- } |
- |
- @Override |
public String getVersionString() { |
return "Cronet/" + ImplVersion.getVersion(); |
} |