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

Issue 981013002: [Cronet] Make sure to only pass the application Context to InitApplicationContext to avoid DCHECK fa (Closed)

Created:
5 years, 9 months ago by pauljensen
Modified:
5 years, 9 months ago
Reviewers:
mef, mmenke, xunjieli
CC:
chromium-reviews, cbentzel+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[Cronet] Make sure to only pass the application Context to InitApplicationContext to avoid DCHECK failures. An application may have multiple Contexts but only one application Context. InitApplicationContext DCHECKs if passed more than one Context, so make sure to always pass it only the application Context. Also, clean up other uses of Contexts in Cronet to only use the application Context when necessary. Unnecessarily using the application Context was hiding the bug this CL fixes. I'm renaming variables to make it clear where an application context is needed versus where any Context is okay. It's good practice to use the Context explicitly passed in as the wrapping it provides may add additional functionality on top of wrapped Contexts and the application Context. Also, add a test that Cronet can be simultaneously instantiated upon a Context, a wrapped version of the Context and the application Context to verify Cronet doesn't DCHECK. BUG=453845 Committed: https://crrev.com/6c10657ea6fc4bfe370e61fde5d0405aa22b0e81 Cr-Commit-Position: refs/heads/master@{#319622}

Patch Set 1 : #

Total comments: 13

Patch Set 2 : add ChromiumUrlRequestContext test too #

Unified diffs Side-by-side diffs Delta from patch set Stats (+63 lines, -27 lines) Patch
M components/cronet/android/chromium_url_request_context.cc View 2 chunks +4 lines, -3 lines 0 comments Download
M components/cronet/android/cronet_library_loader.cc View 1 chunk +4 lines, -3 lines 0 comments Download
M components/cronet/android/java/src/org/chromium/net/ChromiumUrlRequestContext.java View 2 chunks +3 lines, -3 lines 0 comments Download
M components/cronet/android/java/src/org/chromium/net/ChromiumUrlRequestFactory.java View 1 chunk +1 line, -2 lines 0 comments Download
M components/cronet/android/java/src/org/chromium/net/CronetLibraryLoader.java View 1 chunk +2 lines, -2 lines 0 comments Download
M components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java View 2 chunks +2 lines, -3 lines 0 comments Download
M components/cronet/android/java/src/org/chromium/net/HttpUrlConnectionUrlRequestFactory.java View 1 chunk +1 line, -1 line 0 comments Download
M components/cronet/android/sample/src/org/chromium/cronet_sample_apk/CronetSampleActivity.java View 2 chunks +2 lines, -4 lines 0 comments Download
M components/cronet/android/test/javatests/src/org/chromium/net/ContextInitTest.java View 1 2 chunks +21 lines, -0 lines 0 comments Download
M components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java View 1 3 chunks +20 lines, -2 lines 0 comments Download
M components/cronet/android/test/src/org/chromium/net/CronetTestActivity.java View 2 chunks +3 lines, -4 lines 0 comments Download

Messages

Total messages: 19 (4 generated)
pauljensen
PTAL, thanks!
5 years, 9 months ago (2015-03-06 13:11:05 UTC) #3
xunjieli
On 2015/03/06 13:11:05, pauljensen wrote: > PTAL, thanks! LGTM. thanks for the fix!
5 years, 9 months ago (2015-03-06 14:45:41 UTC) #4
xunjieli
https://codereview.chromium.org/981013002/diff/20001/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java File components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java (right): https://codereview.chromium.org/981013002/diff/20001/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java#newcode600 components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java:600: public void testInitDifferentContexts() throws Exception { Btw, should we ...
5 years, 9 months ago (2015-03-06 14:50:31 UTC) #5
mmenke
https://codereview.chromium.org/981013002/diff/20001/components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java File components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java (right): https://codereview.chromium.org/981013002/diff/20001/components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java#newcode44 components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java:44: CronetLibraryLoader.ensureInitialized(context, config); Should this also use getApplicationContext? Also, I ...
5 years, 9 months ago (2015-03-06 15:58:28 UTC) #6
pauljensen
https://codereview.chromium.org/981013002/diff/20001/components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java File components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java (right): https://codereview.chromium.org/981013002/diff/20001/components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java#newcode44 components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java:44: CronetLibraryLoader.ensureInitialized(context, config); On 2015/03/06 15:58:28, mmenke wrote: > Should ...
5 years, 9 months ago (2015-03-06 16:21:15 UTC) #7
mmenke
https://codereview.chromium.org/981013002/diff/20001/components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java File components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java (right): https://codereview.chromium.org/981013002/diff/20001/components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java#newcode44 components/cronet/android/java/src/org/chromium/net/CronetUrlRequestContext.java:44: CronetLibraryLoader.ensureInitialized(context, config); On 2015/03/06 16:21:15, pauljensen wrote: > On ...
5 years, 9 months ago (2015-03-06 16:52:24 UTC) #8
mef
https://codereview.chromium.org/981013002/diff/20001/components/cronet/android/chromium_url_request_context.cc File components/cronet/android/chromium_url_request_context.cc (right): https://codereview.chromium.org/981013002/diff/20001/components/cronet/android/chromium_url_request_context.cc#newcode88 components/cronet/android/chromium_url_request_context.cc:88: // Set application context. Do we need to call ...
5 years, 9 months ago (2015-03-06 16:55:55 UTC) #9
pauljensen
https://codereview.chromium.org/981013002/diff/20001/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java File components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java (right): https://codereview.chromium.org/981013002/diff/20001/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java#newcode608 components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java:608: mActivity.getApplicationContext(), new UrlRequestContextConfig()); On 2015/03/06 16:52:23, mmenke wrote: > ...
5 years, 9 months ago (2015-03-06 16:57:28 UTC) #10
pauljensen
https://codereview.chromium.org/981013002/diff/20001/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java File components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java (right): https://codereview.chromium.org/981013002/diff/20001/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java#newcode600 components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java:600: public void testInitDifferentContexts() throws Exception { On 2015/03/06 14:50:31, ...
5 years, 9 months ago (2015-03-06 17:01:53 UTC) #11
mmenke
Thanks for bearing with me. LGTM.
5 years, 9 months ago (2015-03-06 17:07:48 UTC) #12
pauljensen
https://codereview.chromium.org/981013002/diff/20001/components/cronet/android/chromium_url_request_context.cc File components/cronet/android/chromium_url_request_context.cc (right): https://codereview.chromium.org/981013002/diff/20001/components/cronet/android/chromium_url_request_context.cc#newcode88 components/cronet/android/chromium_url_request_context.cc:88: // Set application context. On 2015/03/06 16:55:55, mef wrote: ...
5 years, 9 months ago (2015-03-06 17:16:52 UTC) #13
mef
https://codereview.chromium.org/981013002/diff/20001/components/cronet/android/chromium_url_request_context.cc File components/cronet/android/chromium_url_request_context.cc (right): https://codereview.chromium.org/981013002/diff/20001/components/cronet/android/chromium_url_request_context.cc#newcode88 components/cronet/android/chromium_url_request_context.cc:88: // Set application context. On 2015/03/06 17:16:52, pauljensen wrote: ...
5 years, 9 months ago (2015-03-06 17:23:14 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/981013002/40001
5 years, 9 months ago (2015-03-09 13:09:43 UTC) #17
commit-bot: I haz the power
Committed patchset #2 (id:40001)
5 years, 9 months ago (2015-03-09 13:41:46 UTC) #18
commit-bot: I haz the power
5 years, 9 months ago (2015-03-09 13:42:23 UTC) #19
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/6c10657ea6fc4bfe370e61fde5d0405aa22b0e81
Cr-Commit-Position: refs/heads/master@{#319622}

Powered by Google App Engine
This is Rietveld 408576698