| 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.
|
| + 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.
|
| + initializeChildProcessCreationParams(true);
|
| + }
|
| +
|
| + @Override
|
| + public void onPause() {
|
| + super.onPause();
|
| + initializeChildProcessCreationParams(false);
|
| + }
|
| +
|
| + 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);
|
| + }
|
| }
|
|
|