summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormef <mef@chromium.org>2016-02-24 16:17:15 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-25 00:19:34 +0000
commitf473eb8f7821c7e963fe748e6310d3167b0601e7 (patch)
tree01b121d63e74a075451885e10334d0431c21b1cb
parent976aa482ec9b479c14a48f356b4e7e1343295fb8 (diff)
downloadchromium_src-f473eb8f7821c7e963fe748e6310d3167b0601e7.zip
chromium_src-f473eb8f7821c7e963fe748e6310d3167b0601e7.tar.gz
chromium_src-f473eb8f7821c7e963fe748e6310d3167b0601e7.tar.bz2
[Cronet] Explicitly pass Context to getDefaultQuicUserAgentId to avoid crash in legacy API.
BUG=575771 Review URL: https://codereview.chromium.org/1733753002 Cr-Commit-Position: refs/heads/master@{#377434}
-rw-r--r--components/cronet/android/api/src/org/chromium/net/CronetEngine.java6
-rw-r--r--components/cronet/android/java/src/org/chromium/net/ChromiumUrlRequestContext.java6
-rw-r--r--components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java14
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java2
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/HttpUrlRequestFactoryTest.java16
5 files changed, 22 insertions, 22 deletions
diff --git a/components/cronet/android/api/src/org/chromium/net/CronetEngine.java b/components/cronet/android/api/src/org/chromium/net/CronetEngine.java
index a249839..b92afc3 100644
--- a/components/cronet/android/api/src/org/chromium/net/CronetEngine.java
+++ b/components/cronet/android/api/src/org/chromium/net/CronetEngine.java
@@ -258,10 +258,12 @@ public abstract class CronetEngine {
* Constructs default QUIC User Agent Id string including application name
* and Cronet version. Returns empty string if QUIC is not enabled.
*
+ * @param context Android {@link Context} to get package name from.
* @return QUIC User Agent ID string.
*/
- String getDefaultQuicUserAgentId() {
- return mQuicEnabled ? UserAgent.getQuicUserAgentIdFrom(mContext) : "";
+ // TODO(mef): remove |context| parameter when legacy ChromiumUrlRequestContext is removed.
+ String getDefaultQuicUserAgentId(Context context) {
+ return mQuicEnabled ? UserAgent.getQuicUserAgentIdFrom(context) : "";
}
/**
diff --git a/components/cronet/android/java/src/org/chromium/net/ChromiumUrlRequestContext.java b/components/cronet/android/java/src/org/chromium/net/ChromiumUrlRequestContext.java
index 9b252fc..fdf9daf 100644
--- a/components/cronet/android/java/src/org/chromium/net/ChromiumUrlRequestContext.java
+++ b/components/cronet/android/java/src/org/chromium/net/ChromiumUrlRequestContext.java
@@ -36,9 +36,9 @@ public class ChromiumUrlRequestContext {
protected ChromiumUrlRequestContext(
final Context context, String userAgent, CronetEngine.Builder config) {
CronetLibraryLoader.ensureInitialized(context, config);
- mChromiumUrlRequestContextAdapter =
- nativeCreateRequestContextAdapter(userAgent, getLoggingLevel(),
- CronetUrlRequestContext.createNativeUrlRequestContextConfig(config));
+ mChromiumUrlRequestContextAdapter = nativeCreateRequestContextAdapter(userAgent,
+ getLoggingLevel(),
+ CronetUrlRequestContext.createNativeUrlRequestContextConfig(context, config));
if (mChromiumUrlRequestContextAdapter == 0) {
throw new NullPointerException("Context Adapter creation failed");
}
diff --git a/components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java b/components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java
index ae28ecb..5d5dc48 100644
--- a/components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java
+++ b/components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java
@@ -4,6 +4,7 @@
package org.chromium.net;
+import android.content.Context;
import android.os.Build;
import android.os.ConditionVariable;
import android.os.Handler;
@@ -78,8 +79,8 @@ class CronetUrlRequestContext extends CronetEngine {
public CronetUrlRequestContext(CronetEngine.Builder builder) {
CronetLibraryLoader.ensureInitialized(builder.getContext(), builder);
nativeSetMinLogLevel(getLoggingLevel());
- mUrlRequestContextAdapter =
- nativeCreateRequestContextAdapter(createNativeUrlRequestContextConfig(builder));
+ mUrlRequestContextAdapter = nativeCreateRequestContextAdapter(
+ createNativeUrlRequestContextConfig(builder.getContext(), builder));
if (mUrlRequestContextAdapter == 0) {
throw new NullPointerException("Context Adapter creation failed.");
}
@@ -104,12 +105,13 @@ class CronetUrlRequestContext extends CronetEngine {
}
}
- static long createNativeUrlRequestContextConfig(CronetEngine.Builder builder) {
+ static long createNativeUrlRequestContextConfig(
+ final Context context, CronetEngine.Builder builder) {
final long urlRequestContextConfig = nativeCreateRequestContextConfig(
builder.getUserAgent(), builder.storagePath(), builder.quicEnabled(),
- builder.getDefaultQuicUserAgentId(), builder.http2Enabled(), builder.sdchEnabled(),
- builder.dataReductionProxyKey(), builder.dataReductionProxyPrimaryProxy(),
- builder.dataReductionProxyFallbackProxy(),
+ builder.getDefaultQuicUserAgentId(context), builder.http2Enabled(),
+ builder.sdchEnabled(), builder.dataReductionProxyKey(),
+ builder.dataReductionProxyPrimaryProxy(), builder.dataReductionProxyFallbackProxy(),
builder.dataReductionProxySecureProxyCheckUrl(), builder.cacheDisabled(),
builder.httpCacheMode(), builder.httpCacheMaxSize(), builder.experimentalOptions(),
builder.mockCertVerifier());
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
index 28d02f3..0b4956c 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
@@ -953,7 +953,7 @@ public class CronetUrlRequestContextTest extends CronetTestBase {
builder.setDataReductionProxyOptions("mnop", "qrst", "uvwx");
builder.setStoragePath(CronetTestFramework.getTestStorage(getContext()));
nativeVerifyUrlRequestContextConfig(
- CronetUrlRequestContext.createNativeUrlRequestContextConfig(builder),
+ CronetUrlRequestContext.createNativeUrlRequestContextConfig(getContext(), builder),
CronetTestFramework.getTestStorage(getContext()));
}
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/HttpUrlRequestFactoryTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/HttpUrlRequestFactoryTest.java
index 6b455e9..ffc725f 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/HttpUrlRequestFactoryTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/HttpUrlRequestFactoryTest.java
@@ -25,16 +25,12 @@ public class HttpUrlRequestFactoryTest extends CronetTestBase {
@SmallTest
@Feature({"Cronet"})
public void testCreateFactory() throws Throwable {
- CronetEngine.Builder builder = new CronetEngine.Builder(getContext());
- builder.enableQUIC(true);
- builder.addQuicHint("www.google.com", 443, 443);
- builder.addQuicHint("www.youtube.com", 443, 443);
- builder.setLibraryName("cronet_tests");
- String[] commandLineArgs = {
- CronetTestFramework.LIBRARY_INIT_KEY, CronetTestFramework.LibraryInitType.LEGACY};
- CronetTestFramework testFramework =
- new CronetTestFramework(URL, commandLineArgs, getContext(), builder);
- HttpUrlRequestFactory factory = testFramework.mRequestFactory;
+ HttpUrlRequestFactoryConfig config = new HttpUrlRequestFactoryConfig();
+ config.enableQUIC(true);
+ config.addQuicHint("www.google.com", 443, 443);
+ config.addQuicHint("www.youtube.com", 443, 443);
+ config.setLibraryName("cronet_tests");
+ HttpUrlRequestFactory factory = HttpUrlRequestFactory.createFactory(getContext(), config);
assertNotNull("Factory should be created", factory);
assertTrue("Factory should be Chromium/n.n.n.n@r but is "
+ factory.getName(),