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

Unified Diff: content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java

Issue 2795333002: [Merge m58] Abstracting parameters passed to child processes on Android. (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/public/android/java/src/org/chromium/content/browser/ChildProcessCreationParams.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
}
/**
« no previous file with comments | « content/public/android/java/src/org/chromium/content/browser/ChildProcessCreationParams.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698