| Index: components/cronet/android/api/src/org/chromium/net/ExperimentalUrlRequest.java
|
| diff --git a/components/cronet/android/api/src/org/chromium/net/ExperimentalUrlRequest.java b/components/cronet/android/api/src/org/chromium/net/ExperimentalUrlRequest.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..39c26b70e4a2dd6aff3518115828fee9dc75e373
|
| --- /dev/null
|
| +++ b/components/cronet/android/api/src/org/chromium/net/ExperimentalUrlRequest.java
|
| @@ -0,0 +1,65 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +package org.chromium.net;
|
| +
|
| +import java.util.concurrent.Executor;
|
| +
|
| +/**
|
| + * {@link UrlRequest} that exposes experimental features. Created using
|
| + * {@link ExperimentalUrlRequest.Builder}. Every instance of {@link UrlRequest} can
|
| + * be casted to an instance of this class.
|
| + *
|
| + * {@hide since this class exposes experimental features that should be hidden}.
|
| + */
|
| +public abstract class ExperimentalUrlRequest extends UrlRequest {
|
| + /**
|
| + * Builder for building {@link UrlRequest}. Created by
|
| + * {@link ExperimentalCronetEngine#newUrlRequestBuilder}. A reference to this class
|
| + * can also be obtained through downcasting of {@link UrlRequest.Builder}.
|
| + */
|
| + public abstract static class Builder extends UrlRequest.Builder {
|
| + /**
|
| + * Disables connection migration for the request if enabled for
|
| + * the session.
|
| + * @return the builder to facilitate chaining.
|
| + */
|
| + public abstract Builder disableConnectionMigration();
|
| +
|
| + /**
|
| + * Associates the annotation object with this request. May add more than one.
|
| + * Passed through to a {@link RequestFinishedInfo.Listener},
|
| + * see {@link RequestFinishedInfo#getAnnotations}.
|
| + *
|
| + * @param annotation an object to pass on to the {@link RequestFinishedInfo.Listener} with a
|
| + * {@link RequestFinishedInfo}.
|
| + * @return the builder to facilitate chaining.
|
| + */
|
| + public abstract Builder addRequestAnnotation(Object annotation);
|
| +
|
| + // To support method chaining, override superclass methods to return an
|
| + // instance of this class instead of the parent.
|
| +
|
| + @Override
|
| + public abstract Builder setHttpMethod(String method);
|
| +
|
| + @Override
|
| + public abstract Builder addHeader(String header, String value);
|
| +
|
| + @Override
|
| + public abstract Builder disableCache();
|
| +
|
| + @Override
|
| + public abstract Builder setPriority(int priority);
|
| +
|
| + @Override
|
| + public abstract Builder setUploadDataProvider(
|
| + UploadDataProvider uploadDataProvider, Executor executor);
|
| +
|
| + @Override
|
| + public abstract Builder allowDirectExecutor();
|
| +
|
| + @Override
|
| + public abstract ExperimentalUrlRequest build();
|
| + }
|
| +}
|
|
|