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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java

Issue 2017963003: Upstream: ChildProcessLauncher connects renderer processes of WebAPKs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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: chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java
index 2cd5ea50d829ef8efec3498d910f8cdb120fc8a4..63b76a6d714e390ab2a4609287139631480111df 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java
@@ -6,7 +6,11 @@ package org.chromium.chrome.browser.webapps;
import android.content.Intent;
+import org.chromium.base.ContextUtils;
+import org.chromium.base.library_loader.LibraryProcessType;
+import org.chromium.chrome.browser.ChromeApplication;
import org.chromium.chrome.browser.ShortcutHelper;
+import org.chromium.content.browser.ChildProcessCreationParams;
import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.ui.base.PageTransition;
@@ -39,4 +43,36 @@ public class WebApkActivity extends WebappActivity {
// when WebAPKs are registered in WebappRegistry.
initializeSplashScreenWidgets(backgroundColor, null);
}
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ // WebAPK hosts Chrome's renderer processes by declaring Chrome' renderer service in its
+ // AndroidManifest.xml. We set WebAPK's child process creation parameter to let the
+ // {@link ChildProcessLauncher} knows which application's renderer service to connect.
pkotwicz 2016/05/27 21:10:13 Nit: connect to Can you update this comment. I do
Xi Han 2016/05/27 21:31:39 Done.
+ initializeChildProcessCreationParams(true);
+ }
+
+ @Override
+ protected void initializeChildProcessCreationParams() {
+ // TODO(hanxi): crbug.com/611842. Investigates whether this function works for multiple
+ // window or with --site-per-process enabled.
pkotwicz 2016/05/27 21:10:13 window -> windows
Xi Han 2016/05/27 21:31:39 Done.
+ initializeChildProcessCreationParams(true);
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ initializeChildProcessCreationParams(false);
+ }
+
pkotwicz 2016/05/27 21:10:13 Nit: isForWebApk Please add a comment to this fun
Xi Han 2016/05/27 21:31:39 Done.
+ private void initializeChildProcessCreationParams(boolean isforWebApk) {
+ ChromeApplication chrome = (ChromeApplication) ContextUtils.getApplicationContext();
+ ChildProcessCreationParams params = chrome.getChildProcessCreationParams();
+ if (isforWebApk) {
+ params = new ChildProcessCreationParams(getWebappInfo().webApkPackageName(),
+ params.getExtraBindFlags(), LibraryProcessType.PROCESS_WEBAPK_CHILD);
+ }
+ ChildProcessCreationParams.set(params);
+ }
}

Powered by Google App Engine
This is Rietveld 408576698