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

Issue 2650013003: Bind Android ChildProcessServices to a specific client PID. (Closed)

Created:
3 years, 11 months ago by Robert Sesek
Modified:
3 years, 11 months ago
Reviewers:
CC:
chromium-reviews
Target Ref:
refs/pending/branch-heads/2987
Project:
chromium
Visibility:
Public.

Description

Bind Android ChildProcessServices to a specific client PID. A ChildProcessService may only be setup once, but nothing enforced this limit, and a second client of the service would receive no indication of failure. This situation could occur with Android WebView in multi-process mode, if two android:processes in the same package tried to use WebView. To solve this issue, introduce an initial handshake message in IChildProcessService that must be issued before setupConnection. This method binds the service to the calling PID. If that binding fails, the ChildProcessLauncher can then re-try creating a service process using the next available slot. BUG=558377, 683133 Review-Url: https://codereview.chromium.org/2626413004 Cr-Commit-Position: refs/heads/master@{#445779} (cherry picked from commit abd3ee77b9cfd7b3d8cf5f95c511e328645f8fde) Review-Url: https://codereview.chromium.org/2650013003 . Cr-Commit-Position: refs/branch-heads/2987@{#68} Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943} Committed: https://chromium.googlesource.com/chromium/src/+/fe176c89799b405c9093d628ad4cf6347d6d5d6a

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+437 lines, -28 lines) Patch
M content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java View 2 chunks +36 lines, -3 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java View 2 chunks +20 lines, -1 line 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java View 4 chunks +21 lines, -1 line 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java View 10 chunks +96 lines, -17 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/common/IChildProcessService.aidl View 1 chunk +5 lines, -0 lines 0 comments Download
A content/public/android/java/src/org/chromium/content/common/OWNERS View 1 chunk +2 lines, -0 lines 0 comments Download
M content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java View 3 chunks +147 lines, -0 lines 0 comments Download
M content/public/android/junit/src/org/chromium/content/browser/BindingManagerImplTest.java View 2 chunks +8 lines, -6 lines 0 comments Download
M content/shell/android/BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
M content/shell/android/shell_apk/AndroidManifest.xml.jinja2 View 1 chunk +2 lines, -0 lines 0 comments Download
A content/shell/android/shell_apk/src/org/chromium/content_shell_apk/ChildProcessLauncherTestHelperService.java View 1 chunk +99 lines, -0 lines 0 comments Download

Messages

Total messages: 2 (1 generated)
Robert Sesek
3 years, 11 months ago (2017-01-24 19:40:58 UTC) #2
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
fe176c89799b405c9093d628ad4cf6347d6d5d6a.

Powered by Google App Engine
This is Rietveld 408576698