Update WebAPKs even if the WebAPK start URL has no Web Manifest part 2/3

The class name ManifestUpgradeDetector does not make sense in the context of
the new ManifestUpgradeDetector#Callback. The new callback can be called up to
twice:
- Once after the initial page load. (Regardless of whether the page uses the
correct Web Manifest)
- Once after a page which uses the correct Web Manifest has finished loading.
If a Web Developer removes the Web Manifest from their site, the second call is
never done.

This CL:
- moves the check for "whether the fetched Web Manifest requires a WebAPK
upgrade" into WebApkUpdateManager.
- merges the manifest fetching parts of ManifestUpgradeDetector and
ManifestUpgradeDetectorFetcher into a new class WebApkUpdateDataFetcher

BUG=639536

Review-Url: https://codereview.chromium.org/2460253002
Cr-Commit-Position: refs/heads/master@{#437641}
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 01395a3..4e14096f7 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3231,14 +3231,14 @@
       "android/web_contents_factory.h",
       "android/webapk/chrome_webapk_host.cc",
       "android/webapk/chrome_webapk_host.h",
-      "android/webapk/manifest_upgrade_detector_fetcher.cc",
-      "android/webapk/manifest_upgrade_detector_fetcher.h",
       "android/webapk/webapk_icon_hasher.cc",
       "android/webapk/webapk_icon_hasher.h",
       "android/webapk/webapk_installer.cc",
       "android/webapk/webapk_installer.h",
       "android/webapk/webapk_metrics.cc",
       "android/webapk/webapk_metrics.h",
+      "android/webapk/webapk_update_data_fetcher.cc",
+      "android/webapk/webapk_update_data_fetcher.h",
       "android/webapk/webapk_update_manager.cc",
       "android/webapk/webapk_update_manager.h",
       "android/webapk/webapk_web_manifest_checker.cc",
@@ -4028,8 +4028,8 @@
       "../android/java/src/org/chromium/chrome/browser/util/UrlUtilities.java",
       "../android/java/src/org/chromium/chrome/browser/webapps/AddToHomescreenManager.java",
       "../android/java/src/org/chromium/chrome/browser/webapps/ChromeWebApkHost.java",
-      "../android/java/src/org/chromium/chrome/browser/webapps/ManifestUpgradeDetectorFetcher.java",
       "../android/java/src/org/chromium/chrome/browser/webapps/WebApkInstaller.java",
+      "../android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateDataFetcher.java",
       "../android/java/src/org/chromium/chrome/browser/webapps/WebApkUpdateManager.java",
       "../android/java/src/org/chromium/chrome/browser/webapps/WebappRegistry.java",
     ]