| 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 69a222cc09cdd2e35e01126be0d1b29b8564267a..3f27b404b15c02e7f265f5fe5feb5d51d369681e 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
|
| @@ -86,7 +86,7 @@ public class ChildProcessLauncher {
|
| // Allocate or enqueue. If there are no free slots, return null and enqueue the spawn data.
|
| public ChildProcessConnection allocate(SpawnData spawnData,
|
| ChildProcessConnection.DeathCallback deathCallback,
|
| - ChromiumLinkerParams chromiumLinkerParams, boolean alwaysInForeground) {
|
| + Bundle childProcessCommonParameters, boolean alwaysInForeground) {
|
| assert spawnData.inSandbox() == mInSandbox;
|
| synchronized (mConnectionLock) {
|
| if (mFreeConnectionIndices.isEmpty()) {
|
| @@ -98,9 +98,10 @@ public class ChildProcessLauncher {
|
| }
|
| int slot = mFreeConnectionIndices.remove(0);
|
| assert mChildProcessConnections[slot] == null;
|
| - mChildProcessConnections[slot] = new ChildProcessConnectionImpl(spawnData.context(),
|
| - slot, mInSandbox, deathCallback, mChildClassName, chromiumLinkerParams,
|
| - alwaysInForeground, spawnData.getCreationParams());
|
| + mChildProcessConnections[slot] =
|
| + new ChildProcessConnectionImpl(spawnData.context(), slot, mInSandbox,
|
| + deathCallback, mChildClassName, childProcessCommonParameters,
|
| + alwaysInForeground, spawnData.getCreationParams());
|
| Log.d(TAG, "Allocator allocated a connection, sandbox: %b, slot: %d", mInSandbox,
|
| slot);
|
| return mChildProcessConnections[slot];
|
| @@ -351,8 +352,8 @@ public class ChildProcessLauncher {
|
| return getConnectionAllocator(packageName, inSandbox);
|
| }
|
|
|
| - private static ChildProcessConnection allocateConnection(SpawnData spawnData,
|
| - ChromiumLinkerParams chromiumLinkerParams, boolean alwaysInForeground) {
|
| + private static ChildProcessConnection allocateConnection(
|
| + SpawnData spawnData, Bundle childProcessCommonParams, boolean alwaysInForeground) {
|
| ChildProcessConnection.DeathCallback deathCallback =
|
| new ChildProcessConnection.DeathCallback() {
|
| @Override
|
| @@ -371,7 +372,7 @@ public class ChildProcessLauncher {
|
| creationParams != null ? creationParams.getPackageName() : context.getPackageName();
|
| initConnectionAllocatorsIfNecessary(context, inSandbox, packageName);
|
| return getConnectionAllocator(packageName, inSandbox)
|
| - .allocate(spawnData, deathCallback, chromiumLinkerParams, alwaysInForeground);
|
| + .allocate(spawnData, deathCallback, childProcessCommonParams, alwaysInForeground);
|
| }
|
|
|
| private static boolean sLinkerInitialized;
|
| @@ -409,9 +410,11 @@ public class ChildProcessLauncher {
|
| final Context context = spawnData.context();
|
| final boolean inSandbox = spawnData.inSandbox();
|
| final ChildProcessCreationParams creationParams = spawnData.getCreationParams();
|
| - ChromiumLinkerParams chromiumLinkerParams = getLinkerParamsForNewConnection();
|
| + Bundle commonParams = new Bundle();
|
| + commonParams.putParcelable(
|
| + ChildProcessConstants.EXTRA_LINKER_PARAMS, getLinkerParamsForNewConnection());
|
| ChildProcessConnection connection =
|
| - allocateConnection(spawnData, chromiumLinkerParams, alwaysInForeground);
|
| + allocateConnection(spawnData, commonParams, alwaysInForeground);
|
| if (connection != null) {
|
| connection.start(startCallback);
|
|
|
| @@ -888,11 +891,14 @@ public class ChildProcessLauncher {
|
| @VisibleForTesting
|
| static ChildProcessConnection allocateConnectionForTesting(Context context,
|
| ChildProcessCreationParams creationParams) {
|
| + Bundle commonParams = new Bundle();
|
| + commonParams.putParcelable(
|
| + ChildProcessConstants.EXTRA_LINKER_PARAMS, getLinkerParamsForNewConnection());
|
| return allocateConnection(
|
| new SpawnData(false /* forWarmUp */, context, null /* commandLine */,
|
| 0 /* childProcessId */, null /* filesToBeMapped */, 0 /* clientContext */,
|
| CALLBACK_FOR_RENDERER_PROCESS, true /* inSandbox */, creationParams),
|
| - getLinkerParamsForNewConnection(), false);
|
| + commonParams, false);
|
| }
|
|
|
| /**
|
|
|