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

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

Issue 2660963002: Cronet: a framework to provide alternative Cronet implementations (Closed)
Patch Set: Created 3 years, 11 months 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/impl/CronetEngineBuilderImpl.java
diff --git a/components/cronet/android/java/src/org/chromium/net/impl/CronetEngineBuilderImpl.java b/components/cronet/android/java/src/org/chromium/net/impl/CronetEngineBuilderImpl.java
index 809ea10ca65b46cc58f669148370a5ddf6a330f7..c4900ec235eeb2e12b6dac0bb83bf3975e8d5f3b 100644
--- a/components/cronet/android/java/src/org/chromium/net/impl/CronetEngineBuilderImpl.java
+++ b/components/cronet/android/java/src/org/chromium/net/impl/CronetEngineBuilderImpl.java
@@ -6,7 +6,6 @@ package org.chromium.net.impl;
import android.content.Context;
import android.support.annotation.IntDef;
import android.support.annotation.VisibleForTesting;
-import android.util.Log;
import static org.chromium.net.CronetEngine.Builder.HTTP_CACHE_DISABLED;
import static org.chromium.net.CronetEngine.Builder.HTTP_CACHE_DISK;
@@ -14,13 +13,11 @@ import static org.chromium.net.CronetEngine.Builder.HTTP_CACHE_DISK_NO_HTTP;
import static org.chromium.net.CronetEngine.Builder.HTTP_CACHE_IN_MEMORY;
import org.chromium.net.CronetEngine;
-import org.chromium.net.ExperimentalCronetEngine;
import org.chromium.net.ICronetEngineBuilder;
import java.io.File;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
-import java.lang.reflect.Constructor;
import java.net.IDN;
import java.util.Date;
import java.util.HashSet;
@@ -32,7 +29,7 @@ import java.util.regex.Pattern;
/**
* Implementation of {@link ICronetEngineBuilder}.
*/
-public class CronetEngineBuilderImpl extends ICronetEngineBuilder {
+public abstract class CronetEngineBuilderImpl extends ICronetEngineBuilder {
/**
* A hint that a host supports QUIC.
*/
@@ -72,10 +69,6 @@ public class CronetEngineBuilderImpl extends ICronetEngineBuilder {
}
}
- private static final String TAG = CronetEngineBuilderImpl.class.getSimpleName();
- private static final String NATIVE_CRONET_IMPL_CLASS =
- "org.chromium.net.impl.CronetUrlRequestContext";
- private static final String JAVA_CRONET_IMPL_CLASS = "org.chromium.net.impl.JavaCronetEngine";
private static final Pattern INVALID_PKP_HOST_NAME = Pattern.compile("^[0-9\\.]*$");
// Private fields are simply storage of configuration for the resulting CronetEngine.
@@ -86,7 +79,6 @@ public class CronetEngineBuilderImpl extends ICronetEngineBuilder {
private boolean mPublicKeyPinningBypassForLocalTrustAnchorsEnabled;
private String mUserAgent;
private String mStoragePath;
- private boolean mLegacyModeEnabled;
private VersionSafeCallbacks.LibraryLoader mLibraryLoader;
private boolean mQuicEnabled;
private boolean mHttp2Enabled;
@@ -99,7 +91,7 @@ public class CronetEngineBuilderImpl extends ICronetEngineBuilder {
private int mHttpCacheMode;
private long mHttpCacheMaxSize;
private String mExperimentalOptions;
- private long mMockCertVerifier;
+ protected long mMockCertVerifier;
private boolean mNetworkQualityEstimatorEnabled;
private String mCertVerifierData;
@@ -109,7 +101,6 @@ public class CronetEngineBuilderImpl extends ICronetEngineBuilder {
*/
public CronetEngineBuilderImpl(Context context) {
mApplicationContext = context.getApplicationContext();
- enableLegacyMode(false);
enableQuic(false);
enableHttp2(true);
enableSdch(false);
@@ -147,16 +138,6 @@ public class CronetEngineBuilderImpl extends ICronetEngineBuilder {
}
@Override
- public CronetEngineBuilderImpl enableLegacyMode(boolean value) {
- mLegacyModeEnabled = value;
- return this;
- }
-
- private boolean legacyMode() {
- return mLegacyModeEnabled;
- }
-
- @Override
public CronetEngineBuilderImpl setLibraryLoader(CronetEngine.Builder.LibraryLoader loader) {
mLibraryLoader = new VersionSafeCallbacks.LibraryLoader(loader);
return this;
@@ -441,60 +422,4 @@ public class CronetEngineBuilderImpl extends ICronetEngineBuilder {
Context getContext() {
return mApplicationContext;
}
-
- @Override
- public ExperimentalCronetEngine build() {
- final ClassLoader loader = getClass().getClassLoader();
- if (getUserAgent() == null) {
- setUserAgent(getDefaultUserAgent());
- }
-
- ExperimentalCronetEngine cronetEngine = null;
- if (!legacyMode()) {
- cronetEngine = createNativeCronetEngine(loader);
- }
- if (cronetEngine == null) {
- cronetEngine = createJavaCronetEngine(loader);
- }
-
- if (cronetEngine == null) {
- Log.i(TAG,
- "Class loader " + loader + " couldn't find any Cronet engine implementation.");
- } else {
- Log.i(TAG, loader.toString() + " found Cronet engine implementation "
- + cronetEngine.getClass() + ". Network stack version "
- + cronetEngine.getVersionString());
- // Clear MOCK_CERT_VERIFIER reference if there is any, since
- // the ownership has been transferred to the engine.
- mMockCertVerifier = 0;
- }
- return cronetEngine;
- }
-
- private ExperimentalCronetEngine createNativeCronetEngine(ClassLoader loader) {
- return createCronetEngine(loader, NATIVE_CRONET_IMPL_CLASS, this);
- }
-
- private ExperimentalCronetEngine createJavaCronetEngine(ClassLoader loader) {
- return createCronetEngine(loader, JAVA_CRONET_IMPL_CLASS, getUserAgent());
- }
-
- private ExperimentalCronetEngine createCronetEngine(
- ClassLoader loader, String name, Object argument) {
- ExperimentalCronetEngine cronetEngine = null;
- try {
- Class<? extends ExperimentalCronetEngine> engineClass =
- loader.loadClass(name).asSubclass(ExperimentalCronetEngine.class);
- Constructor<? extends ExperimentalCronetEngine> constructor =
- engineClass.getConstructor(argument.getClass());
- cronetEngine = constructor.newInstance(argument);
- } catch (ClassNotFoundException e) {
- // Leave as null.
- Log.i(TAG, "Class loader " + loader + " cannot find Cronet engine implementation: "
- + name + ". Will try to find an alternative implementation.");
- } catch (Exception e) {
- throw new IllegalStateException("Cannot instantiate: " + name, e);
- }
- return cronetEngine;
- }
}

Powered by Google App Engine
This is Rietveld 408576698