| Index: content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
|
| diff --git a/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java b/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
|
| index df636694f45b4e868dcf8bf803d67968f1a5375b..a8fe50fd1423a09f2e8565f0a1402264803cc5a8 100644
|
| --- a/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
|
| +++ b/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
|
| @@ -15,8 +15,12 @@ import org.chromium.base.ThreadUtils;
|
| import org.chromium.base.TraceEvent;
|
| import org.chromium.base.VisibleForTesting;
|
| import org.chromium.base.library_loader.Linker;
|
| +import org.chromium.base.process_launcher.BaseChildProcessConnection;
|
| +import org.chromium.base.process_launcher.BindingManager;
|
| +import org.chromium.base.process_launcher.BindingManagerImpl;
|
| import org.chromium.base.process_launcher.ChildProcessCreationParams;
|
| import org.chromium.base.process_launcher.FileDescriptorInfo;
|
| +import org.chromium.base.process_launcher.ManagedChildProcessConnection;
|
| import org.chromium.content.app.ChromiumLinkerParams;
|
| import org.chromium.content.common.ContentSwitches;
|
|
|
| @@ -100,10 +104,11 @@ public class ChildProcessLauncher {
|
| @VisibleForTesting
|
| static Bundle createCommonParamsBundle(ChildProcessCreationParams params) {
|
| Bundle commonParams = new Bundle();
|
| - commonParams.putParcelable(
|
| - ChildProcessConstants.EXTRA_LINKER_PARAMS, getLinkerParamsForNewConnection());
|
| + commonParams.putParcelable(ContentChildProcessConstants.EXTRA_LINKER_PARAMS,
|
| + getLinkerParamsForNewConnection());
|
| final boolean bindToCallerCheck = params == null ? false : params.getBindToCallerCheck();
|
| - commonParams.putBoolean(ChildProcessConstants.EXTRA_BIND_TO_CALLER, bindToCallerCheck);
|
| + commonParams.putBoolean(
|
| + ContentChildProcessConstants.EXTRA_BIND_TO_CALLER, bindToCallerCheck);
|
| return commonParams;
|
| }
|
|
|
| @@ -207,7 +212,8 @@ public class ChildProcessLauncher {
|
| public static BindingManager getBindingManager() {
|
| synchronized (sBindingManagerLock) {
|
| if (sBindingManager == null) {
|
| - sBindingManager = BindingManagerImpl.createBindingManager();
|
| + sBindingManager =
|
| + BindingManagerImpl.createBindingManager(LauncherThread.getHandler());
|
| }
|
| return sBindingManager;
|
| }
|
| @@ -469,23 +475,6 @@ public class ChildProcessLauncher {
|
| }
|
| }
|
|
|
| - /**
|
| - * Create the common bundle to be passed to child processes.
|
| - * @param context Application context.
|
| - * @param commandLine Command line params to be passed to the service.
|
| - * @param linkerParams Linker params to start the service.
|
| - */
|
| - protected static Bundle createsServiceBundle(
|
| - String[] commandLine, FileDescriptorInfo[] filesToBeMapped) {
|
| - Bundle bundle = new Bundle();
|
| - bundle.putStringArray(ChildProcessConstants.EXTRA_COMMAND_LINE, commandLine);
|
| - bundle.putParcelableArray(ChildProcessConstants.EXTRA_FILES, filesToBeMapped);
|
| - bundle.putInt(ChildProcessConstants.EXTRA_CPU_COUNT, CpuFeatures.getCount());
|
| - bundle.putLong(ChildProcessConstants.EXTRA_CPU_FEATURES, CpuFeatures.getMask());
|
| - bundle.putBundle(Linker.EXTRA_LINKER_SHARED_RELROS, Linker.getInstance().getSharedRelros());
|
| - return bundle;
|
| - }
|
| -
|
| @VisibleForTesting
|
| static void triggerConnectionSetup(final BaseChildProcessConnection connection,
|
| String[] commandLine, int childProcessId, FileDescriptorInfo[] filesToBeMapped,
|
| @@ -495,6 +484,16 @@ public class ChildProcessLauncher {
|
| BaseChildProcessConnection.ConnectionCallback connectionCallback =
|
| new BaseChildProcessConnection.ConnectionCallback() {
|
| @Override
|
| + public void onConnectionSetup(Bundle params) {
|
| + params.putInt(ContentChildProcessConstants.EXTRA_CPU_COUNT,
|
| + CpuFeatures.getCount());
|
| + params.putLong(ContentChildProcessConstants.EXTRA_CPU_FEATURES,
|
| + CpuFeatures.getMask());
|
| + params.putBundle(Linker.EXTRA_LINKER_SHARED_RELROS,
|
| + Linker.getInstance().getSharedRelros());
|
| + }
|
| +
|
| + @Override
|
| public void onConnected(BaseChildProcessConnection connection) {
|
| assert LauncherThread.runningOnLauncherThread();
|
| if (connection != null) {
|
|
|