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

Issue 2124513002: Introduce ManifestUpgradeDetector for WebAPK to detect web manifest changes. (Closed)

Created:
4 years, 5 months ago by Xi Han
Modified:
4 years, 4 months ago
Reviewers:
dominickn, pkotwicz, Yaron
CC:
chromium-reviews, dominickn+watch_chromium.org, Yaron
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Introduce ManifestUpgradeDetector for WebAPK to detect web manifest changes. The ManifestUpgradeDetector fetches the latest web manifest for a WebAPK, compare with cached one and make a decision of whether to request re-mint. The ManifestUpgradeDetector is initilized for WebApkActivity when it needs to check resources changes. Once the detector starts, it observes WebContents's change, and stops when the manifest file of the WebApk is found and fetched. This is because not all of the urls within the WebAPK's scope link to its manifest file. Therefore, the detector needs to follow WebContents's change until find the manifest file. TEST=org.chromium.chrome.browser.webapps.ManifestUpgradeDetectorTest BUG=624834 Committed: https://crrev.com/e72182e94924a4a8af00b016ed75fb1bdc554500 Cr-Commit-Position: refs/heads/master@{#408636}

Patch Set 1 : Introduce manifest upgrade detector. #

Total comments: 17

Patch Set 2 : Remove data fetcher and doesn't fetch icon for now. #

Total comments: 22

Patch Set 3 : Remove changes of short name. #

Total comments: 12

Patch Set 4 : Remove ManifestUpgradeDetector.Observer. #

Total comments: 44

Patch Set 5 : Fix the scope. #

Total comments: 18

Patch Set 6 : pkotwicz@'s comments. #

Total comments: 2

Patch Set 7 : Remove IconUrls. #

Total comments: 46

Patch Set 8 : Get start_url from WebAPK's metadata and nits. #

Total comments: 61

Patch Set 9 : pkotwicz@ and yfriedman@'s comments. #

Total comments: 25

Patch Set 10 : Every change in web manifest will request to re-mint WebAPK. #

Total comments: 29

Patch Set 11 : Clean up. #

Total comments: 40

Patch Set 12 : Clean up and remove unit_tests. #

Total comments: 13

Patch Set 13 : Nits. #

Total comments: 3

Patch Set 14 : Remvoe tests in WebappDataStorageTests. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+599 lines, -12 lines) Patch
A chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +184 lines, -0 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java View 1 2 3 4 5 6 7 8 9 10 3 chunks +23 lines, -0 lines 0 comments Download
M chrome/android/java_sources.gni View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +2 lines, -0 lines 0 comments Download
A chrome/android/javatests/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetectorTest.java View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +146 lines, -0 lines 0 comments Download
M chrome/android/webapk/libs/runtime_library/src/org/chromium/webapk/lib/runtime_library/HostBrowserLauncher.java View 1 2 3 4 5 6 7 8 3 chunks +10 lines, -6 lines 0 comments Download
M chrome/android/webapk/shell_apk/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/browser/android/chrome_jni_registrar.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +2 lines, -0 lines 0 comments Download
A chrome/browser/android/webapk/manifest_upgrade_detector.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +81 lines, -0 lines 0 comments Download
A chrome/browser/android/webapk/manifest_upgrade_detector.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +142 lines, -0 lines 0 comments Download
M chrome/chrome_browser.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +5 lines, -2 lines 0 comments Download
A + chrome/test/data/webapps/manifest_test_page_test_start_url_change.html View 1 chunk +2 lines, -2 lines 0 comments Download

Messages

Total messages: 87 (48 generated)
Xi Han
Hi Peter, could you please take a look? Thanks!
4 years, 5 months ago (2016-07-11 18:13:51 UTC) #13
pkotwicz
4 years, 5 months ago (2016-07-11 20:46:08 UTC) #14
dominickn
Drive-by FYI 1: I'm removing WebContents::HasManifest in crrev.com/2140463002 (I've made manifest_url.is_empty() in WebContents::GetManifest mean the ...
4 years, 5 months ago (2016-07-12 01:18:08 UTC) #15
pkotwicz
https://codereview.chromium.org/2124513002/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java File chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java (right): https://codereview.chromium.org/2124513002/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java#newcode123 chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java:123: final Set<String> iconUrlSet = new HashSet<String>(Arrays.asList(iconUrls)); This if() statement ...
4 years, 5 months ago (2016-07-12 01:23:49 UTC) #16
pkotwicz
This is a complicated piece of logic. Xi, I really appreciate you taking this task ...
4 years, 5 months ago (2016-07-12 01:26:09 UTC) #17
Xi Han
To Dominick: Thanks for the heads up. Very excited to see your patch. Meanwhile, I ...
4 years, 5 months ago (2016-07-12 20:53:41 UTC) #24
pkotwicz
https://codereview.chromium.org/2124513002/diff/120001/chrome/browser/android/webapps/manifest_upgrade_detector.cc File chrome/browser/android/webapps/manifest_upgrade_detector.cc (right): https://codereview.chromium.org/2124513002/diff/120001/chrome/browser/android/webapps/manifest_upgrade_detector.cc#newcode56 chrome/browser/android/webapps/manifest_upgrade_detector.cc:56: const GURL& validated_url) { My concern is that if ...
4 years, 5 months ago (2016-07-12 21:04:28 UTC) #25
pkotwicz
https://codereview.chromium.org/2124513002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java File chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java (right): https://codereview.chromium.org/2124513002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java#newcode48 chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java:48: public ManifestUpgradeDetector(Tab tab, WebappInfo info) { Can the observer ...
4 years, 5 months ago (2016-07-13 01:08:20 UTC) #26
pkotwicz
https://codereview.chromium.org/2124513002/diff/220001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java File chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java (right): https://codereview.chromium.org/2124513002/diff/220001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java#newcode164 chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java:164: || mWebappInfo.backgroundColor() != newInfo.backgroundColor(); We need to also rebuild ...
4 years, 5 months ago (2016-07-13 03:37:34 UTC) #27
Xi Han
Hi Peter, PTAL, thanks! https://codereview.chromium.org/2124513002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java File chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java (right): https://codereview.chromium.org/2124513002/diff/200001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java#newcode48 chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java:48: public ManifestUpgradeDetector(Tab tab, WebappInfo info) ...
4 years, 5 months ago (2016-07-13 19:25:15 UTC) #29
pkotwicz
https://codereview.chromium.org/2124513002/diff/260001/chrome/browser/android/webapps/manifest_upgrade_detector.cc File chrome/browser/android/webapps/manifest_upgrade_detector.cc (right): https://codereview.chromium.org/2124513002/diff/260001/chrome/browser/android/webapps/manifest_upgrade_detector.cc#newcode13 chrome/browser/android/webapps/manifest_upgrade_detector.cc:13: #include "chrome/browser/banners/app_banner_manager.h" Nit: Remove include :) https://codereview.chromium.org/2124513002/diff/260001/chrome/browser/android/webapps/manifest_upgrade_detector.cc#newcode21 chrome/browser/android/webapps/manifest_upgrade_detector.cc:21: using ...
4 years, 5 months ago (2016-07-13 21:01:16 UTC) #30
pkotwicz
Mostly nits https://codereview.chromium.org/2124513002/diff/200001/chrome/browser/android/webapps/manifest_upgrade_detector.cc File chrome/browser/android/webapps/manifest_upgrade_detector.cc (right): https://codereview.chromium.org/2124513002/diff/200001/chrome/browser/android/webapps/manifest_upgrade_detector.cc#newcode93 chrome/browser/android/webapps/manifest_upgrade_detector.cc:93: I am suggesting skipping the icons for ...
4 years, 5 months ago (2016-07-13 21:40:39 UTC) #31
Xi Han
Hi Peter, I think I addressed all of your comments, PTAL, thanks! https://codereview.chromium.org/2124513002/diff/200001/chrome/browser/android/webapps/manifest_upgrade_detector.cc File chrome/browser/android/webapps/manifest_upgrade_detector.cc ...
4 years, 5 months ago (2016-07-15 19:30:03 UTC) #36
Xi Han
Hi Peter, as discussed offline, I removed the iconUrls check. PTAL, thanks!
4 years, 5 months ago (2016-07-15 20:32:30 UTC) #37
pkotwicz
https://codereview.chromium.org/2124513002/diff/260001/chrome/browser/android/webapps/manifest_upgrade_detector.cc File chrome/browser/android/webapps/manifest_upgrade_detector.cc (right): https://codereview.chromium.org/2124513002/diff/260001/chrome/browser/android/webapps/manifest_upgrade_detector.cc#newcode103 chrome/browser/android/webapps/manifest_upgrade_detector.cc:103: ShortcutInfo info(GURL::EmptyGURL()); I am willing to bet that we ...
4 years, 5 months ago (2016-07-16 00:56:46 UTC) #38
pkotwicz
4 years, 5 months ago (2016-07-16 00:56:48 UTC) #39
pkotwicz
Adding Yaron to the CL in case that he has a completely different opinion on ...
4 years, 5 months ago (2016-07-16 03:11:22 UTC) #41
Xi Han
Hi Peter, PTAL, thanks! https://codereview.chromium.org/2124513002/diff/260001/chrome/browser/android/webapps/manifest_upgrade_detector.cc File chrome/browser/android/webapps/manifest_upgrade_detector.cc (right): https://codereview.chromium.org/2124513002/diff/260001/chrome/browser/android/webapps/manifest_upgrade_detector.cc#newcode103 chrome/browser/android/webapps/manifest_upgrade_detector.cc:103: ShortcutInfo info(GURL::EmptyGURL()); On 2016/07/16 00:56:45, ...
4 years, 5 months ago (2016-07-18 21:49:40 UTC) #44
pkotwicz
Mostly nits ▶️▶️▶️ Yaron your turn https://codereview.chromium.org/2124513002/diff/260001/chrome/android/webapk/shell_apk/BUILD.gn File chrome/android/webapk/shell_apk/BUILD.gn (right): https://codereview.chromium.org/2124513002/diff/260001/chrome/android/webapk/shell_apk/BUILD.gn#newcode25 chrome/android/webapk/shell_apk/BUILD.gn:25: webapk_theme_color = "2147483648L" ...
4 years, 5 months ago (2016-07-19 18:02:39 UTC) #45
Yaron
https://codereview.chromium.org/2124513002/diff/440001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java File chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java (right): https://codereview.chromium.org/2124513002/diff/440001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java#newcode37 chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java:37: private boolean mWasStarted; I don't think you need a ...
4 years, 5 months ago (2016-07-20 02:27:59 UTC) #46
Xi Han
Hi Peter and Yaron, I think addressed all of your comments, PTAL, thanks! https://codereview.chromium.org/2124513002/diff/260001/chrome/android/webapk/shell_apk/BUILD.gn File ...
4 years, 5 months ago (2016-07-20 18:55:00 UTC) #50
pkotwicz
Still going through the CL. Decided to publish my comments so far because I think ...
4 years, 5 months ago (2016-07-20 20:57:04 UTC) #57
pkotwicz
Some more comments. I talked to Yaron offline a bit and he has some "overarching ...
4 years, 5 months ago (2016-07-20 21:47:53 UTC) #58
Xi Han
PTAL, thanks! https://codereview.chromium.org/2124513002/diff/440001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java File chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java (right): https://codereview.chromium.org/2124513002/diff/440001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java#newcode60 chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java:60: if (!mWasStarted) { On 2016/07/20 21:47:52, pkotwicz ...
4 years, 5 months ago (2016-07-22 17:13:11 UTC) #59
pkotwicz
L-G-T-M after you address these comments https://codereview.chromium.org/2124513002/diff/440001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java File chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java (right): https://codereview.chromium.org/2124513002/diff/440001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java#newcode60 chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java:60: if (!mWasStarted) { ...
4 years, 5 months ago (2016-07-22 20:13:06 UTC) #60
Xi Han
PTAL, thanks! https://codereview.chromium.org/2124513002/diff/440001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java File chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java (right): https://codereview.chromium.org/2124513002/diff/440001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java#newcode60 chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java:60: if (!mWasStarted) { On 2016/07/22 20:13:05, pkotwicz ...
4 years, 5 months ago (2016-07-22 21:59:56 UTC) #65
Yaron
lgtm https://codereview.chromium.org/2124513002/diff/680001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java File chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java (right): https://codereview.chromium.org/2124513002/diff/680001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java#newcode53 chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java:53: public void setMetadataForTesting(String startUrl) { If you rename ...
4 years, 5 months ago (2016-07-25 15:55:02 UTC) #66
pkotwicz
Mostly test related comments Yaron, some questions for you too https://codereview.chromium.org/2124513002/diff/560001/chrome/browser/android/webapk/manifest_upgrade_detector_unittest.cc File chrome/browser/android/webapk/manifest_upgrade_detector_unittest.cc (right): https://codereview.chromium.org/2124513002/diff/560001/chrome/browser/android/webapk/manifest_upgrade_detector_unittest.cc#newcode12 ...
4 years, 5 months ago (2016-07-25 17:35:53 UTC) #68
Yaron
https://codereview.chromium.org/2124513002/diff/560001/chrome/browser/android/webapk/manifest_upgrade_detector_unittest.cc File chrome/browser/android/webapk/manifest_upgrade_detector_unittest.cc (right): https://codereview.chromium.org/2124513002/diff/560001/chrome/browser/android/webapk/manifest_upgrade_detector_unittest.cc#newcode12 chrome/browser/android/webapk/manifest_upgrade_detector_unittest.cc:12: OnDidGetManifestReturnsFalseWhenTheFetchedManifestUrlIsEmpty) { On 2016/07/25 17:35:52, pkotwicz wrote: > Yaron ...
4 years, 5 months ago (2016-07-25 18:00:21 UTC) #69
Xi Han
PTAL, thanks! https://codereview.chromium.org/2124513002/diff/560001/chrome/browser/android/webapk/manifest_upgrade_detector_unittest.cc File chrome/browser/android/webapk/manifest_upgrade_detector_unittest.cc (right): https://codereview.chromium.org/2124513002/diff/560001/chrome/browser/android/webapk/manifest_upgrade_detector_unittest.cc#newcode12 chrome/browser/android/webapk/manifest_upgrade_detector_unittest.cc:12: OnDidGetManifestReturnsFalseWhenTheFetchedManifestUrlIsEmpty) { On 2016/07/25 18:00:21, Yaron wrote: ...
4 years, 5 months ago (2016-07-25 20:01:38 UTC) #72
Yaron
lgtm with one comment change and assumign Peter is happy https://codereview.chromium.org/2124513002/diff/680001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java File chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java (right): https://codereview.chromium.org/2124513002/diff/680001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java#newcode53 ...
4 years, 5 months ago (2016-07-25 22:29:06 UTC) #73
pkotwicz
LGTM!!!!!!!!!!!!! Thank you for bearing with me https://codereview.chromium.org/2124513002/diff/680001/chrome/test/data/webapps/manifest_test_page_test_start_url_change.html File chrome/test/data/webapps/manifest_test_page_test_start_url_change.html (right): https://codereview.chromium.org/2124513002/diff/680001/chrome/test/data/webapps/manifest_test_page_test_start_url_change.html#newcode1 chrome/test/data/webapps/manifest_test_page_test_start_url_change.html:1: <html> You ...
4 years, 5 months ago (2016-07-25 22:32:08 UTC) #74
Xi Han
Hi Dominick, could you please take a look? Thanks! https://codereview.chromium.org/2124513002/diff/680001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java File chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java (right): https://codereview.chromium.org/2124513002/diff/680001/chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java#newcode53 chrome/android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetector.java:53: ...
4 years, 4 months ago (2016-07-27 00:38:18 UTC) #75
Xi Han
Dominick ping.
4 years, 4 months ago (2016-07-28 13:21:17 UTC) #78
dominickn
Sorry for the delay here - been a crazy week! lgtm % nits https://codereview.chromium.org/2124513002/diff/780001/chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebappDataStorageTest.java File ...
4 years, 4 months ago (2016-07-29 00:03:39 UTC) #79
Xi Han
https://codereview.chromium.org/2124513002/diff/780001/chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebappDataStorageTest.java File chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebappDataStorageTest.java (right): https://codereview.chromium.org/2124513002/diff/780001/chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebappDataStorageTest.java#newcode324 chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebappDataStorageTest.java:324: @Test On 2016/07/29 00:03:39, dominickn wrote: > Can you ...
4 years, 4 months ago (2016-07-29 13:48:17 UTC) #82
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2124513002/800001
4 years, 4 months ago (2016-07-29 13:48:24 UTC) #83
commit-bot: I haz the power
Committed patchset #14 (id:800001)
4 years, 4 months ago (2016-07-29 14:40:28 UTC) #85
commit-bot: I haz the power
4 years, 4 months ago (2016-07-29 14:42:04 UTC) #87
Message was sent while issue was closed.
Patchset 14 (id:??) landed as
https://crrev.com/e72182e94924a4a8af00b016ed75fb1bdc554500
Cr-Commit-Position: refs/heads/master@{#408636}

Powered by Google App Engine
This is Rietveld 408576698