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 52306bcc89b0a1f7abfe119666c62d1e77cce4be..a537cfdd61a7871e4a92802238fe9559112eccef 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 |
@@ -178,10 +178,7 @@ public class AppMenuPropertiesDelegate { |
&& !isChromeScheme && !isFileScheme && !isContentScheme && !isIncognito; |
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. |
- MenuItem requestItem = menu.findItem(R.id.request_desktop_site_id); |
- updateRequestDesktopSiteMenuItem(requestItem, currentTab); |
+ updateRequestDesktopSiteMenuItem(menu, currentTab); |
// Only display reader mode settings menu option if the current page is in reader mode. |
menu.findItem(R.id.reader_mode_prefs_id) |
@@ -367,20 +364,29 @@ public class AppMenuPropertiesDelegate { |
} |
/** |
- * Updates the request desktop site item's visibility |
+ * Updates the request desktop site item's state. |
* |
* @param requstMenuItem {@link MenuItem} for request desktop site. |
* @param currentTab Current tab being displayed. |
*/ |
- protected void updateRequestDesktopSiteMenuItem( |
- MenuItem requstMenuItem, Tab currentTab) { |
+ protected void updateRequestDesktopSiteMenuItem(Menu menu, Tab currentTab) { |
+ MenuItem requestMenuRow = menu.findItem(R.id.request_desktop_site_row_menu_id); |
+ MenuItem requestMenuLabel = menu.findItem(R.id.request_desktop_site_id); |
+ MenuItem requestMenuCheck = menu.findItem(R.id.request_desktop_site_check_id); |
+ |
+ // Hide request desktop site on all chrome:// pages except for the NTP. |
String url = currentTab.getUrl(); |
boolean isChromeScheme = url.startsWith(UrlConstants.CHROME_URL_PREFIX) |
|| url.startsWith(UrlConstants.CHROME_NATIVE_URL_PREFIX); |
- requstMenuItem.setVisible(!isChromeScheme || currentTab.isNativePage()); |
- requstMenuItem.setChecked(currentTab.getUseDesktopUserAgent()); |
- requstMenuItem.setTitleCondensed(requstMenuItem.isChecked() |
- ? mActivity.getString(R.string.menu_request_desktop_site_on) |
- : mActivity.getString(R.string.menu_request_desktop_site_off)); |
+ requestMenuRow.setVisible(!isChromeScheme || currentTab.isNativePage()); |
+ |
+ // Mark the checkbox if RDS is activated on this page. |
+ requestMenuCheck.setChecked(currentTab.getUseDesktopUserAgent()); |
+ |
+ // This title doesn't seem to be displayed by Android, but it is used to set up |
+ // accessibility text in {@link AppMenuAdapter#setupMenuButton}. |
+ requestMenuLabel.setTitleCondensed(requestMenuLabel.isChecked() |
+ ? mActivity.getString(R.string.menu_request_desktop_site_on) |
+ : mActivity.getString(R.string.menu_request_desktop_site_off)); |
} |
} |