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

Side by Side Diff: components/cronet/android/api/src/org/chromium/net/CronetEngine.java

Issue 1635033002: Revert of Add API for custom library loading (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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 unified diff | Download patch
« no previous file with comments | « no previous file | components/cronet/android/java/src/org/chromium/net/CronetLibraryLoader.java » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.net; 5 package org.chromium.net;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.support.annotation.IntDef; 8 import android.support.annotation.IntDef;
9 import android.support.annotation.Nullable; 9 import android.support.annotation.Nullable;
10 import android.util.Log; 10 import android.util.Log;
(...skipping 23 matching lines...) Expand all
34 * An engine to process {@link UrlRequest}s, which uses the best HTTP stack 34 * An engine to process {@link UrlRequest}s, which uses the best HTTP stack
35 * available on the current platform. 35 * available on the current platform.
36 */ 36 */
37 public abstract class CronetEngine { 37 public abstract class CronetEngine {
38 /** 38 /**
39 * A builder for {@link CronetEngine}s, which allows runtime configuration o f 39 * A builder for {@link CronetEngine}s, which allows runtime configuration o f
40 * {@code CronetEngine}. Configuration options are set on the builder and 40 * {@code CronetEngine}. Configuration options are set on the builder and
41 * then {@link #build} is called to create the {@code CronetEngine}. 41 * then {@link #build} is called to create the {@code CronetEngine}.
42 */ 42 */
43 public static class Builder { 43 public static class Builder {
44 /**
45 * A class which provides a method for loading the cronet native library . Apps needing to
46 * implement custom library loading logic can inherit from this class an d pass an instance
47 * to {@link CronetEngine.Builder#setLibraryLoader}. For example, this m ight be required
48 * to work around {@code UnsatisfiedLinkError}s caused by flaky installa tion on certain
49 * older devices.
50 */
51 public abstract static class LibraryLoader {
52 /**
53 * Loads the native library.
54 * @param libName name of the library to load
55 */
56 public abstract void loadLibrary(String libName);
57 }
58
59 // A hint that a host supports QUIC. 44 // A hint that a host supports QUIC.
60 static class QuicHint { 45 static class QuicHint {
61 // The host. 46 // The host.
62 final String mHost; 47 final String mHost;
63 // Port of the server that supports QUIC. 48 // Port of the server that supports QUIC.
64 final int mPort; 49 final int mPort;
65 // Alternate protocol port. 50 // Alternate protocol port.
66 final int mAlternatePort; 51 final int mAlternatePort;
67 52
68 QuicHint(String host, int port, int alternatePort) { 53 QuicHint(String host, int port, int alternatePort) {
(...skipping 25 matching lines...) Expand all
94 private static final Pattern INVALID_PKP_HOST_NAME = Pattern.compile("^[ 0-9\\.]*$"); 79 private static final Pattern INVALID_PKP_HOST_NAME = Pattern.compile("^[ 0-9\\.]*$");
95 80
96 // Private fields are simply storage of configuration for the resulting CronetEngine. 81 // Private fields are simply storage of configuration for the resulting CronetEngine.
97 // See setters below for verbose descriptions. 82 // See setters below for verbose descriptions.
98 private final Context mContext; 83 private final Context mContext;
99 private final List<QuicHint> mQuicHints = new LinkedList<QuicHint>(); 84 private final List<QuicHint> mQuicHints = new LinkedList<QuicHint>();
100 private final List<Pkp> mPkps = new LinkedList<Pkp>(); 85 private final List<Pkp> mPkps = new LinkedList<Pkp>();
101 private String mUserAgent; 86 private String mUserAgent;
102 private String mStoragePath; 87 private String mStoragePath;
103 private boolean mLegacyModeEnabled; 88 private boolean mLegacyModeEnabled;
104 private LibraryLoader mLibraryLoader;
105 private String mLibraryName; 89 private String mLibraryName;
106 private boolean mQuicEnabled; 90 private boolean mQuicEnabled;
107 private boolean mHttp2Enabled; 91 private boolean mHttp2Enabled;
108 private boolean mSdchEnabled; 92 private boolean mSdchEnabled;
109 private String mDataReductionProxyKey; 93 private String mDataReductionProxyKey;
110 private String mDataReductionProxyPrimaryProxy; 94 private String mDataReductionProxyPrimaryProxy;
111 private String mDataReductionProxyFallbackProxy; 95 private String mDataReductionProxyFallbackProxy;
112 private String mDataReductionProxySecureProxyCheckUrl; 96 private String mDataReductionProxySecureProxyCheckUrl;
113 private boolean mDisableCache; 97 private boolean mDisableCache;
114 private int mHttpCacheMode; 98 private int mHttpCacheMode;
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 180
197 /** 181 /**
198 * Overrides the name of the native library backing Cronet. 182 * Overrides the name of the native library backing Cronet.
199 * @return the builder to facilitate chaining. 183 * @return the builder to facilitate chaining.
200 */ 184 */
201 Builder setLibraryName(String libName) { 185 Builder setLibraryName(String libName) {
202 mLibraryName = libName; 186 mLibraryName = libName;
203 return this; 187 return this;
204 } 188 }
205 189
206 /** 190 String libraryName() {
207 * Sets a {@link LibraryLoader} to be used to load the native library. 191 return mLibraryName;
208 * If not set, the library will be loaded using {@link System#loadLibrar y}.
209 * @return the builder to facilitate chaining.
210 */
211 public Builder setLibraryLoader(LibraryLoader loader) {
212 mLibraryLoader = loader;
213 return this;
214 }
215
216 void loadLibrary() {
217 if (mLibraryLoader == null) {
218 System.loadLibrary(mLibraryName);
219 } else {
220 mLibraryLoader.loadLibrary(mLibraryName);
221 }
222 } 192 }
223 193
224 /** 194 /**
225 * Sets whether <a href="https://www.chromium.org/quic">QUIC</a> protoco l 195 * Sets whether <a href="https://www.chromium.org/quic">QUIC</a> protoco l
226 * is enabled. Defaults to disabled. 196 * is enabled. Defaults to disabled.
227 * @return the builder to facilitate chaining. 197 * @return the builder to facilitate chaining.
228 */ 198 */
229 public Builder enableQUIC(boolean value) { 199 public Builder enableQUIC(boolean value) {
230 mQuicEnabled = value; 200 mQuicEnabled = value;
231 return this; 201 return this;
(...skipping 824 matching lines...) Expand 10 before | Expand all | Expand 10 after
1056 * Interface to listen for finished requests that were created via this Cron etEngine instance. 1026 * Interface to listen for finished requests that were created via this Cron etEngine instance.
1057 * 1027 *
1058 * @deprecated not really deprecated but hidden for now as it's a prototype. 1028 * @deprecated not really deprecated but hidden for now as it's a prototype.
1059 */ 1029 */
1060 @Deprecated 1030 @Deprecated
1061 public interface RequestFinishedListener { // TODO(klm): Add a convenience a bstract class. 1031 public interface RequestFinishedListener { // TODO(klm): Add a convenience a bstract class.
1062 /** Invoked with request info. */ 1032 /** Invoked with request info. */
1063 void onRequestFinished(UrlRequestInfo requestInfo); 1033 void onRequestFinished(UrlRequestInfo requestInfo);
1064 } 1034 }
1065 } 1035 }
OLDNEW
« no previous file with comments | « no previous file | components/cronet/android/java/src/org/chromium/net/CronetLibraryLoader.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698