123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- 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 | 2 ++
- .../chromium/chrome/browser/ChromeActivity.java | 2 ++
- .../chrome/browser/ChromeTabbedActivity.java | 2 ++
- .../app/appmenu/AppMenuPropertiesDelegateImpl.java | 14 ++++++++++++++
- .../CustomTabAppMenuPropertiesDelegate.java | 1 +
- .../ui/android/strings/android_chrome_strings.grd | 3 +++
- 7 files changed, 27 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
- @@ -66,6 +66,8 @@
- android:title="@string/menu_find_in_page" />
- <item android:id="@+id/add_to_homescreen_id"
- android:title="@string/menu_add_to_homescreen" />
- + <item android:id="@+id/view_source_id"
- + android:title="@string/view_source" />
- <item android:id="@+id/open_webapk_id"
- android:title="@string/menu_open_webapk" />
- <item android:id="@+id/request_desktop_site_row_menu_id"
- diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
- --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
- +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
- @@ -2010,6 +2010,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
- } catch (ActivityNotFoundException e) {
- Toast.makeText(context, R.string.open_webapk_failed, Toast.LENGTH_SHORT).show();
- }
- + } else if (id == R.id.view_source_id) {
- + currentTab.getWebContents().getNavigationController().loadUrl(new LoadUrlParams("view-source:"+currentTab.getUrlString()));
- } else if (id == R.id.request_desktop_site_id || id == R.id.request_desktop_site_check_id) {
- final boolean reloadOnChange = !currentTab.isNativePage();
- final boolean usingDesktopUserAgent =
- 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
- @@ -1838,6 +1838,8 @@ public class ChromeTabbedActivity
- 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.getUrlString()));
- } else if (id == R.id.open_recently_closed_tab) {
- TabModel currentModel = mTabModelSelectorImpl.getCurrentModel();
- if (!currentModel.isIncognito()) currentModel.openMostRecentlyClosedTab();
- 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
- @@ -288,6 +288,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
- isChromeScheme, isFileScheme, isContentScheme, isIncognito, url));
-
- updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */);
- + updateViewSourceMenuItem(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).setVisible(shouldShowReaderModePrefs(currentTab));
- @@ -625,6 +626,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.getUrlString();
- + 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
- @@ -214,6 +214,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
- }
-
- updateRequestDesktopSiteMenuItem(menu, currentTab, requestDesktopSiteVisible);
- + 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
- @@ -309,6 +309,9 @@ CHAR-LIMIT guidelines:
- <message name="IDS_SERVICES_CATEGORY_TITLE" desc="Title for the group of preferences that control non-personalized Google services. This group contains preferences for data that is not tied to user's Google Account.">
- Other Google services
- </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_PREFS_GOOGLE_SERVICES" desc="Title for the group of preferences that control non-personalized Google services. This group contains preferences for data that is not tied to user's Google Account. [CHAR-LIMIT=40]">
- Google services
- </message>
- --
- 2.17.1
|