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

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

Issue 2796453003: android: Limit bindToCaller check to webview (Closed)
Patch Set: rebase, removed final from chrome 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
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 eabce8e41ec4ad1b767ce0e0a2d7571826f94fd9..bd45e7f7fbeeb17f847aab1cf42afb5ea08b817d 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
@@ -404,15 +404,22 @@ public class ChildProcessLauncher {
}
}
+ private static Bundle createCommonParamsBundle(ChildProcessCreationParams params) {
+ Bundle commonParams = new Bundle();
+ commonParams.putParcelable(
+ ChildProcessConstants.EXTRA_LINKER_PARAMS, getLinkerParamsForNewConnection());
+ final boolean bindToCallerCheck = params == null ? false : params.getBindToCallerCheck();
+ commonParams.putBoolean(ChildProcessConstants.EXTRA_BIND_TO_CALLER, bindToCallerCheck);
+ return commonParams;
+ }
+
private static ChildProcessConnection allocateBoundConnection(
SpawnData spawnData, ChildProcessConnection.StartCallback startCallback) {
final Context context = spawnData.getContext();
final boolean inSandbox = spawnData.isInSandbox();
final ChildProcessCreationParams creationParams = spawnData.getCreationParams();
- Bundle commonParams = new Bundle();
- commonParams.putParcelable(
- ChildProcessConstants.EXTRA_LINKER_PARAMS, getLinkerParamsForNewConnection());
- ChildProcessConnection connection = allocateConnection(spawnData, commonParams);
+ ChildProcessConnection connection = allocateConnection(
+ spawnData, createCommonParamsBundle(spawnData.getCreationParams()));
if (connection != null) {
connection.start(startCallback);
@@ -631,7 +638,8 @@ public class ChildProcessLauncher {
// Chrome's package to use when initializing a non-renderer processes.
// TODO(boliu): Should fold into |paramId|. Investigate why this is needed.
params = new ChildProcessCreationParams(context.getPackageName(),
- params.getIsExternalService(), params.getLibraryProcessType());
+ params.getIsExternalService(), params.getLibraryProcessType(),
+ params.getBindToCallerCheck());
}
if (ContentSwitches.SWITCH_GPU_PROCESS.equals(processType)) {
childProcessCallback = new GpuProcessCallback();
@@ -800,17 +808,14 @@ public class ChildProcessLauncher {
}
@VisibleForTesting
- static ChildProcessConnection allocateConnectionForTesting(Context context,
- ChildProcessCreationParams creationParams) {
- Bundle commonParams = new Bundle();
- commonParams.putParcelable(
- ChildProcessConstants.EXTRA_LINKER_PARAMS, getLinkerParamsForNewConnection());
+ static ChildProcessConnection allocateConnectionForTesting(
+ Context context, ChildProcessCreationParams creationParams) {
return allocateConnection(
new SpawnData(false /* forWarmUp */, context, null /* commandLine */,
0 /* childProcessId */, null /* filesToBeMapped */,
null /* launchCallback */, null /* childProcessCallback */,
true /* inSandbox */, false /* alwaysInForeground */, creationParams),
- commonParams);
+ createCommonParamsBundle(creationParams));
}
/**

Powered by Google App Engine
This is Rietveld 408576698