diff options
author | mef <mef@chromium.org> | 2016-02-24 16:17:15 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-25 00:19:34 +0000 |
commit | f473eb8f7821c7e963fe748e6310d3167b0601e7 (patch) | |
tree | 01b121d63e74a075451885e10334d0431c21b1cb | |
parent | 976aa482ec9b479c14a48f356b4e7e1343295fb8 (diff) | |
download | chromium_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}
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(), |