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

Issue 1307793003: Execute operations of ChildProcessLauncher on launcher thread (Closed)

Created:
5 years, 3 months ago by Jaekyun Seok (inactive)
Modified:
5 years, 1 month ago
CC:
chromium-reviews, darin-cc_chromium.org, jam, Maria, Jinsuk Kim
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Execute operations of ChildProcessLauncher on launcher thread - run all codes accessing BindingManager on launcher thread except isOomProtected() - check checkCalledOnProcessLauncherThread for public methods of BindingManagerImpl except isOomProtected() - avoid NPE in ManagedConnection.isOomProtected - remove unnecessary codes for thread safe BUG=515715

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : Move operations on mConnection out of synchronization #

Patch Set 5 : Execute operations on LauncherThread #

Patch Set 6 : Fix PrerenderServiceTest and ChildProcessLauncherTest #

Total comments: 22

Patch Set 7 : Apply Yaron's comments #

Total comments: 22

Patch Set 8 : Remove cleanup of mManagedConnections #

Patch Set 9 : Add checkIfCalledOnValidThread into inner classes of BindingManagerImpl #

Patch Set 10 : #

Patch Set 11 : Break down inner classes #

Patch Set 12 : #

Total comments: 2

Patch Set 13 : Resolve Yaron's comments #

Total comments: 24

Patch Set 14 : Apply Yaron's comments #

Total comments: 4

Patch Set 15 : Apply Yaron's comments #

Messages

Total messages: 43 (4 generated)
Jaekyun Seok (inactive)
sievers@, please review this CL.
5 years, 3 months ago (2015-08-26 03:26:10 UTC) #2
Jaekyun Seok (inactive)
On 2015/08/26 03:26:10, Jaekyun Seok wrote: > sievers@, please review this CL. Ping?
5 years, 3 months ago (2015-08-27 01:39:24 UTC) #3
Jaekyun Seok (inactive)
mariakhomenko@, could you please review this CL?
5 years, 3 months ago (2015-08-28 05:44:13 UTC) #5
Maria
Hey Jaekyun, I don't have that much experience with Java synchronization, so going to pass ...
5 years, 3 months ago (2015-08-28 22:03:14 UTC) #7
no sievers
Isn't that equivalent to just making all methods in ManagedConnection 'synchronized'?
5 years, 3 months ago (2015-08-29 00:15:19 UTC) #8
Jaekyun Seok (inactive)
On 2015/08/29 00:15:19, sievers wrote: > Isn't that equivalent to just making all methods in ...
5 years, 3 months ago (2015-08-31 00:50:44 UTC) #9
Jaekyun Seok (inactive)
On 2015/08/29 00:15:19, sievers wrote: > Isn't that equivalent to just making all methods in ...
5 years, 3 months ago (2015-08-31 00:50:44 UTC) #10
Yaron
On 2015/08/31 00:50:44, Jaekyun Seok wrote: > On 2015/08/29 00:15:19, sievers wrote: > > Isn't ...
5 years, 3 months ago (2015-08-31 17:33:36 UTC) #11
no sievers
On 2015/08/31 17:33:36, Yaron wrote: > On 2015/08/31 00:50:44, Jaekyun Seok wrote: > > On ...
5 years, 3 months ago (2015-09-01 00:56:32 UTC) #12
Jaekyun Seok (inactive)
On 2015/08/31 17:33:36, Yaron wrote: > On 2015/08/31 00:50:44, Jaekyun Seok wrote: > > On ...
5 years, 3 months ago (2015-09-01 02:01:22 UTC) #13
Jaekyun Seok (inactive)
On 2015/09/01 00:56:32, sievers wrote: > On 2015/08/31 17:33:36, Yaron wrote: > > On 2015/08/31 ...
5 years, 3 months ago (2015-09-01 02:04:21 UTC) #14
Yaron
On 2015/09/01 02:04:21, Jaekyun Seok wrote: > On 2015/09/01 00:56:32, sievers wrote: > > On ...
5 years, 3 months ago (2015-09-01 16:01:32 UTC) #15
Jaekyun Seok (inactive)
On 2015/09/01 16:01:32, Yaron wrote: > On 2015/09/01 02:04:21, Jaekyun Seok wrote: > > On ...
5 years, 3 months ago (2015-09-01 16:44:25 UTC) #16
Jaekyun Seok (inactive)
PTAL. I modified codes to execute all the operations of ChildProcessLauncher on launcher thread.
5 years, 3 months ago (2015-09-01 16:50:07 UTC) #17
Yaron
Honestly I'm struggling a bit with the review. It's hard to tell which operations should ...
5 years, 3 months ago (2015-09-04 16:04:04 UTC) #18
Jaekyun Seok (inactive)
On 2015/09/04 16:04:04, Yaron wrote: > Honestly I'm struggling a bit with the review. It's ...
5 years, 3 months ago (2015-09-08 05:40:05 UTC) #19
Jaekyun Seok (inactive)
PTAL. https://codereview.chromium.org/1307793003/diff/100001/content/browser/android/child_process_launcher_android.cc File content/browser/android/child_process_launcher_android.cc (right): https://codereview.chromium.org/1307793003/diff/100001/content/browser/android/child_process_launcher_android.cc#newcode237 content/browser/android/child_process_launcher_android.cc:237: jboolean RunOnLauncherThread(JNIEnv* env, jclass clazz, jobject runnable) { ...
5 years, 3 months ago (2015-09-08 09:45:12 UTC) #20
Yaron
Ugh, sorry I'm still struggling to review this and have confidence in its correctness. There ...
5 years, 3 months ago (2015-09-09 01:00:21 UTC) #21
Jaekyun Seok (inactive)
> Ugh, sorry I'm still struggling to review this and have confidence in its > ...
5 years, 3 months ago (2015-09-09 02:02:42 UTC) #22
Jaekyun Seok (inactive)
PTAL.
5 years, 3 months ago (2015-09-09 02:05:03 UTC) #23
Jaekyun Seok (inactive)
PTAL. I added checkIfCalledOnValidThread into methods of ModerateBindingPool and ManagedConnection as well to make things ...
5 years, 3 months ago (2015-09-09 04:31:26 UTC) #24
Jaekyun Seok (inactive)
PTAL. I removed any direct access between ModerateBindingPool and ManagedConnection. And so all accesses to ...
5 years, 3 months ago (2015-09-10 03:22:24 UTC) #25
Jaekyun Seok (inactive)
On 2015/09/10 03:22:24, Jaekyun Seok wrote: > PTAL. > > I removed any direct access ...
5 years, 3 months ago (2015-09-10 09:32:39 UTC) #26
Yaron
https://codereview.chromium.org/1307793003/diff/120001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java File content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java (right): https://codereview.chromium.org/1307793003/diff/120001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java#newcode286 content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java:286: ChildProcessConnection connection = mConnection; On 2015/09/09 02:02:41, Jaekyun Seok ...
5 years, 3 months ago (2015-09-11 22:15:25 UTC) #27
Jaekyun Seok (inactive)
PTAL. https://codereview.chromium.org/1307793003/diff/120001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java File content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java (right): https://codereview.chromium.org/1307793003/diff/120001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java#newcode286 content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java:286: ChildProcessConnection connection = mConnection; On 2015/09/11 22:15:24, Yaron ...
5 years, 3 months ago (2015-09-14 01:41:45 UTC) #28
Yaron
I think we're getting close. sievers@ worth looking now https://codereview.chromium.org/1307793003/diff/230001/content/browser/android/child_process_launcher_android.cc File content/browser/android/child_process_launcher_android.cc (right): https://codereview.chromium.org/1307793003/diff/230001/content/browser/android/child_process_launcher_android.cc#newcode91 content/browser/android/child_process_launcher_android.cc:91: ...
5 years, 3 months ago (2015-09-14 22:30:59 UTC) #29
Jaekyun Seok (inactive)
PTAL. https://codereview.chromium.org/1307793003/diff/230001/content/browser/android/child_process_launcher_android.cc File content/browser/android/child_process_launcher_android.cc (right): https://codereview.chromium.org/1307793003/diff/230001/content/browser/android/child_process_launcher_android.cc#newcode91 content/browser/android/child_process_launcher_android.cc:91: static void OnChildProcessStarted(JNIEnv*, On 2015/09/14 22:30:59, Yaron wrote: ...
5 years, 3 months ago (2015-09-14 23:44:11 UTC) #30
Yaron
https://codereview.chromium.org/1307793003/diff/230001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java File content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java (right): https://codereview.chromium.org/1307793003/diff/230001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java#newcode484 content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java:484: synchronized (mManagedConnections) { On 2015/09/14 23:44:11, Jaekyun Seok wrote: ...
5 years, 3 months ago (2015-09-16 01:20:16 UTC) #31
Jaekyun Seok (inactive)
PTAL. https://codereview.chromium.org/1307793003/diff/230001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java File content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java (right): https://codereview.chromium.org/1307793003/diff/230001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java#newcode484 content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java:484: synchronized (mManagedConnections) { On 2015/09/16 01:20:16, Yaron wrote: ...
5 years, 3 months ago (2015-09-16 01:46:48 UTC) #32
Jaekyun Seok (inactive)
https://codereview.chromium.org/1307793003/diff/230001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java File content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java (right): https://codereview.chromium.org/1307793003/diff/230001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java#newcode484 content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java:484: synchronized (mManagedConnections) { On 2015/09/16 01:46:47, Jaekyun Seok wrote: ...
5 years, 3 months ago (2015-09-16 02:20:33 UTC) #33
Yaron
https://codereview.chromium.org/1307793003/diff/230001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java File content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java (right): https://codereview.chromium.org/1307793003/diff/230001/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java#newcode484 content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java:484: synchronized (mManagedConnections) { On 2015/09/16 02:20:33, Jaekyun Seok wrote: ...
5 years, 3 months ago (2015-09-16 02:35:51 UTC) #34
Jaekyun Seok (inactive)
Yaron, do you have any remaining concern? Or could you please give LGTM to this ...
5 years, 3 months ago (2015-09-17 21:50:36 UTC) #35
Yaron
On 2015/09/17 21:50:36, Jaekyun Seok wrote: > Yaron, do you have any remaining concern? Or ...
5 years, 3 months ago (2015-09-18 16:49:43 UTC) #36
Jaekyun Seok (inactive)
On 2015/09/18 16:49:43, Yaron wrote: > On 2015/09/17 21:50:36, Jaekyun Seok wrote: > > Yaron, ...
5 years, 3 months ago (2015-09-19 03:37:08 UTC) #37
Jaekyun Seok (inactive)
On 2015/09/19 03:37:08, Jaekyun Seok wrote: > On 2015/09/18 16:49:43, Yaron wrote: > > On ...
5 years, 3 months ago (2015-09-21 21:39:45 UTC) #38
Jaekyun Seok (inactive)
Hi Jared, I've been trying to land this CL for a month, but it is ...
5 years, 2 months ago (2015-09-30 02:39:03 UTC) #40
Jaekyun Seok (inactive)
Ping?
5 years, 2 months ago (2015-10-05 00:41:52 UTC) #41
no sievers
On 2015/10/05 00:41:52, Jaekyun Seok wrote: > Ping? Hey, thanks for following up on this, ...
5 years, 2 months ago (2015-10-05 17:56:37 UTC) #42
Jaekyun Seok (inactive)
5 years, 2 months ago (2015-10-05 21:39:08 UTC) #43
On 2015/10/05 17:56:37, sievers wrote:
> On 2015/10/05 00:41:52, Jaekyun Seok wrote:
> > Ping?
> 
> Hey, thanks for following up on this, and sorry for the delayed reply.
> Sounds great to leave it with Jared to take it over. We talked last week, and
> did some sort of brainstorming and ended up wondering if it's time to revisit
> some of the very original code and assumptions here. It's gotten very
> complicated (lots of classes and interactions), while at the same time it's
not
> really abstracted well in a way that deals with threading or visibility (it's
> really hardcoded to renderers, and then there is more hardcoding for low-end
> device hacks).

I see. I will close this CL and hand over the original issue to Jared.

Powered by Google App Engine
This is Rietveld 408576698