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

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

Issue 2706933003: webapk: Avoid overwriting default CreationParams
Patch Set: rebase 461342 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: 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 ad8637d86b75f22ad68556ebf62dd4f0a9ab40d5..dc345e95fd68aa3c499e1c831650b9db42f1d3f6 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
@@ -31,8 +31,7 @@ public class WebApkActivity extends WebappActivity {
/** Indicates whether launching renderer in WebAPK process is enabled. */
private boolean mCanLaunchRendererInWebApkProcess;
- private final ChildProcessCreationParams mDefaultParams =
- ChildProcessCreationParams.getDefault();
+ private int mWebApkChildProcessCreationParamsId = ChildProcessCreationParams.DEFAULT_ID;
@Override
protected WebappInfo createWebappInfo(Intent intent) {
@@ -77,6 +76,11 @@ public class WebApkActivity extends WebappActivity {
Tab tab) {
return new WebApkBrowserControlsDelegate(WebApkActivity.this, tab);
}
+
+ @Override
+ public int getChildProcessParamId() {
+ return WebApkActivity.this.mWebApkChildProcessCreationParamsId;
+ }
};
}
@@ -117,7 +121,10 @@ public class WebApkActivity extends WebappActivity {
// renderer processes by declaring the Chrome's renderer service in its AndroidManifest.xml
// and sets {@link ChildProcessCreationParams} for WebAPK's renderer process so the
// {@link ChildProcessLauncher} knows which application's renderer service to connect to.
- initializeChildProcessCreationParams(mCanLaunchRendererInWebApkProcess);
+ boolean isExternalService = false;
+ mWebApkChildProcessCreationParamsId = ChildProcessCreationParams.register(
+ new ChildProcessCreationParams(getWebappInfo().webApkPackageName(),
+ isExternalService, LibraryProcessType.PROCESS_CHILD));
}
@Override
@@ -150,33 +157,14 @@ public class WebApkActivity extends WebappActivity {
}
@Override
- public void onPause() {
- super.onPause();
- initializeChildProcessCreationParams(false);
- }
-
- /**
- * Initializes {@link ChildProcessCreationParams} as a WebAPK's renderer process if
- * {@link isForWebApk}} is true; as Chrome's child process otherwise.
- * @param isForWebApk: Whether the {@link ChildProcessCreationParams} is initialized as a
- * WebAPK renderer process.
- */
- private void initializeChildProcessCreationParams(boolean isForWebApk) {
- // TODO(hanxi): crbug.com/664530. WebAPKs shouldn't use a global ChildProcessCreationParams.
- ChildProcessCreationParams params = mDefaultParams;
- if (isForWebApk) {
- boolean isExternalService = false;
- params = new ChildProcessCreationParams(getWebappInfo().webApkPackageName(),
- isExternalService, LibraryProcessType.PROCESS_CHILD);
- }
- ChildProcessCreationParams.registerDefault(params);
- }
-
- @Override
protected void onDestroyInternal() {
if (mUpdateManager != null) {
mUpdateManager.destroy();
}
+ if (mWebApkChildProcessCreationParamsId != ChildProcessCreationParams.DEFAULT_ID) {
+ ChildProcessCreationParams.unregister(mWebApkChildProcessCreationParamsId);
+ mWebApkChildProcessCreationParamsId = ChildProcessCreationParams.DEFAULT_ID;
+ }
super.onDestroyInternal();
}
}

Powered by Google App Engine
This is Rietveld 408576698