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

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

Issue 2793623002: android: Limit num renderer to service slots (Closed)
Patch Set: fix remaining unit tests Created 3 years, 9 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/ChildProcessLauncherHelper.java
diff --git a/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncherHelper.java b/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncherHelper.java
index 588589f8c055566bc05d50a0148839a8cf42a3e6..fada089cc25a6ecb2dddd336b20cb32f3a58a3d2 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncherHelper.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncherHelper.java
@@ -7,9 +7,11 @@ package org.chromium.content.browser;
import android.content.Context;
import android.os.ParcelFileDescriptor;
+import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.JNINamespace;
+import org.chromium.base.process_launcher.ChildProcessCreationParams;
import org.chromium.base.process_launcher.FileDescriptorInfo;
import java.io.IOException;
@@ -90,6 +92,23 @@ class ChildProcessLauncherHelper {
ChildProcessLauncher.stop(pid);
}
+ // Called on UI thread.
+ @CalledByNative
+ private static int getNumberOfRendererSlots() {
+ final ChildProcessCreationParams params = ChildProcessCreationParams.getDefault();
+ final Context context = ContextUtils.getApplicationContext();
+ final boolean inSandbox = true;
+ final String packageName =
+ params == null ? context.getPackageName() : params.getPackageName();
+ try {
+ return ChildProcessLauncher.getNumberOfServices(context, inSandbox, packageName);
+ } catch (RuntimeException e) {
+ // Unittest packages do not declare services. Some tests require a realistic number
+ // to test child process policies, so pick a high-ish number here.
+ return 65535;
+ }
+ }
+
// Can be called on a number of threads, including launcher, and binder.
private static native void nativeOnChildProcessStarted(
long nativeChildProcessLauncherHelper, int pid);

Powered by Google App Engine
This is Rietveld 408576698