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

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

Issue 2124513002: Introduce ManifestUpgradeDetector for WebAPK to detect web manifest changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove ManifestUpgradeDetector.Observer. Created 4 years, 5 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 28547bfbc1c1751139565e3e3d2f1112552c8a49..8800eaac3d4afe6e27bf4c83f7204b49c8c9f987 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
@@ -28,6 +28,10 @@ import org.chromium.webapk.lib.client.WebApkServiceConnectionManager;
* UI-less Chrome.
*/
public class WebApkActivity extends WebappActivity {
+ private static final String TAG = "cr_WebApkActivity";
+ private ManifestUpgradeDetector mManifestUpgradeDetector = null;
+ private boolean mIsWebApkRegistered = false;
+
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
@@ -59,12 +63,13 @@ public class WebApkActivity extends WebappActivity {
@Override
public void onWebappDataStorageRetrieved(
WebappDataStorage storage) {
- storage.updateFromShortcutIntent(getIntent());
+ storage.updateFromShortcutIntent(getIntent(), true);
+ mIsWebApkRegistered = true;
}
});
return;
}
-
+ mIsWebApkRegistered = true;
// Update WebappInfo from WebappDataStorage because the information in WebappDataStorage
// is more up to date than the information in the launch intent. Whenever the Web Manifest
// changes, WebappDataStorage is updated. Depending on which of the Web Manifest's fields
@@ -144,6 +149,16 @@ public class WebApkActivity extends WebappActivity {
}
@Override
+ protected void checkUpdates() {
+ // TODO(hanxi): Asks WebApk's update manager whether to check resources updates.
+ if (mManifestUpgradeDetector == null && mIsWebApkRegistered) {
+ mManifestUpgradeDetector =
+ new ManifestUpgradeDetector(this, getActivityTab(), mWebappInfo);
+ }
+ mManifestUpgradeDetector.start();
+ }
+
+ @Override
public void onPause() {
super.onPause();
initializeChildProcessCreationParams(false);
@@ -165,4 +180,12 @@ public class WebApkActivity extends WebappActivity {
}
ChildProcessCreationParams.set(params);
}
+
+ @Override
+ protected void onDestroyInternal() {
+ if (mManifestUpgradeDetector != null) {
+ mManifestUpgradeDetector.destroy();
+ }
+ super.onDestroyInternal();
+ }
}

Powered by Google App Engine
This is Rietveld 408576698