Chromium Code Reviews| 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 2c2df1a7f1d23f066c66f28f65a24e6277e7c477..8c0195a45e941211f10bb136e2ea23f0bd247ae7 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 |
| @@ -19,8 +19,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 +48,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) |
| @@ -129,7 +129,7 @@ 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) { |
| @@ -164,7 +164,7 @@ public class CronetUrlRequestContext extends CronetEngine { |
| @VisibleForTesting |
| public static long createNativeUrlRequestContextConfig( |
| - final Context context, CronetEngine.Builder builder) { |
| + final Context context, CronetEngineBuilderImpl builder) { |
| final long urlRequestContextConfig = nativeCreateRequestContextConfig( |
| builder.getUserAgent(), builder.storagePath(), builder.quicEnabled(), |
| builder.getDefaultQuicUserAgentId(context), builder.http2Enabled(), |
| @@ -175,11 +175,11 @@ public class CronetUrlRequestContext extends CronetEngine { |
| 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()); |
| } |
| @@ -187,7 +187,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) { |
| @@ -202,11 +208,30 @@ public class CronetUrlRequestContext extends CronetEngine { |
| } |
| } |
| + /** |
| + * Creates a {@link BidirectionalStream} object. {@code callback} methods will |
| + * be invoked on {@code executor}. {@code executor} must not run |
| + * tasks on the current thread to prevent blocking networking operations |
| + * and causing exceptions during shutdown. |
| + * |
| + * @param url the URL for the stream |
| + * @param callback the object whose methods get invoked upon different events |
| + * @param executor the {@link Executor} on which all callbacks will be called |
| + * @param httpMethod the HTTP method to use for the stream |
| + * @param requestHeaders the list of request headers |
| + * @param priority priority of the stream which should be one of the |
| + * {@link BidirectionalStream.Builder#STREAM_PRIORITY_IDLE STREAM_PRIORITY_*} |
| + * values. |
| + * @param delayRequestHeadersUntilFirstFlush whether to delay sending request |
| + * headers until flush() is called, and try to combine them |
| + * with the next data frame. |
| + * @return a new stream. |
| + */ |
|
pauljensen
2016/09/26 14:51:22
Remove comment on @Override method
kapishnikov
2016/09/27 18:38:26
Done.
|
| @Override |
| public BidirectionalStream 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(); |