Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Starred by 2 users
Status: Fixed
Owner:
Closed: Jul 19
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment
Move Android's ChildProcessLauncher from content/ to base/
Project Member Reported by jcivelli@chromium.org, Mar 16 2017 Back to list
This bug tracks the effort for moving ChildProcessLauncher on Android to base/.
Some of the motivations:
- base/test/android uses MultiprocessTestClientLauncher which duplicates what's done in ChildProcessLauncher. It could use ChildProcessLauncher when it's moved to base.
- as part of the servicification effort the Mojo service manager will be used to start all child processes and cannot depend on content/
 
Comment 1 by boliu@chromium.org, Mar 16 2017
Cc: yfried...@chromium.org mariakhomenko@chromium.org agrieve@chromium.org
Labels: OS-Android
will pull out things that don't belong in base, and then move pieces when they no longer depend on things in content. no code duplication here. semi-orthogonal to all the refactor stuff I want to do.
Project Member Comment 2 by bugdroid1@chromium.org, Mar 17 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9796a271448f237118bbc54316c664a678ada68b

commit 9796a271448f237118bbc54316c664a678ada68b
Author: jcivelli <jcivelli@chromium.org>
Date: Fri Mar 17 03:45:11 2017

Abstracting parameters passed to child processes on Android.

Making the parameters passed to a child process part of a Bundle as part
of the effort to move child process launcher code to base/.

BUG=702316

Review-Url: https://codereview.chromium.org/2756053002
Cr-Commit-Position: refs/heads/master@{#457679}

[modify] https://crrev.com/9796a271448f237118bbc54316c664a678ada68b/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java
[modify] https://crrev.com/9796a271448f237118bbc54316c664a678ada68b/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java
[modify] https://crrev.com/9796a271448f237118bbc54316c664a678ada68b/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java
[modify] https://crrev.com/9796a271448f237118bbc54316c664a678ada68b/content/public/android/java/src/org/chromium/content/browser/ChildProcessConstants.java
[modify] https://crrev.com/9796a271448f237118bbc54316c664a678ada68b/content/public/android/java/src/org/chromium/content/browser/ChildProcessCreationParams.java
[modify] https://crrev.com/9796a271448f237118bbc54316c664a678ada68b/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java

Project Member Comment 3 by bugdroid1@chromium.org, Mar 21 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/08f54ecc76964badb626b2426b6f01f46cac7717

commit 08f54ecc76964badb626b2426b6f01f46cac7717
Author: jcivelli <jcivelli@chromium.org>
Date: Tue Mar 21 01:22:38 2017

Remove the linker parameter from ChildProcessConnection.

Removing a library loader linker specific parameter from the Android
ChildProcessConnection class to make it more generic (it was always
set to the same value).
This is part of the effort to move Android child process creation to
base/.

BUG=702316

Review-Url: https://codereview.chromium.org/2762773002
Cr-Commit-Position: refs/heads/master@{#458267}

[modify] https://crrev.com/08f54ecc76964badb626b2426b6f01f46cac7717/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java
[modify] https://crrev.com/08f54ecc76964badb626b2426b6f01f46cac7717/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java
[modify] https://crrev.com/08f54ecc76964badb626b2426b6f01f46cac7717/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
[modify] https://crrev.com/08f54ecc76964badb626b2426b6f01f46cac7717/content/public/android/junit/src/org/chromium/content/browser/BindingManagerImplTest.java

Project Member Comment 4 by bugdroid1@chromium.org, Mar 21 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d62ca1238e8c477dfbbbe928febfa67dd19bfe35

commit d62ca1238e8c477dfbbbe928febfa67dd19bfe35
Author: jcivelli <jcivelli@chromium.org>
Date: Tue Mar 21 21:54:43 2017

Moving FileDescriptorInfo from content/ to base/ and making base
multiprocess test client use this class (instead of their own version).

BUG=702316

Review-Url: https://codereview.chromium.org/2765453004
Cr-Commit-Position: refs/heads/master@{#458568}

[modify] https://crrev.com/d62ca1238e8c477dfbbbe928febfa67dd19bfe35/base/BUILD.gn
[modify] https://crrev.com/d62ca1238e8c477dfbbbe928febfa67dd19bfe35/base/android/OWNERS
[rename] https://crrev.com/d62ca1238e8c477dfbbbe928febfa67dd19bfe35/base/android/java/src/org/chromium/base/process_launcher/FileDescriptorInfo.aidl
[add] https://crrev.com/d62ca1238e8c477dfbbbe928febfa67dd19bfe35/base/android/java/src/org/chromium/base/process_launcher/FileDescriptorInfo.java
[modify] https://crrev.com/d62ca1238e8c477dfbbbe928febfa67dd19bfe35/base/android/java/src/org/chromium/base/process_launcher/OWNERS
[modify] https://crrev.com/d62ca1238e8c477dfbbbe928febfa67dd19bfe35/base/test/BUILD.gn
[delete] https://crrev.com/a0a1b3df67b6a958b8dd7007cc8edcae18a4d9bb/base/test/android/java/src/org/chromium/base/FileDescriptorInfo.java
[modify] https://crrev.com/d62ca1238e8c477dfbbbe928febfa67dd19bfe35/base/test/android/java/src/org/chromium/base/ITestClient.aidl
[modify] https://crrev.com/d62ca1238e8c477dfbbbe928febfa67dd19bfe35/base/test/android/java/src/org/chromium/base/MultiprocessTestClientLauncher.java
[modify] https://crrev.com/d62ca1238e8c477dfbbbe928febfa67dd19bfe35/base/test/android/java/src/org/chromium/base/MultiprocessTestClientService.java
[add] https://crrev.com/d62ca1238e8c477dfbbbe928febfa67dd19bfe35/base/test/android/java/src/org/chromium/base/OWNERS
[modify] https://crrev.com/d62ca1238e8c477dfbbbe928febfa67dd19bfe35/content/browser/child_process_launcher_helper_android.cc
[modify] https://crrev.com/d62ca1238e8c477dfbbbe928febfa67dd19bfe35/content/public/android/BUILD.gn
[modify] https://crrev.com/d62ca1238e8c477dfbbbe928febfa67dd19bfe35/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java
[modify] https://crrev.com/d62ca1238e8c477dfbbbe928febfa67dd19bfe35/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java
[modify] https://crrev.com/d62ca1238e8c477dfbbbe928febfa67dd19bfe35/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java
[modify] https://crrev.com/d62ca1238e8c477dfbbbe928febfa67dd19bfe35/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
[delete] https://crrev.com/a0a1b3df67b6a958b8dd7007cc8edcae18a4d9bb/content/public/android/java/src/org/chromium/content/common/FileDescriptorInfo.java
[modify] https://crrev.com/d62ca1238e8c477dfbbbe928febfa67dd19bfe35/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java
[modify] https://crrev.com/d62ca1238e8c477dfbbbe928febfa67dd19bfe35/content/public/android/junit/src/org/chromium/content/browser/BindingManagerImplTest.java
[modify] https://crrev.com/d62ca1238e8c477dfbbbe928febfa67dd19bfe35/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/ChildProcessLauncherTestHelperService.java

Project Member Comment 5 by bugdroid1@chromium.org, Mar 22 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/27d06a66030cece252b659e1eca0be955d4d7475

commit 27d06a66030cece252b659e1eca0be955d4d7475
Author: jcivelli <jcivelli@chromium.org>
Date: Wed Mar 22 01:40:37 2017

Making callbacks in Android ChildProcessLauncher generic.

As part of the effort of moving ChildProcessLauncher.java to base,
making the callbacks passed to the child processes generic (an IBinder)
and moving the content ones to a specific content class.

BUG=702316

Review-Url: https://codereview.chromium.org/2760093002
Cr-Commit-Position: refs/heads/master@{#458612}

[modify] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/browser/BUILD.gn
[modify] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/browser/android/browser_jni_registrar.cc
[add] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/browser/android/gpu_process_callback.cc
[add] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/browser/android/gpu_process_callback.h
[modify] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/browser/child_process_launcher_helper_android.cc
[modify] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/public/android/BUILD.gn
[modify] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java
[modify] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java
[modify] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java
[modify] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
[add] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/public/android/java/src/org/chromium/content/browser/GpuProcessCallback.java
[modify] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl
[rename] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/public/android/java/src/org/chromium/content/common/IGpuProcessCallback.aidl
[modify] https://crrev.com/27d06a66030cece252b659e1eca0be955d4d7475/content/public/android/junit/src/org/chromium/content/browser/BindingManagerImplTest.java

Project Member Comment 6 by bugdroid1@chromium.org, Mar 31 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ce6ef2968b6785ccc8c29bf8b5954b5242845552

commit ce6ef2968b6785ccc8c29bf8b5954b5242845552
Author: jcivelli <jcivelli@chromium.org>
Date: Fri Mar 31 03:58:27 2017

Moving IChildProcessService to base/

As part of the effort of moving Android process launching to base/,
moving IChildProcessService.aidl to base/.

BUG=702316

Review-Url: https://codereview.chromium.org/2777013005
Cr-Commit-Position: refs/heads/master@{#461020}

[modify] https://crrev.com/ce6ef2968b6785ccc8c29bf8b5954b5242845552/base/BUILD.gn
[rename] https://crrev.com/ce6ef2968b6785ccc8c29bf8b5954b5242845552/base/android/java/src/org/chromium/base/process_launcher/IChildProcessService.aidl
[modify] https://crrev.com/ce6ef2968b6785ccc8c29bf8b5954b5242845552/content/public/android/BUILD.gn
[modify] https://crrev.com/ce6ef2968b6785ccc8c29bf8b5954b5242845552/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java
[modify] https://crrev.com/ce6ef2968b6785ccc8c29bf8b5954b5242845552/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java
[modify] https://crrev.com/ce6ef2968b6785ccc8c29bf8b5954b5242845552/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java
[modify] https://crrev.com/ce6ef2968b6785ccc8c29bf8b5954b5242845552/content/public/android/java/src/org/chromium/content/common/common.aidl
[modify] https://crrev.com/ce6ef2968b6785ccc8c29bf8b5954b5242845552/content/public/android/junit/src/org/chromium/content/browser/BindingManagerImplTest.java

Project Member Comment 7 by bugdroid1@chromium.org, Apr 4
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dd463aa3da242c236addb4fdf26ee4500bd429f5

commit dd463aa3da242c236addb4fdf26ee4500bd429f5
Author: jcivelli <jcivelli@chromium.org>
Date: Tue Apr 04 19:19:35 2017

Clean-up in ChildProcessLauncher.

This is a clean-up follow-up for
https://codereview.chromium.org/2760093002:
- the callback type parameter is replaced with the actual callback
  object.
- the alwaysInForeground parameter is now part of the SpawnData class.
- SpawnData accessors are renamed to follow Java naming conventions.

BUG=702316

Review-Url: https://codereview.chromium.org/2792093002
Cr-Commit-Position: refs/heads/master@{#461798}

[modify] https://crrev.com/dd463aa3da242c236addb4fdf26ee4500bd429f5/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
[modify] https://crrev.com/dd463aa3da242c236addb4fdf26ee4500bd429f5/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java

Project Member Comment 8 by bugdroid1@chromium.org, Apr 6
Labels: merge-merged-3029
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6cd461bcd7239b71ba190bb1633246cce3336a76

commit 6cd461bcd7239b71ba190bb1633246cce3336a76
Author: Bo Liu <boliu@chromium.org>
Date: Thu Apr 06 17:09:23 2017

[Merge m58] Abstracting parameters passed to child processes on Android.

Making the parameters passed to a child process part of a Bundle as part
of the effort to move child process launcher code to base/.

BUG=702316

Review-Url: https://codereview.chromium.org/2756053002
Cr-Commit-Position: refs/heads/master@{#457679}
(cherry picked from commit 9796a271448f237118bbc54316c664a678ada68b)

Merging so a follow up CL can be merged for
BUG=690118

Review-Url: https://codereview.chromium.org/2795333002 .
Cr-Commit-Position: refs/branch-heads/3029@{#607}
Cr-Branched-From: 939b32ee5ba05c396eef3fd992822fcca9a2e262-refs/heads/master@{#454471}

[modify] https://crrev.com/6cd461bcd7239b71ba190bb1633246cce3336a76/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java
[modify] https://crrev.com/6cd461bcd7239b71ba190bb1633246cce3336a76/content/public/android/java/src/org/chromium/content/app/ChromiumLinkerParams.java
[modify] https://crrev.com/6cd461bcd7239b71ba190bb1633246cce3336a76/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java
[modify] https://crrev.com/6cd461bcd7239b71ba190bb1633246cce3336a76/content/public/android/java/src/org/chromium/content/browser/ChildProcessConstants.java
[modify] https://crrev.com/6cd461bcd7239b71ba190bb1633246cce3336a76/content/public/android/java/src/org/chromium/content/browser/ChildProcessCreationParams.java
[modify] https://crrev.com/6cd461bcd7239b71ba190bb1633246cce3336a76/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java

Project Member Comment 9 by bugdroid1@chromium.org, Apr 6
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9bd4d39997fab20c32cd0c7a75c45dbcf3f00642

commit 9bd4d39997fab20c32cd0c7a75c45dbcf3f00642
Author: jcivelli <jcivelli@chromium.org>
Date: Thu Apr 06 23:37:16 2017

Change ITestClient to be similar to IChildProcessService.

Preparing the MultiprocessTestClientLauncher for transitioning to the
new base ChildProcessLauncher. More specifically, making ITestClient
similar to IChildProcessService. This requires moving extra methods to
a new interface ITestController, and creating a callback interface
ITestCallback that lets the service sets the ITestController interface
on the client.

BUG=702316

Review-Url: https://codereview.chromium.org/2781913002
Cr-Commit-Position: refs/heads/master@{#462683}

[modify] https://crrev.com/9bd4d39997fab20c32cd0c7a75c45dbcf3f00642/base/test/BUILD.gn
[add] https://crrev.com/9bd4d39997fab20c32cd0c7a75c45dbcf3f00642/base/test/android/java/src/org/chromium/base/ChildProcessConstants.java
[add] https://crrev.com/9bd4d39997fab20c32cd0c7a75c45dbcf3f00642/base/test/android/java/src/org/chromium/base/ITestCallback.aidl
[modify] https://crrev.com/9bd4d39997fab20c32cd0c7a75c45dbcf3f00642/base/test/android/java/src/org/chromium/base/ITestClient.aidl
[add] https://crrev.com/9bd4d39997fab20c32cd0c7a75c45dbcf3f00642/base/test/android/java/src/org/chromium/base/ITestController.aidl
[modify] https://crrev.com/9bd4d39997fab20c32cd0c7a75c45dbcf3f00642/base/test/android/java/src/org/chromium/base/MultiprocessTestClientLauncher.java
[modify] https://crrev.com/9bd4d39997fab20c32cd0c7a75c45dbcf3f00642/base/test/android/java/src/org/chromium/base/MultiprocessTestClientService.java

Project Member Comment 10 by bugdroid1@chromium.org, Apr 10
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/857cc7b94a374decb02c7c98a3b84dd14ec6a275

commit 857cc7b94a374decb02c7c98a3b84dd14ec6a275
Author: jcivelli <jcivelli@chromium.org>
Date: Mon Apr 10 23:17:49 2017

Adding a new annotation to set ChildProcessAllocator settings in tests.

Created a new annotation that lets tests specify settings for the
allocation of child services. It is mostly a clean-up to replace the
current use of the command line annotation with a more specific one.
As a result I had to create a new content specific instrumentation test
runner that registers that new content specific annotation.

BUG=702316

Review-Url: https://codereview.chromium.org/2814533002
Cr-Commit-Position: refs/heads/master@{#463440}

[modify] https://crrev.com/857cc7b94a374decb02c7c98a3b84dd14ec6a275/chrome/android/javatests/src/org/chromium/chrome/browser/BindingManagerIntegrationTest.java
[modify] https://crrev.com/857cc7b94a374decb02c7c98a3b84dd14ec6a275/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeInstrumentationTestRunner.java
[modify] https://crrev.com/857cc7b94a374decb02c7c98a3b84dd14ec6a275/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
[modify] https://crrev.com/857cc7b94a374decb02c7c98a3b84dd14ec6a275/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java
[modify] https://crrev.com/857cc7b94a374decb02c7c98a3b84dd14ec6a275/content/public/test/android/BUILD.gn
[add] https://crrev.com/857cc7b94a374decb02c7c98a3b84dd14ec6a275/content/public/test/android/javatests/src/org/chromium/content/browser/test/ChildProcessAllocatorSettings.java
[add] https://crrev.com/857cc7b94a374decb02c7c98a3b84dd14ec6a275/content/public/test/android/javatests/src/org/chromium/content/browser/test/ChildProcessAllocatorSettingsHook.java
[add] https://crrev.com/857cc7b94a374decb02c7c98a3b84dd14ec6a275/content/public/test/android/javatests/src/org/chromium/content/browser/test/ContentInstrumentationTestRunner.java
[modify] https://crrev.com/857cc7b94a374decb02c7c98a3b84dd14ec6a275/content/shell/android/javatests/AndroidManifest.xml

Project Member Comment 11 by bugdroid1@chromium.org, Apr 12
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/185a6fa4442ecee538c9f7539c3bc7f52bb0ea36

commit 185a6fa4442ecee538c9f7539c3bc7f52bb0ea36
Author: jcivelli <jcivelli@chromium.org>
Date: Wed Apr 12 03:21:51 2017

Factor out inner-classes out of ChildProcessLauncher.

Factoring out ChildProcessAllocator and SpawnData out of
ChildProcessLauncher.
Also:
- simplifying ChildProcessAllocator by lazy allocating on access rather
  than explicitly.
- removing forWarmUp from SpawnData has it can be handled as a parameter
  passed around in ChildProcessLauncher.

BUG=702316

Review-Url: https://codereview.chromium.org/2795113003
Cr-Commit-Position: refs/heads/master@{#463916}

[modify] https://crrev.com/185a6fa4442ecee538c9f7539c3bc7f52bb0ea36/content/public/android/BUILD.gn
[add] https://crrev.com/185a6fa4442ecee538c9f7539c3bc7f52bb0ea36/content/public/android/java/src/org/chromium/content/browser/ChildConnectionAllocator.java
[modify] https://crrev.com/185a6fa4442ecee538c9f7539c3bc7f52bb0ea36/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
[modify] https://crrev.com/185a6fa4442ecee538c9f7539c3bc7f52bb0ea36/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncherHelper.java
[add] https://crrev.com/185a6fa4442ecee538c9f7539c3bc7f52bb0ea36/content/public/android/java/src/org/chromium/content/browser/ChildSpawnData.java
[modify] https://crrev.com/185a6fa4442ecee538c9f7539c3bc7f52bb0ea36/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java
[modify] https://crrev.com/185a6fa4442ecee538c9f7539c3bc7f52bb0ea36/content/public/test/android/javatests/src/org/chromium/content/browser/test/ChildProcessAllocatorSettingsHook.java

Project Member Comment 12 by bugdroid1@chromium.org, May 17
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9cf3fd03d8f4d885b6e1c88cf3ae6ecc8d5542b0

commit 9cf3fd03d8f4d885b6e1c88cf3ae6ecc8d5542b0
Author: jcivelli <jcivelli@chromium.org>
Date: Wed May 17 18:09:27 2017

Moving some CPL logic to CPLH.

In preparation of the move of some of the child process launcher logic to
base, moved the code responsible for building the parameters passed to
the service from ChildProcessLauncher to ChildProcessLauncherHelper.
The ChildSpawnData class now contains both bundles used when starting the
service, and it's the responsibility of the ChildProcessLauncherHelper to
include the command line and file descriptors in the bundles.

BUG=702316

Review-Url: https://codereview.chromium.org/2882823002
Cr-Commit-Position: refs/heads/master@{#472494}

[modify] https://crrev.com/9cf3fd03d8f4d885b6e1c88cf3ae6ecc8d5542b0/content/browser/child_process_launcher_helper_android.cc
[modify] https://crrev.com/9cf3fd03d8f4d885b6e1c88cf3ae6ecc8d5542b0/content/public/android/java/src/org/chromium/content/browser/ChildConnectionAllocator.java
[modify] https://crrev.com/9cf3fd03d8f4d885b6e1c88cf3ae6ecc8d5542b0/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java
[modify] https://crrev.com/9cf3fd03d8f4d885b6e1c88cf3ae6ecc8d5542b0/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
[modify] https://crrev.com/9cf3fd03d8f4d885b6e1c88cf3ae6ecc8d5542b0/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncherHelper.java
[modify] https://crrev.com/9cf3fd03d8f4d885b6e1c88cf3ae6ecc8d5542b0/content/public/android/java/src/org/chromium/content/browser/ChildSpawnData.java
[modify] https://crrev.com/9cf3fd03d8f4d885b6e1c88cf3ae6ecc8d5542b0/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherIntegrationTest.java
[modify] https://crrev.com/9cf3fd03d8f4d885b6e1c88cf3ae6ecc8d5542b0/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java
[modify] https://crrev.com/9cf3fd03d8f4d885b6e1c88cf3ae6ecc8d5542b0/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/ChildProcessLauncherTestHelperService.java
[modify] https://crrev.com/9cf3fd03d8f4d885b6e1c88cf3ae6ecc8d5542b0/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/ChildProcessLauncherTestUtils.java

Project Member Comment 13 by bugdroid1@chromium.org, Jun 12
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bb9c0e1b5b591255889c90a97788c1bf78993453

commit bb9c0e1b5b591255889c90a97788c1bf78993453
Author: Jay Civelli <jcivelli@google.com>
Date: Mon Jun 12 20:55:24 2017

Creating a chrome ChildProcessServiceImpl class for WebAPK.

WebApkSandboxedProcessService accesses ChildProcessServiceImpl (which is
in content) through reflection and needs to be exposed to WebAPK.
Introducting a new chrome class that exposes this and forwards to
ChildProcessServiceImpl.
This also prepares for the move of ChildProcessServiceImpl to base where
more work will need to be done when creating a ChildProcessServiceImpl.

BUG=702316

Change-Id: Ib70f72c430a8a48b8ee84db5c6359f4c6f6dddfb
Reviewed-on: https://chromium-review.googlesource.com/528669
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Xi Han <hanxi@chromium.org>
Commit-Queue: Jay Civelli <jcivelli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#478757}
[add] https://crrev.com/bb9c0e1b5b591255889c90a97788c1bf78993453/chrome/android/java/src/org/chromium/chrome/browser/WebApkChildProcessServiceImpl.java
[modify] https://crrev.com/bb9c0e1b5b591255889c90a97788c1bf78993453/chrome/android/java_sources.gni
[modify] https://crrev.com/bb9c0e1b5b591255889c90a97788c1bf78993453/chrome/android/webapk/shell_apk/shell_apk_version.gni
[modify] https://crrev.com/bb9c0e1b5b591255889c90a97788c1bf78993453/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/WebApkSandboxedProcessService.java
[modify] https://crrev.com/bb9c0e1b5b591255889c90a97788c1bf78993453/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java

Project Member Comment 14 by bugdroid1@chromium.org, Jun 15
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5b29b7b17c700688dacde791d73ea86709336950

commit 5b29b7b17c700688dacde791d73ea86709336950
Author: Jay Civelli <jcivelli@google.com>
Date: Thu Jun 15 19:47:51 2017

Make Android multiprocess tests use IChildProcessService.aidl

Removing the multiprocess test specific ITestClient.aidl and making the
multiprocess launcher and service classes use IChildProcessService.aidl.
This is in preparation of the move of child process launcher to base and
having the multiprocess tests use it.

BUG=702316

Change-Id: I5cb81c45dcf1d4f19c34fbaa42194b22ca358a5f
Reviewed-on: https://chromium-review.googlesource.com/534953
Commit-Queue: Jay Civelli <jcivelli@google.com>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479796}
[modify] https://crrev.com/5b29b7b17c700688dacde791d73ea86709336950/base/test/BUILD.gn
[delete] https://crrev.com/1a2091a9b123d6a856d86f60b267725fad61a11f/base/test/android/java/src/org/chromium/base/ITestClient.aidl
[modify] https://crrev.com/5b29b7b17c700688dacde791d73ea86709336950/base/test/android/java/src/org/chromium/base/MultiprocessTestClientLauncher.java
[modify] https://crrev.com/5b29b7b17c700688dacde791d73ea86709336950/base/test/android/java/src/org/chromium/base/MultiprocessTestClientService.java

Project Member Comment 15 by bugdroid1@chromium.org, Jun 21
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3dfa47ef98c9dd80d120de8f8cfea303c8169ac4

commit 3dfa47ef98c9dd80d120de8f8cfea303c8169ac4
Author: Jay Civelli <jcivelli@google.com>
Date: Wed Jun 21 17:46:00 2017

Splitting ChildProcessServiceImpl for basification.

Splitting ChildProcessServiceImpl with a delegate and moving the
content specific logic to a content implementation class.
ChildProcessServiceImpl takes care of initializing the command line and
registering file descriptors. This class will be next moved to base.
The content specific behavior (using the custom linker, providing the
GPU surfaces to the renderer) is moved to the content implementation
of the delegate, ContentChildProcessServiceDelegate.

Bug: 702316
Change-Id: I357e2a81836a97cf53888ca3d7ec3b46e12c91a1
Reviewed-on: https://chromium-review.googlesource.com/526262
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Jay Civelli <jcivelli@chromium.org>
Reviewed-by: Bo Liu <boliu@chromium.org>
Reviewed-by: Xi Han <hanxi@chromium.org>
Reviewed-by: Tao Bai <michaelbai@chromium.org>
Commit-Queue: Jay Civelli <jcivelli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481236}
[modify] https://crrev.com/3dfa47ef98c9dd80d120de8f8cfea303c8169ac4/chrome/android/java/src/org/chromium/chrome/browser/WebApkChildProcessServiceImpl.java
[modify] https://crrev.com/3dfa47ef98c9dd80d120de8f8cfea303c8169ac4/content/app/BUILD.gn
[modify] https://crrev.com/3dfa47ef98c9dd80d120de8f8cfea303c8169ac4/content/app/android/app_jni_registrar.cc
[modify] https://crrev.com/3dfa47ef98c9dd80d120de8f8cfea303c8169ac4/content/app/android/child_process_service_impl.cc
[add] https://crrev.com/3dfa47ef98c9dd80d120de8f8cfea303c8169ac4/content/app/android/content_child_process_service_delegate.cc
[add] https://crrev.com/3dfa47ef98c9dd80d120de8f8cfea303c8169ac4/content/app/android/content_child_process_service_delegate.h
[modify] https://crrev.com/3dfa47ef98c9dd80d120de8f8cfea303c8169ac4/content/public/android/BUILD.gn
[modify] https://crrev.com/3dfa47ef98c9dd80d120de8f8cfea303c8169ac4/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java
[add] https://crrev.com/3dfa47ef98c9dd80d120de8f8cfea303c8169ac4/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceDelegate.java
[modify] https://crrev.com/3dfa47ef98c9dd80d120de8f8cfea303c8169ac4/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java
[add] https://crrev.com/3dfa47ef98c9dd80d120de8f8cfea303c8169ac4/content/public/android/java/src/org/chromium/content/app/ContentChildProcessService.java
[add] https://crrev.com/3dfa47ef98c9dd80d120de8f8cfea303c8169ac4/content/public/android/java/src/org/chromium/content/app/ContentChildProcessServiceDelegate.java
[modify] https://crrev.com/3dfa47ef98c9dd80d120de8f8cfea303c8169ac4/content/public/android/java/src/org/chromium/content/app/PrivilegedProcessService.java
[modify] https://crrev.com/3dfa47ef98c9dd80d120de8f8cfea303c8169ac4/content/public/android/java/src/org/chromium/content/app/SandboxedProcessService.java

Project Member Comment 16 by bugdroid1@chromium.org, Jun 22
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a15e0a988364c2d8bf0db30c2b538dc09744eee3

commit a15e0a988364c2d8bf0db30c2b538dc09744eee3
Author: Jay Civelli <jcivelli@google.com>
Date: Thu Jun 22 00:36:02 2017

Removing dependency to service manager from ChildProcessServiceImpl.

Moving the retrieval of FD keys used to register FDs to the
FileDescriptorStore from ChildProcessServiceImpl to
ContentChildProcessServiceDelegate, as these depend on ServiceManager.
This require introducing a new call to ChildProcessServiceDelegate and
having one extra JNI call done during process start-up.

TBR=michaelbai

Bug: 702316
Change-Id: I3d39d68440b3d16033bd6bd9ccbe6b51241325e1
Reviewed-on: https://chromium-review.googlesource.com/538906
Commit-Queue: Jay Civelli <jcivelli@chromium.org>
Reviewed-by: Bo Liu <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481378}
[modify] https://crrev.com/a15e0a988364c2d8bf0db30c2b538dc09744eee3/content/app/android/child_process_service_impl.cc
[modify] https://crrev.com/a15e0a988364c2d8bf0db30c2b538dc09744eee3/content/app/android/content_child_process_service_delegate.cc
[modify] https://crrev.com/a15e0a988364c2d8bf0db30c2b538dc09744eee3/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceDelegate.java
[modify] https://crrev.com/a15e0a988364c2d8bf0db30c2b538dc09744eee3/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java
[modify] https://crrev.com/a15e0a988364c2d8bf0db30c2b538dc09744eee3/content/public/android/java/src/org/chromium/content/app/ContentChildProcessServiceDelegate.java

Project Member Comment 17 by bugdroid1@chromium.org, Jun 23
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ddcb2490139405d4cafae70b3adfefd6b3b11a2f

commit ddcb2490139405d4cafae70b3adfefd6b3b11a2f
Author: Jay Civelli <jcivelli@google.com>
Date: Fri Jun 23 01:53:39 2017

Moving ChildProcessService to base.

Moving ChildProcessService and associated classes to base.

BUG: 702316
Change-Id: If4f47ca958127cc316e42f06428af94bb42cd0aa
Reviewed-on: https://chromium-review.googlesource.com/540140
Commit-Queue: Jay Civelli <jcivelli@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Reviewed-by: Jay Civelli <jcivelli@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Bo Liu <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481775}
[modify] https://crrev.com/ddcb2490139405d4cafae70b3adfefd6b3b11a2f/base/BUILD.gn
[modify] https://crrev.com/ddcb2490139405d4cafae70b3adfefd6b3b11a2f/base/android/base_jni_registrar.cc
[rename] https://crrev.com/ddcb2490139405d4cafae70b3adfefd6b3b11a2f/base/android/child_process_service_impl.cc
[add] https://crrev.com/ddcb2490139405d4cafae70b3adfefd6b3b11a2f/base/android/child_process_service_impl.h
[add] https://crrev.com/ddcb2490139405d4cafae70b3adfefd6b3b11a2f/base/android/java/src/org/chromium/base/process_launcher/ChildProcessConstants.java
[rename] https://crrev.com/ddcb2490139405d4cafae70b3adfefd6b3b11a2f/base/android/java/src/org/chromium/base/process_launcher/ChildProcessService.java
[rename] https://crrev.com/ddcb2490139405d4cafae70b3adfefd6b3b11a2f/base/android/java/src/org/chromium/base/process_launcher/ChildProcessServiceDelegate.java
[rename] https://crrev.com/ddcb2490139405d4cafae70b3adfefd6b3b11a2f/base/android/java/src/org/chromium/base/process_launcher/ChildProcessServiceImpl.java
[modify] https://crrev.com/ddcb2490139405d4cafae70b3adfefd6b3b11a2f/chrome/android/java/src/org/chromium/chrome/browser/WebApkChildProcessServiceImpl.java
[modify] https://crrev.com/ddcb2490139405d4cafae70b3adfefd6b3b11a2f/content/app/BUILD.gn
[modify] https://crrev.com/ddcb2490139405d4cafae70b3adfefd6b3b11a2f/content/app/android/app_jni_registrar.cc
[delete] https://crrev.com/3391d2ce4059ebe801dd8310d13d8dc59293600e/content/app/android/child_process_service_impl.h
[modify] https://crrev.com/ddcb2490139405d4cafae70b3adfefd6b3b11a2f/content/public/android/BUILD.gn
[modify] https://crrev.com/ddcb2490139405d4cafae70b3adfefd6b3b11a2f/content/public/android/java/src/org/chromium/content/app/ContentChildProcessService.java
[modify] https://crrev.com/ddcb2490139405d4cafae70b3adfefd6b3b11a2f/content/public/android/java/src/org/chromium/content/app/ContentChildProcessServiceDelegate.java
[modify] https://crrev.com/ddcb2490139405d4cafae70b3adfefd6b3b11a2f/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncherHelper.java
[rename] https://crrev.com/ddcb2490139405d4cafae70b3adfefd6b3b11a2f/content/public/android/java/src/org/chromium/content/browser/ContentChildProcessConstants.java

Project Member Comment 18 by bugdroid1@chromium.org, Jun 23
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c21465ddb50486fe00ab06b35f55afd587a4e66d

commit c21465ddb50486fe00ab06b35f55afd587a4e66d
Author: Jay Civelli <jcivelli@google.com>
Date: Fri Jun 23 18:55:19 2017

Moving allocator clean-up to a listener.

Moving the clean-up of ChildConnectionAllocator from freeConnection
to a specific listener, in preparation of moving clean-up of
connections from ChildProcessLauncher to the allocator itself.

Bug: 702316
Change-Id: I90755e475a94b34840868d3e788d7e7c1cfe2f79
Reviewed-on: https://chromium-review.googlesource.com/544085
Reviewed-by: Bo Liu <boliu@chromium.org>
Commit-Queue: Jay Civelli <jcivelli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481975}
[modify] https://crrev.com/c21465ddb50486fe00ab06b35f55afd587a4e66d/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncherHelper.java

Project Member Comment 19 by bugdroid1@chromium.org, Jun 23
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5088b57949e9538b30905f854e952e10adf52bc6

commit 5088b57949e9538b30905f854e952e10adf52bc6
Author: Jay Civelli <jcivelli@google.com>
Date: Fri Jun 23 21:03:47 2017

Making the ChildConnectionAllocator clean connection itself.

The ChildConnectionAllocator relies on the ChildProcessLauncherHelper
for clearing up connections when they get disconnected.
Moving that logic to the ChildConnectionAllocator.
For that I had to change the deathcallback so it is always invoked
(even if the process was stopped by the client).

Bug: 702316
Change-Id: I9c0a229471ef3c80359e60da628bff32f51a27f2
Reviewed-on: https://chromium-review.googlesource.com/544796
Reviewed-by: Bo Liu <boliu@chromium.org>
Commit-Queue: Jay Civelli <jcivelli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482026}
[modify] https://crrev.com/5088b57949e9538b30905f854e952e10adf52bc6/content/public/android/java/src/org/chromium/content/browser/ChildConnectionAllocator.java
[modify] https://crrev.com/5088b57949e9538b30905f854e952e10adf52bc6/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java
[modify] https://crrev.com/5088b57949e9538b30905f854e952e10adf52bc6/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncherHelper.java

Project Member Comment 20 by bugdroid1@chromium.org, Jun 23
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c15f40e23fec9a6635cc81d7fd76ec5ce9818f68

commit c15f40e23fec9a6635cc81d7fd76ec5ce9818f68
Author: Jay Civelli <jcivelli@google.com>
Date: Fri Jun 23 22:16:44 2017

Clean-up of ChildProcessLauncherHelper.stop()

ChildProcessLauncherHelper calls stop method when a child process dies,
which ends up stopping the connection when the connection is already
stopped. Cleaning it up by abstracting the behavior on disconnection
to an onChildProcessStopped method.
Also improving tests to ensure this onChildProcessStopped is called.

Bug: 702316
Change-Id: I348d347ea8b6903886565d4a3c7ede7d30def6f5
Reviewed-on: https://chromium-review.googlesource.com/546698
Commit-Queue: Jay Civelli <jcivelli@chromium.org>
Reviewed-by: Bo Liu <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482048}
[modify] https://crrev.com/c15f40e23fec9a6635cc81d7fd76ec5ce9818f68/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncherHelper.java
[modify] https://crrev.com/c15f40e23fec9a6635cc81d7fd76ec5ce9818f68/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java

Project Member Comment 21 by bugdroid1@chromium.org, Jun 27
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3c44bf08d8154bde7c160edf5e3df8daaefe40c2

commit 3c44bf08d8154bde7c160edf5e3df8daaefe40c2
Author: Jay Civelli <jcivelli@google.com>
Date: Tue Jun 27 01:47:27 2017

Making the ChildConnectionAllocator start the connections.

The ChildConnectionAllocator now starts the connections it creates.
This allows us to:
- move the useStrongBinding parameter to the ChildConnectionAllocator
  constructor
- merge ChildProcessConnection.Deathcallback and
  ChildProcessConnection.StartCallback into one interface
  (ChildProcessConnection.ServiceCallback)

Bug: 702316
Change-Id: Idfe1b9a42487055c4d9171f50614093bd6e2c9d7
Reviewed-on: https://chromium-review.googlesource.com/546656
Reviewed-by: Bo Liu <boliu@chromium.org>
Commit-Queue: Jay Civelli <jcivelli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482509}
[modify] https://crrev.com/3c44bf08d8154bde7c160edf5e3df8daaefe40c2/content/public/android/BUILD.gn
[modify] https://crrev.com/3c44bf08d8154bde7c160edf5e3df8daaefe40c2/content/public/android/java/src/org/chromium/content/browser/ChildConnectionAllocator.java
[modify] https://crrev.com/3c44bf08d8154bde7c160edf5e3df8daaefe40c2/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java
[modify] https://crrev.com/3c44bf08d8154bde7c160edf5e3df8daaefe40c2/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncherHelper.java
[modify] https://crrev.com/3c44bf08d8154bde7c160edf5e3df8daaefe40c2/content/public/android/java/src/org/chromium/content/browser/SpareChildConnection.java
[modify] https://crrev.com/3c44bf08d8154bde7c160edf5e3df8daaefe40c2/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherIntegrationTest.java
[modify] https://crrev.com/3c44bf08d8154bde7c160edf5e3df8daaefe40c2/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java
[modify] https://crrev.com/3c44bf08d8154bde7c160edf5e3df8daaefe40c2/content/public/android/junit/src/org/chromium/content/browser/BindingManagerImplTest.java
[add] https://crrev.com/3c44bf08d8154bde7c160edf5e3df8daaefe40c2/content/public/android/junit/src/org/chromium/content/browser/ChildConnectionAllocatorTest.java
[modify] https://crrev.com/3c44bf08d8154bde7c160edf5e3df8daaefe40c2/content/public/android/junit/src/org/chromium/content/browser/SpareChildConnectionTest.java
[modify] https://crrev.com/3c44bf08d8154bde7c160edf5e3df8daaefe40c2/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/ChildProcessLauncherTestHelperService.java
[modify] https://crrev.com/3c44bf08d8154bde7c160edf5e3df8daaefe40c2/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/ChildProcessLauncherTestUtils.java

Project Member Comment 22 by bugdroid1@chromium.org, Jun 27
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9cb55eeb0221ae47594bf8088476ee0a9330e2c3

commit 9cb55eeb0221ae47594bf8088476ee0a9330e2c3
Author: Jay Civelli <jcivelli@google.com>
Date: Tue Jun 27 03:16:00 2017

Moving the release of moderate bindings to a listener.

Adding a new method to the ChildConnectionAllocator.Listener to notify
when a connection is added and making the ChildProcessLauncherHelper
use it to release the moderate bindings.
This is an intermediary step in changing the SpareChildConnection to
take an ChildConnectionAllocator instead of delegating the connection
creation to the ChildProcessLauncherHelper.

Bug: 702316
Change-Id: I6bfec0fd5df5a2420b26737115fd872585211d9f
Reviewed-on: https://chromium-review.googlesource.com/546921
Commit-Queue: Jay Civelli <jcivelli@chromium.org>
Reviewed-by: Jay Civelli <jcivelli@chromium.org>
Reviewed-by: Bo Liu <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482526}
[modify] https://crrev.com/9cb55eeb0221ae47594bf8088476ee0a9330e2c3/content/public/android/java/src/org/chromium/content/browser/ChildConnectionAllocator.java
[modify] https://crrev.com/9cb55eeb0221ae47594bf8088476ee0a9330e2c3/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncherHelper.java
[modify] https://crrev.com/9cb55eeb0221ae47594bf8088476ee0a9330e2c3/content/public/android/junit/src/org/chromium/content/browser/ChildConnectionAllocatorTest.java

Project Member Comment 23 by bugdroid1@chromium.org, Jun 27
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/89e6053861b239ce034188aca7959ff519fbc44f

commit 89e6053861b239ce034188aca7959ff519fbc44f
Author: Jay Civelli <jcivelli@google.com>
Date: Tue Jun 27 17:07:41 2017

Making MultiProcess tests use the ChildProcessService in base.

Now that ChildProcessService has been moved to base, the multiprocess
tests can use it instead of their duplicated version.
Also simplifying the way we retrieve the service's main method result.
Instead of the client polling, the service is now pushing the result to
the client.

Bug: 702316
Change-Id: If9cae5f0a6007a370b5d1788280cc2ba3b523a06
Reviewed-on: https://chromium-review.googlesource.com/545266
Commit-Queue: Jay Civelli <jcivelli@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482655}
[modify] https://crrev.com/89e6053861b239ce034188aca7959ff519fbc44f/base/android/java/src/org/chromium/base/process_launcher/ChildProcessServiceImpl.java
[modify] https://crrev.com/89e6053861b239ce034188aca7959ff519fbc44f/base/test/BUILD.gn
[delete] https://crrev.com/1b8597354a9400f5708d6e1476a51aff1b79ef15/base/test/android/java/src/org/chromium/base/ChildProcessConstants.java
[modify] https://crrev.com/89e6053861b239ce034188aca7959ff519fbc44f/base/test/android/java/src/org/chromium/base/ITestCallback.aidl
[modify] https://crrev.com/89e6053861b239ce034188aca7959ff519fbc44f/base/test/android/java/src/org/chromium/base/ITestController.aidl
[delete] https://crrev.com/1b8597354a9400f5708d6e1476a51aff1b79ef15/base/test/android/java/src/org/chromium/base/MainReturnCodeResult.aidl
[modify] https://crrev.com/89e6053861b239ce034188aca7959ff519fbc44f/base/test/android/java/src/org/chromium/base/MainReturnCodeResult.java
[modify] https://crrev.com/89e6053861b239ce034188aca7959ff519fbc44f/base/test/android/java/src/org/chromium/base/MultiprocessTestClientLauncher.java
[modify] https://crrev.com/89e6053861b239ce034188aca7959ff519fbc44f/base/test/android/java/src/org/chromium/base/MultiprocessTestClientService.java
[add] https://crrev.com/89e6053861b239ce034188aca7959ff519fbc44f/base/test/android/java/src/org/chromium/base/MultiprocessTestClientServiceDelegate.java
[modify] https://crrev.com/89e6053861b239ce034188aca7959ff519fbc44f/testing/android/native_test/java/src/org/chromium/native_test/MainRunner.java
[modify] https://crrev.com/89e6053861b239ce034188aca7959ff519fbc44f/testing/android/native_test/main_runner.cc

Project Member Comment 24 by bugdroid1@chromium.org, Jun 27
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/23b96b327574446b0e9abb5e67ae195e12f95952

commit 23b96b327574446b0e9abb5e67ae195e12f95952
Author: Jay Civelli <jcivelli@google.com>
Date: Tue Jun 27 23:56:24 2017

The SpareChildConnection now takes a ChildConnectionAllocator.

Changing the SpareChildConnection to take a ChildConnectionAllocator
instead of a factory to create connections.
This will help with the split of ChildProcessLauncherHelper to base
and content classes.
Also extracted the TestChildProcessConnection class from
BindingManagerImplTest.java to its own file as it is now also used in
SpareChildConnectionTest.

Bug: 702316
Change-Id: I69a7ab6fe0261355723b53c13c0b744e9332e332
Reviewed-on: https://chromium-review.googlesource.com/547365
Commit-Queue: Jay Civelli <jcivelli@chromium.org>
Reviewed-by: Bo Liu <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482800}
[modify] https://crrev.com/23b96b327574446b0e9abb5e67ae195e12f95952/content/public/android/BUILD.gn
[modify] https://crrev.com/23b96b327574446b0e9abb5e67ae195e12f95952/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncherHelper.java
[modify] https://crrev.com/23b96b327574446b0e9abb5e67ae195e12f95952/content/public/android/java/src/org/chromium/content/browser/SpareChildConnection.java
[modify] https://crrev.com/23b96b327574446b0e9abb5e67ae195e12f95952/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java
[modify] https://crrev.com/23b96b327574446b0e9abb5e67ae195e12f95952/content/public/android/junit/src/org/chromium/content/browser/BindingManagerImplTest.java
[modify] https://crrev.com/23b96b327574446b0e9abb5e67ae195e12f95952/content/public/android/junit/src/org/chromium/content/browser/SpareChildConnectionTest.java
[add] https://crrev.com/23b96b327574446b0e9abb5e67ae195e12f95952/content/public/android/junit/src/org/chromium/content/browser/TestChildProcessConnection.java

Project Member Comment 25 by bugdroid1@chromium.org, Jul 8
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9cf157082def6eed22bed2bd70288300777adcf3

commit 9cf157082def6eed22bed2bd70288300777adcf3
Author: Jay Civelli <jcivelli@google.com>
Date: Sat Jul 08 06:33:23 2017

Splitting ChildProcessLauncherHelper before move to base.

Extracting the launching code that will go to base from
ChildProcessLauncherHelper (CPLH) to ChildProcessLauncher (CPL).
CPLH now creates a CPL that takes care of creating the connection and
setting it up and delegates back to the CPLH for content specific behavior.

Adding tests to validate the CPL API and moving some existing tests to
use CPL instead of CPLH. The new tests use a new test service
(TestChildProcessService) that echoes back the delegate calls called
on it.  
Also removing the CPLH tests validating strong binding connections as
this is already tested in ChildConnectionAllocatorTest.

Bug: 702316
Change-Id: Ic2bda3f621530616cacc60e22007ca36464a0159
Reviewed-on: https://chromium-review.googlesource.com/557890
Commit-Queue: Jay Civelli <jcivelli@chromium.org>
Reviewed-by: Bo Liu <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#485140}
[modify] https://crrev.com/9cf157082def6eed22bed2bd70288300777adcf3/content/public/android/BUILD.gn
[modify] https://crrev.com/9cf157082def6eed22bed2bd70288300777adcf3/content/public/android/java/src/org/chromium/content/browser/ChildConnectionAllocator.java
[add] https://crrev.com/9cf157082def6eed22bed2bd70288300777adcf3/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
[modify] https://crrev.com/9cf157082def6eed22bed2bd70288300777adcf3/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncherHelper.java
[modify] https://crrev.com/9cf157082def6eed22bed2bd70288300777adcf3/content/public/android/java/src/org/chromium/content/browser/SpareChildConnection.java
[add] https://crrev.com/9cf157082def6eed22bed2bd70288300777adcf3/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherHelperTest.java
[modify] https://crrev.com/9cf157082def6eed22bed2bd70288300777adcf3/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java
[modify] https://crrev.com/9cf157082def6eed22bed2bd70288300777adcf3/content/shell/android/BUILD.gn
[modify] https://crrev.com/9cf157082def6eed22bed2bd70288300777adcf3/content/shell/android/shell_apk/AndroidManifest.xml.jinja2
[add] https://crrev.com/9cf157082def6eed22bed2bd70288300777adcf3/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/IChildProcessTest.aidl
[add] https://crrev.com/9cf157082def6eed22bed2bd70288300777adcf3/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/OWNERS
[add] https://crrev.com/9cf157082def6eed22bed2bd70288300777adcf3/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/TestChildProcessService.java
[add] https://crrev.com/9cf157082def6eed22bed2bd70288300777adcf3/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/TestChildProcessService0.java
[add] https://crrev.com/9cf157082def6eed22bed2bd70288300777adcf3/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/TestChildProcessService1.java

Project Member Comment 26 by bugdroid1@chromium.org, Jul 12
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1

commit 9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1
Author: Jay Civelli <jcivelli@google.com>
Date: Wed Jul 12 04:07:29 2017

Move ChildProcessLauncher to base/.

Moving the ChildProcessLauncher class to base.
This will allow the Multiprocess tests (used by mojo/ and ipc/) to
reuse the launching code instead of duplicating it.

TBR=dcheng

Bug: 702316
Change-Id: I8f05ce382bd87fe4f681fa510e1a61eab2d15428
Reviewed-on: https://chromium-review.googlesource.com/559833
Commit-Queue: Jay Civelli <jcivelli@chromium.org>
Reviewed-by: Jay Civelli <jcivelli@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Bo Liu <boliu@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#485832}
[modify] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsTest.java
[modify] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/base/BUILD.gn
[rename] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/base/android/java/src/org/chromium/base/process_launcher/ChildConnectionAllocator.java
[rename] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/base/android/java/src/org/chromium/base/process_launcher/ChildProcessConnection.java
[rename] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/base/android/java/src/org/chromium/base/process_launcher/ChildProcessLauncher.java
[rename] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/base/android/junit/src/org/chromium/base/process_launcher/ChildConnectionAllocatorTest.java
[modify] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/chrome/android/javatests/src/org/chromium/chrome/browser/BindingManagerIntegrationTest.java
[modify] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/content/public/android/BUILD.gn
[modify] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/content/public/android/java/src/org/chromium/content/browser/BindingManager.java
[modify] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/content/public/android/java/src/org/chromium/content/browser/BindingManagerImpl.java
[modify] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncherHelper.java
[modify] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/content/public/android/java/src/org/chromium/content/browser/LauncherThread.java
[modify] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/content/public/android/java/src/org/chromium/content/browser/SpareChildConnection.java
[modify] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherHelperTest.java
[modify] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherIntegrationTest.java
[modify] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java
[modify] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/content/public/android/junit/src/org/chromium/content/browser/BindingManagerImplTest.java
[modify] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/content/public/android/junit/src/org/chromium/content/browser/SpareChildConnectionTest.java
[modify] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/content/public/android/junit/src/org/chromium/content/browser/TestChildProcessConnection.java
[modify] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/ChildProcessLauncherTestHelperService.java
[modify] https://crrev.com/9bbb88ae99a65adb4c35ebaccf4e52c1abc135f1/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/ChildProcessLauncherTestUtils.java

Project Member Comment 27 by bugdroid1@chromium.org, Jul 14
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/93275f7d8b27b846dbe8237e6a8f0df54d87722d

commit 93275f7d8b27b846dbe8237e6a8f0df54d87722d
Author: Jay Civelli <jcivelli@google.com>
Date: Fri Jul 14 06:20:30 2017

Changing MultiprocessTestClient to use base ChildProcessLauncher.

Now that ChildProcessLauncher has been moved to base, changed the
MultiprocessTestClient to use it instead of duplicating the
functionality.

Bug: 702316
Change-Id: I3828f7cf16d815b45c7aca9925ef4b69866e66f4
Reviewed-on: https://chromium-review.googlesource.com/562519
Commit-Queue: Jay Civelli <jcivelli@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Cr-Commit-Position: refs/heads/master@{#486691}
[modify] https://crrev.com/93275f7d8b27b846dbe8237e6a8f0df54d87722d/base/test/android/java/src/org/chromium/base/MultiprocessTestClientLauncher.java
[modify] https://crrev.com/93275f7d8b27b846dbe8237e6a8f0df54d87722d/testing/android/native_test/java/AndroidManifest.xml.jinja2

Project Member Comment 28 by bugdroid1@chromium.org, Jul 17
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/243c7aec75f61b41a86246f8a75421ba1041b513

commit 243c7aec75f61b41a86246f8a75421ba1041b513
Author: Jay Civelli <jcivelli@google.com>
Date: Mon Jul 17 18:45:10 2017

Moving ChildProcessConnectionTest from content to base.

Moving the classes related to ChildProcessConnection from content to
base now that ChildProcessConnection lives in base.

Bug: 702316
Change-Id: If79a101768ea72cc00732fbb81d579e9948358ba
Reviewed-on: https://chromium-review.googlesource.com/568759
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: John Budorick <jbudorick@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Bo Liu <boliu@chromium.org>
Commit-Queue: Jay Civelli <jcivelli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487174}
[modify] https://crrev.com/243c7aec75f61b41a86246f8a75421ba1041b513/base/BUILD.gn
[modify] https://crrev.com/243c7aec75f61b41a86246f8a75421ba1041b513/base/android/java/src/org/chromium/base/process_launcher/ChildProcessConnection.java
[rename] https://crrev.com/243c7aec75f61b41a86246f8a75421ba1041b513/base/android/junit/src/org/chromium/base/process_launcher/ChildProcessConnectionTest.java
[rename] https://crrev.com/243c7aec75f61b41a86246f8a75421ba1041b513/base/test/android/javatests/src/org/chromium/base/test/TestChildProcessConnection.java
[modify] https://crrev.com/243c7aec75f61b41a86246f8a75421ba1041b513/content/public/android/BUILD.gn
[modify] https://crrev.com/243c7aec75f61b41a86246f8a75421ba1041b513/content/public/android/junit/src/org/chromium/content/browser/BindingManagerImplTest.java
[modify] https://crrev.com/243c7aec75f61b41a86246f8a75421ba1041b513/content/public/android/junit/src/org/chromium/content/browser/SpareChildConnectionTest.java

Project Member Comment 29 by bugdroid1@chromium.org, Jul 19
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/94655e0d3e009ef6157763fa866d1595bf26a926

commit 94655e0d3e009ef6157763fa866d1595bf26a926
Author: Jay Civelli <jcivelli@google.com>
Date: Wed Jul 19 17:13:36 2017

Adding more ChildProcessConnection unit-tests.

Adding more unit-test coverage to ChildProcessConnection.

Bug: 702316
Change-Id: I8ffee3636f944db7fa0e36fcc9a825aa1bd1766f
Reviewed-on: https://chromium-review.googlesource.com/569403
Commit-Queue: Jay Civelli <jcivelli@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Reviewed-by: Bo Liu <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487893}
[modify] https://crrev.com/94655e0d3e009ef6157763fa866d1595bf26a926/base/android/java/src/org/chromium/base/process_launcher/ChildProcessConnection.java
[modify] https://crrev.com/94655e0d3e009ef6157763fa866d1595bf26a926/base/android/java/src/org/chromium/base/process_launcher/IChildProcessService.aidl
[modify] https://crrev.com/94655e0d3e009ef6157763fa866d1595bf26a926/base/android/junit/src/org/chromium/base/process_launcher/ChildProcessConnectionTest.java
[modify] https://crrev.com/94655e0d3e009ef6157763fa866d1595bf26a926/base/test/android/javatests/src/org/chromium/base/test/TestChildProcessConnection.java
[modify] https://crrev.com/94655e0d3e009ef6157763fa866d1595bf26a926/content/public/android/junit/src/org/chromium/content/browser/SpareChildConnectionTest.java

Status: Fixed
Sign in to add a comment