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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java

Issue 2778983005: Allow the app banner installability check to run on page load. (Closed)
Patch Set: Address comments 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/appmenu/AppMenuPropertiesDelegate.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
index 3f4f0c5b824538f8789f01a0bece11ecb6cec21b..e62268a64df8432b13096265bb960f39eab1b2f3 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
@@ -172,7 +172,7 @@ public class AppMenuPropertiesDelegate {
// * If creating shortcuts it not supported by the current home screen.
boolean canShowHomeScreenMenuItem = ShortcutHelper.isAddToHomeIntentSupported()
&& !isChromeScheme && !isFileScheme && !isContentScheme && !isIncognito;
- prepareAddToHomescreenMenuItem(menu, currentTab.getUrl(), canShowHomeScreenMenuItem);
+ prepareAddToHomescreenMenuItem(menu, currentTab, canShowHomeScreenMenuItem);
// Hide request desktop site on all chrome:// pages except for the NTP. Check request
// desktop site if it's activated on this page.
@@ -225,13 +225,19 @@ public class AppMenuPropertiesDelegate {
* Sets the visibility and labels of the "Add to Home screen" and "Open WebAPK" menu items.
*/
protected void prepareAddToHomescreenMenuItem(
- Menu menu, String url, boolean canShowHomeScreenMenuItem) {
+ Menu menu, Tab currentTab, boolean canShowHomeScreenMenuItem) {
+ // Record whether or not we have finished installability checks for this page when we're
+ // preparing the menu to be displayed. This will let us determine if it is feasible to
+ // change the add to homescreen menu item based on whether a site is a PWA.
+ currentTab.getAppBannerManager().recordMenuOpen();
+
MenuItem homescreenItem = menu.findItem(R.id.add_to_homescreen_id);
MenuItem openWebApkItem = menu.findItem(R.id.open_webapk_id);
if (canShowHomeScreenMenuItem) {
Context context = ContextUtils.getApplicationContext();
long addToHomeScreenStart = SystemClock.elapsedRealtime();
- ResolveInfo resolveInfo = WebApkValidator.queryResolveInfo(context, url);
+ ResolveInfo resolveInfo =
+ WebApkValidator.queryResolveInfo(context, currentTab.getUrl());
RecordHistogram.recordTimesHistogram("Android.PrepareMenu.OpenWebApkVisibilityCheck",
SystemClock.elapsedRealtime() - addToHomeScreenStart, TimeUnit.MILLISECONDS);

Powered by Google App Engine
This is Rietveld 408576698