| Index: components/cronet/android/java/src/org/chromium/net/CronetEngine.java
|
| diff --git a/components/cronet/android/java/src/org/chromium/net/CronetEngine.java b/components/cronet/android/java/src/org/chromium/net/CronetEngine.java
|
| index 2de7e8d001ef96e49d84d07f5305d474fdbcc03e..31334aa9fc0999c8777fb005687563a4525329ef 100644
|
| --- a/components/cronet/android/java/src/org/chromium/net/CronetEngine.java
|
| +++ b/components/cronet/android/java/src/org/chromium/net/CronetEngine.java
|
| @@ -13,6 +13,10 @@ import org.json.JSONObject;
|
|
|
| import java.io.File;
|
| import java.lang.reflect.Constructor;
|
| +import java.net.Proxy;
|
| +import java.net.URL;
|
| +import java.net.URLConnection;
|
| +import java.net.URLStreamHandlerFactory;
|
| import java.util.concurrent.Executor;
|
|
|
| /**
|
| @@ -167,6 +171,8 @@ public abstract class CronetEngine {
|
| * proxy is allowed.
|
| * @return the builder to facilitate chaining.
|
| * @hide
|
| + * @deprecated Marked as deprecated because @hide doesn't properly hide but
|
| + * javadocs are built with nodeprecated="yes".
|
| */
|
| public Builder setDataReductionProxyOptions(
|
| String primaryProxy, String fallbackProxy, String secureProxyCheckUrl) {
|
| @@ -371,7 +377,7 @@ public abstract class CronetEngine {
|
| * priorities see {@link #createRequest(String, UrlRequestListener,
|
| * Executor, int priority)}.
|
| *
|
| - * @param url {@link java.net.URL} for the request.
|
| + * @param url {@link URL} for the request.
|
| * @param listener callback class that gets called on different events.
|
| * @param executor {@link Executor} on which all callbacks will be called.
|
| * @return new request.
|
| @@ -387,7 +393,7 @@ public abstract class CronetEngine {
|
| * tasks on the current thread to prevent blocking networking operations
|
| * and causing exceptions during shutdown.
|
| *
|
| - * @param url {@link java.net.URL} for the request.
|
| + * @param url {@link URL} for the request.
|
| * @param listener callback class that gets called on different events.
|
| * @param executor {@link Executor} on which all callbacks will be called.
|
| * @param priority priority of the request which should be one of the
|
| @@ -517,6 +523,68 @@ public abstract class CronetEngine {
|
| public abstract void removeThroughputListener(NetworkQualityThroughputListener listener);
|
|
|
| /**
|
| + * Establishes a new connection to the resource specified by the {@link URL} {@code url}.
|
| + * <p>
|
| + * <b>Note:</b> Cronet's {@link java.net.HttpURLConnection} implementation is subject to certain
|
| + * limitations, see {@link #createURLStreamHandlerFactory} for details.
|
| + *
|
| + * @param url URL of resource to connect to.
|
| + * @return an {@link java.net.HttpURLConnection} instance implemented by this CronetEngine.
|
| + */
|
| + public abstract URLConnection openConnection(URL url);
|
| +
|
| + /**
|
| + * Establishes a new connection to the resource specified by the {@link URL} {@code url}
|
| + * using the given proxy.
|
| + * <p>
|
| + * <b>Note:</b> Cronet's {@link java.net.HttpURLConnection} implementation is subject to certain
|
| + * limitations, see {@link #createURLStreamHandlerFactory} for details.
|
| + *
|
| + * @param url URL of resource to connect to.
|
| + * @param proxy proxy to use when establishing connection.
|
| + * @return an {@link java.net.HttpURLConnection} instance implemented by this CronetEngine.
|
| + * @hide
|
| + * @deprecated Marked as deprecated because @hide doesn't properly hide but
|
| + * javadocs are built with nodeprecated="yes".
|
| + * TODO(pauljensen): Expose once implemented, http://crbug.com/418111
|
| + */
|
| + public abstract URLConnection openConnection(URL url, Proxy proxy);
|
| +
|
| + /**
|
| + * Creates a {@link URLStreamHandlerFactory} to handle HTTP and HTTPS
|
| + * traffic. An instance of this class can be installed via
|
| + * {@link URL#setURLStreamHandlerFactory} thus using this CronetEngine by default for
|
| + * all requests created via {@link URL#openConnection}.
|
| + * <p>
|
| + * Cronet does not use certain HTTP features provided via the system:
|
| + * <ul>
|
| + * <li>the HTTP cache installed via
|
| + * {@link android.net.http.HttpResponseCache#install(java.io.File, long)
|
| + * HttpResponseCache.install()}</li>
|
| + * <li>the HTTP authentication method installed via
|
| + * {@link java.net.Authenticator#setDefault}</li>
|
| + * <li>the HTTP cookie storage installed via {@link java.net.CookieHandler#setDefault}</li>
|
| + * </ul>
|
| + * <p>
|
| + * While Cronet supports and encourages requests using the HTTPS protocol,
|
| + * Cronet does not provide support for the
|
| + * {@link javax.net.ssl.HttpsURLConnection} API. This lack of support also
|
| + * includes not using certain HTTPS features provided via the system:
|
| + * <ul>
|
| + * <li>the HTTPS hostname verifier installed via {@link
|
| + * javax.net.ssl.HttpsURLConnection#setDefaultHostnameVerifier(javax.net.ssl.HostnameVerifier)
|
| + * HttpsURLConnection.setDefaultHostnameVerifier()}</li>
|
| + * <li>the HTTPS socket factory installed via {@link
|
| + * javax.net.ssl.HttpsURLConnection#setDefaultSSLSocketFactory(javax.net.ssl.SSLSocketFactory)
|
| + * HttpsURLConnection.setDefaultSSLSocketFactory()}</li>
|
| + * </ul>
|
| + *
|
| + * @return an {@link URLStreamHandlerFactory} instance implemented by this
|
| + * CronetEngine.
|
| + */
|
| + public abstract URLStreamHandlerFactory createURLStreamHandlerFactory();
|
| +
|
| + /**
|
| * Creates a {@link CronetEngine} with the given {@link Builder}.
|
| * @param context Android {@link Context}.
|
| * @param config engine configuration.
|
|
|