Commit 75b911ca authored by clm's avatar clm Committed by Commit bot

Remove required call to library loader in favor of configuration.

BUG=

Review URL: https://codereview.chromium.org/574843003

Cr-Commit-Position: refs/heads/master@{#295249}
parent 6ed88af6
......@@ -212,7 +212,6 @@
'**/ChromiumUrlRequestError.java',
'**/ChromiumUrlRequestFactory.java',
'**/ChromiumUrlRequestPriority.java',
'**/LibraryLoader.java',
'**/UsedByReflection.java',
],
},
......
......@@ -23,6 +23,7 @@ public class ChromiumUrlRequestFactory extends HttpUrlRequestFactory {
public ChromiumUrlRequestFactory(
Context context, HttpUrlRequestFactoryConfig config) {
if (isEnabled()) {
System.loadLibrary(config.libraryName());
mRequestContext = new ChromiumUrlRequestContext(
context.getApplicationContext(), UserAgent.from(context),
config.toString());
......
......@@ -13,6 +13,7 @@ import org.json.JSONObject;
* HttpUrlRequestFactory.
*/
public class HttpUrlRequestFactoryConfig {
/**
* Default config enables SPDY, QUIC, in memory http cache.
*/
......@@ -23,6 +24,13 @@ public class HttpUrlRequestFactoryConfig {
enableHttpCache(HttpCache.IN_MEMORY, 100 * 1024);
}
/**
* Override the name of the native library backing cronet.
*/
public HttpUrlRequestFactoryConfig setLibraryName(String libName) {
return putString(UrlRequestContextConfig.NATIVE_LIBRARY_NAME, libName);
}
/**
* Create config from json serialized using @toString.
*/
......@@ -38,7 +46,7 @@ public class HttpUrlRequestFactoryConfig {
return putBoolean(UrlRequestContextConfig.ENABLE_LEGACY_MODE, value);
}
public boolean legacyMode() {
boolean legacyMode() {
return mConfig.optBoolean(UrlRequestContextConfig.ENABLE_LEGACY_MODE);
}
......@@ -56,6 +64,11 @@ public class HttpUrlRequestFactoryConfig {
return putBoolean(UrlRequestContextConfig.ENABLE_SPDY, value);
}
String libraryName() {
return mConfig.optString(UrlRequestContextConfig.NATIVE_LIBRARY_NAME,
"cronet");
}
/**
* Enumeration, Disable or Enable Disk or Memory Cache and specify its
* maximum size in bytes.
......
// Copyright 2014 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 android.util.Log;
/**
* Cronet Library Loader.
*/
public class LibraryLoader {
private static final String TAG = "LibraryLoader";
private static Boolean sInitialized = false;
public static void ensureInitialized() throws UnsatisfiedLinkError {
if (sInitialized)
return;
sInitialized = true;
System.loadLibrary("cronet");
Log.i(TAG, "libcronet initialization success.");
}
}
......@@ -19,7 +19,6 @@ import org.chromium.net.HttpUrlRequest;
import org.chromium.net.HttpUrlRequestFactory;
import org.chromium.net.HttpUrlRequestFactoryConfig;
import org.chromium.net.HttpUrlRequestListener;
import org.chromium.net.LibraryLoader;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
......@@ -86,14 +85,6 @@ public class CronetSampleActivity extends Activity {
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
LibraryLoader.ensureInitialized();
} catch (UnsatisfiedLinkError e) {
Log.e(TAG, "libcronet_sample initialization failed.", e);
finish();
return;
}
HttpUrlRequestFactoryConfig config = new HttpUrlRequestFactoryConfig();
config.enableHttpCache(HttpUrlRequestFactoryConfig.HttpCache.IN_MEMORY,
100 * 1024)
......
......@@ -234,6 +234,8 @@ public class CronetUrlTest extends CronetTestBase {
public void testLegacyLoadUrl() throws Exception {
HttpUrlRequestFactoryConfig config = new HttpUrlRequestFactoryConfig();
config.enableLegacyMode(true);
// TODO(mef) fix tests so that library isn't loaded for legacy stack
config.setLibraryName("cronet_tests");
String[] commandLineArgs = {
CronetTestActivity.CONFIG_KEY, config.toString() };
......
......@@ -26,6 +26,7 @@ public class HttpUrlRequestFactoryTest extends CronetTestBase {
config.enableQUIC(true);
config.addQuicHint("www.google.com", 443, 443);
config.addQuicHint("www.youtube.com", 443, 443);
config.setLibraryName("cronet_tests");
String[] commandLineArgs = {
CronetTestActivity.CONFIG_KEY, config.toString() };
CronetTestActivity activity =
......
......@@ -61,14 +61,6 @@ public class CronetTestActivity extends Activity {
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
System.loadLibrary("cronet_tests");
} catch (UnsatisfiedLinkError e) {
Log.e(TAG, "libcronet_test initialization failed.", e);
finish();
return;
}
HttpUrlRequestFactoryConfig config = new HttpUrlRequestFactoryConfig();
config.enableHttpCache(HttpUrlRequestFactoryConfig.HttpCache.IN_MEMORY,
100 * 1024)
......@@ -88,6 +80,9 @@ public class CronetTestActivity extends Activity {
}
}
// Setting this here so it isn't overridden on the command line
config.setLibraryName("cronet_tests");
mRequestFactory = HttpUrlRequestFactory.createFactory(
getApplicationContext(), config);
......
......@@ -10,6 +10,7 @@
// See HttpUrlRequestFactoryConfig.java for description of these parameters.
DEFINE_CONTEXT_CONFIG(STORAGE_PATH)
DEFINE_CONTEXT_CONFIG(ENABLE_LEGACY_MODE)
DEFINE_CONTEXT_CONFIG(NATIVE_LIBRARY_NAME)
DEFINE_CONTEXT_CONFIG(ENABLE_QUIC)
DEFINE_CONTEXT_CONFIG(ENABLE_SPDY)
DEFINE_CONTEXT_CONFIG(HTTP_CACHE)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment