123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- From: csagan5 <32685696+csagan5@users.noreply.github.com>
- Date: Mon, 13 Jul 2020 00:37:06 +0200
- Subject: Add menu item to view source
- ---
- chrome/android/java/res/menu/custom_tabs_menu.xml | 3 +++
- chrome/android/java/res/menu/main_menu.xml | 3 +++
- .../chrome/browser/ChromeTabbedActivity.java | 2 ++
- .../chrome/browser/app/ChromeActivity.java | 5 +++++
- .../app/appmenu/AppMenuPropertiesDelegateImpl.java | 14 ++++++++++++++
- .../CustomTabAppMenuPropertiesDelegate.java | 1 +
- .../ui/android/strings/android_chrome_strings.grd | 4 ++++
- 7 files changed, 32 insertions(+)
- diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/java/res/menu/custom_tabs_menu.xml
- --- a/chrome/android/java/res/menu/custom_tabs_menu.xml
- +++ b/chrome/android/java/res/menu/custom_tabs_menu.xml
- @@ -46,6 +46,9 @@
- <item android:id="@+id/add_to_homescreen_id"
- android:title="@string/menu_add_to_homescreen"
- android:orderInCategory="2" />
- + <item android:id="@+id/view_source_id"
- + android:title="@string/view_source"
- + android:orderInCategory="2" />
- <item android:id="@+id/open_webapk_id"
- android:title="@string/menu_open_webapk"
- android:orderInCategory="2" />
- diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
- --- a/chrome/android/java/res/menu/main_menu.xml
- +++ b/chrome/android/java/res/menu/main_menu.xml
- @@ -103,6 +103,9 @@
- <item android:id="@+id/add_to_homescreen_id"
- android:title="@string/menu_add_to_homescreen"
- android:icon="@drawable/ic_add_to_home_screen" />
- + <item android:id="@+id/view_source_id"
- + android:title="@string/view_source"
- + android:icon="@drawable/ic_drive_document_24dp" />
- <item android:id="@+id/open_webapk_id"
- android:title="@string/menu_open_webapk"
- android:icon="@drawable/ic_add_to_home_screen" />
- diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
- --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
- +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
- @@ -2067,6 +2067,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
- NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
- }
- RecordUserAction.record("MobileMenuDownloadManager");
- + } else if (id == R.id.view_source_id) {
- + currentTab.getWebContents().getNavigationController().loadUrl(new LoadUrlParams("view-source:"+currentTab.getUrl().getSpec()));
- } else if (id == R.id.open_recently_closed_tab) {
- TabModel currentModel = mTabModelSelector.getCurrentModel();
- if (!currentModel.isIncognito()) currentModel.openMostRecentlyClosedTab();
- diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
- --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
- +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
- @@ -2451,6 +2451,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
- return true;
- }
-
- + if (id == R.id.view_source_id) {
- + currentTab.getWebContents().getNavigationController().loadUrl(new LoadUrlParams("view-source:"+currentTab.getUrl().getSpec()));
- + return true;
- + }
- +
- if (id == R.id.request_desktop_site_id || id == R.id.request_desktop_site_check_id) {
- boolean usingDesktopUserAgent =
- currentTab.getWebContents().getNavigationController().getUseDesktopUserAgent();
- diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
- --- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
- +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
- @@ -511,6 +511,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
- isChromeScheme, isFileScheme, isContentScheme, isIncognito, url));
-
- updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isChromeScheme);
- + updateViewSourceMenuItem(menu, currentTab);
-
- updateAutoDarkMenuItem(menu, currentTab, isChromeScheme);
-
- @@ -1027,6 +1028,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
- }
- }
-
- + /**
- + * Updates the view source menu item's state.
- + *
- + * @param menu {@link Menu} for view source.
- + * @param currentTab Current tab being displayed.
- + */
- + protected void updateViewSourceMenuItem(
- + Menu menu, Tab currentTab) {
- + MenuItem viewSourceMenuItem = menu.findItem(R.id.view_source_id);
- + String url = currentTab.getUrl().getSpec();
- + viewSourceMenuItem.setVisible(!url.isEmpty() && !url.startsWith("view-source:"));
- + }
- +
- /**
- * Updates the request desktop site item's state.
- *
- diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
- --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
- +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
- @@ -217,6 +217,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
-
- updateRequestDesktopSiteMenuItem(
- menu, currentTab, requestDesktopSiteVisible, isChromeScheme);
- + updateViewSourceMenuItem(menu, currentTab);
- prepareAddToHomescreenMenuItem(menu, currentTab, addToHomeScreenVisible);
- }
- }
- diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
- --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
- +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
- @@ -299,6 +299,10 @@ CHAR_LIMIT guidelines:
- Sign-in verifications
- </message>
-
- + <message name="IDS_VIEW_SOURCE" desc="Title for the menu command to view the source of the current page. [CHAR-LIMIT=40]">
- + View source
- + </message>
- +
- <message name="IDS_UNSUPPORTED" desc="Message displayed to the user when an attempted action is not supported.">
- Unsupported
- </message>
- --
- 2.20.1
|