In ChildProcessLauncher.start() when a connection is allocated the alwaysInForeground parameter is not enforced, instead any non-sandboxed process is always strongly bound. This should not be the case for utility processes.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3b1e029f111a9c24ecef1cc497c263ac1a1d731b commit 3b1e029f111a9c24ecef1cc497c263ac1a1d731b Author: Jay Civelli <jcivelli@google.com> Date: Thu May 18 05:09:06 2017 ChildProcessLauncher: alwaysInForeground parameter was not enforced. The alwaysInForeground in ChildProcessLauncher.start() was not enforced. Any non sandboxed process was strongly bound, which is wrong (utility processed should not be strongly bound). BUG= 723874 Change-Id: I90f91c24607f064269ef754088d45e6effaa8515 Reviewed-on: https://chromium-review.googlesource.com/508176 Reviewed-by: Bo Liu <boliu@chromium.org> Commit-Queue: Jay Civelli <jcivelli@chromium.org> Cr-Commit-Position: refs/heads/master@{#472677} [modify] https://crrev.com/3b1e029f111a9c24ecef1cc497c263ac1a1d731b/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java [modify] https://crrev.com/3b1e029f111a9c24ecef1cc497c263ac1a1d731b/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java [modify] https://crrev.com/3b1e029f111a9c24ecef1cc497c263ac1a1d731b/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/ChildProcessLauncherTestHelperService.java [modify] https://crrev.com/3b1e029f111a9c24ecef1cc497c263ac1a1d731b/content/shell/android/shell_apk/src/org/chromium/content_shell_apk/ChildProcessLauncherTestUtils.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/22499abf48191c58dd37bffd291157e9a06278a4 commit 22499abf48191c58dd37bffd291157e9a06278a4 Author: Jay Civelli <jcivelli@google.com> Date: Thu May 25 05:12:41 2017 Making bindAsExternalService a parameter to the allocator constructor. A ChildProcessAllocator is now created with the bindAsExternalService parameter instead of specifying it when allocating a connection. Also made ChildProcessConnection take a ComponentInfo in its constructor instead of the package and service name of the service. BUG= 723874 Change-Id: I5d9e4660c4242f8d4e5e372ddeb9e299e207bea7 Reviewed-on: https://chromium-review.googlesource.com/514424 Reviewed-by: Bo Liu <boliu@chromium.org> Commit-Queue: Jay Civelli <jcivelli@chromium.org> Cr-Commit-Position: refs/heads/master@{#474558} [modify] https://crrev.com/22499abf48191c58dd37bffd291157e9a06278a4/base/android/java/src/org/chromium/base/process_launcher/ChildProcessCreationParams.java [modify] https://crrev.com/22499abf48191c58dd37bffd291157e9a06278a4/content/public/android/java/src/org/chromium/content/browser/ChildConnectionAllocator.java [modify] https://crrev.com/22499abf48191c58dd37bffd291157e9a06278a4/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java [modify] https://crrev.com/22499abf48191c58dd37bffd291157e9a06278a4/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java [modify] https://crrev.com/22499abf48191c58dd37bffd291157e9a06278a4/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherIntegrationTest.java [modify] https://crrev.com/22499abf48191c58dd37bffd291157e9a06278a4/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java [modify] https://crrev.com/22499abf48191c58dd37bffd291157e9a06278a4/content/public/android/junit/src/org/chromium/content/browser/BindingManagerImplTest.java [modify] https://crrev.com/22499abf48191c58dd37bffd291157e9a06278a4/content/public/android/junit/src/org/chromium/content/browser/SpareChildConnectionTest.java
Comment 1 by bugdroid1@chromium.org
, May 18 2017