removed useless flag
This commit is contained in:
parent
66cded0cd7
commit
b886ead295
1 changed files with 25 additions and 59 deletions
|
@ -6,20 +6,20 @@ Subject: Add flag to always view the desktop site for all websites
|
|||
chrome/android/chrome_java_resources.gni | 1 +
|
||||
chrome/android/chrome_java_sources.gni | 1 +
|
||||
.../android/java/res/xml/main_preferences.xml | 5 ++
|
||||
.../java/res/xml/useragent_preferences.xml | 35 ++++++++
|
||||
.../chrome/browser/app/ChromeActivity.java | 17 +++-
|
||||
.../settings/UserAgentPreferences.java | 76 +++++++++++++++++
|
||||
.../chromium/chrome/browser/tab/TabImpl.java | 83 ++++++++++++++++++-
|
||||
.../java/res/xml/useragent_preferences.xml | 30 ++++++++
|
||||
.../chrome/browser/app/ChromeActivity.java | 17 ++++-
|
||||
.../settings/UserAgentPreferences.java | 60 +++++++++++++++
|
||||
.../chromium/chrome/browser/tab/TabImpl.java | 75 ++++++++++++++++++-
|
||||
.../browser/tabmodel/TabWindowManager.java | 20 +++++
|
||||
chrome/browser/android/tab_android.cc | 5 +-
|
||||
chrome/browser/android/tab_android.h | 3 +-
|
||||
.../preferences/ChromePreferenceKeys.java | 9 +-
|
||||
.../preferences/ChromePreferenceKeys.java | 7 +-
|
||||
.../org/chromium/chrome/browser/tab/Tab.java | 2 +
|
||||
.../strings/android_chrome_strings.grd | 17 ++++
|
||||
.../strings/android_chrome_strings.grd | 14 ++++
|
||||
.../navigation_controller_android.cc | 6 +-
|
||||
.../navigation_controller_android.h | 3 +-
|
||||
.../framehost/NavigationControllerImpl.java | 6 +-
|
||||
16 files changed, 277 insertions(+), 12 deletions(-)
|
||||
16 files changed, 243 insertions(+), 12 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/xml/useragent_preferences.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/UserAgentPreferences.java
|
||||
|
||||
|
@ -62,7 +62,7 @@ diff --git a/chrome/android/java/res/xml/useragent_preferences.xml b/chrome/andr
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/chrome/android/java/res/xml/useragent_preferences.xml
|
||||
@@ -0,0 +1,35 @@
|
||||
@@ -0,0 +1,30 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<!--
|
||||
+ This file is part of Bromite.
|
||||
|
@ -92,11 +92,6 @@ new file mode 100644
|
|||
+ android:summaryOn="@string/option_desktop_flag_on"
|
||||
+ android:summaryOff="@string/option_desktop_flag_off" />
|
||||
+
|
||||
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
||||
+ android:key="exclude_internal_scheme"
|
||||
+ android:summaryOn="@string/option_exclude_internal_scheme"
|
||||
+ android:summaryOff="@string/option_exclude_internal_scheme" />
|
||||
+
|
||||
+</PreferenceScreen>
|
||||
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
|
||||
|
@ -138,7 +133,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/UserAg
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/UserAgentPreferences.java
|
||||
@@ -0,0 +1,76 @@
|
||||
@@ -0,0 +1,60 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
|
@ -174,36 +169,20 @@ new file mode 100644
|
|||
+ */
|
||||
+public class UserAgentPreferences extends PreferenceFragmentCompat {
|
||||
+ private static final String PREF_STICK_DESKTOP_MODE_SWITCH = "desktop_mode_switch";
|
||||
+ private static final String PREF_ADM_EXCLUDE_INTERNAL_SCHEME_SWITCH = "exclude_internal_scheme";
|
||||
+
|
||||
+ @Override
|
||||
+ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
+ getActivity().setTitle(R.string.useragent_settings_title);
|
||||
+ SettingsUtils.addPreferencesFromResource(this, R.xml.useragent_preferences);
|
||||
+
|
||||
+ ChromeSwitchPreference alwaysADMExcludeInternalSchemeSwitch =
|
||||
+ (ChromeSwitchPreference) findPreference(PREF_ADM_EXCLUDE_INTERNAL_SCHEME_SWITCH);
|
||||
+ boolean enabled = SharedPreferencesManager.getInstance().readBoolean(
|
||||
+ ChromePreferenceKeys.USERAGENT_ADM_EXCLUDE_INTERNAL_SCHEME, false);
|
||||
+ alwaysADMExcludeInternalSchemeSwitch.setChecked(enabled);
|
||||
+ alwaysADMExcludeInternalSchemeSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
+ SharedPreferencesManager.getInstance().writeBoolean(
|
||||
+ ChromePreferenceKeys.USERAGENT_ADM_EXCLUDE_INTERNAL_SCHEME, (boolean) newValue);
|
||||
+
|
||||
+ UpdateAllTabs();
|
||||
+ return true;
|
||||
+ });
|
||||
+
|
||||
+ ChromeSwitchPreference alwaysDesktopModeSwitch =
|
||||
+ (ChromeSwitchPreference) findPreference(PREF_STICK_DESKTOP_MODE_SWITCH);
|
||||
+ enabled = SharedPreferencesManager.getInstance().readBoolean(
|
||||
+ boolean enabled = SharedPreferencesManager.getInstance().readBoolean(
|
||||
+ ChromePreferenceKeys.USERAGENT_STICKY_DESKTOP_MODE, false);
|
||||
+ alwaysDesktopModeSwitch.setChecked(enabled);
|
||||
+ alwaysDesktopModeSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
+ SharedPreferencesManager.getInstance().writeBoolean(
|
||||
+ ChromePreferenceKeys.USERAGENT_STICKY_DESKTOP_MODE, (boolean) newValue);
|
||||
+ alwaysADMExcludeInternalSchemeSwitch.setEnabled((boolean) newValue);
|
||||
+
|
||||
+ UpdateAllTabs();
|
||||
+ return true;
|
||||
+ });
|
||||
|
@ -231,7 +210,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
|||
|
||||
/**
|
||||
* Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}.
|
||||
@@ -446,6 +452,34 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
@@ -446,6 +452,31 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
throw new RuntimeException("Tab.loadUrl called when no native side exists");
|
||||
}
|
||||
|
||||
|
@ -240,11 +219,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
|||
+ if (stickyDesktopModeEnabled) {
|
||||
+ boolean alwaysDesktopModeEnabled = SharedPreferencesManager.getInstance().readBoolean(
|
||||
+ ChromePreferenceKeys.USERAGENT_ALWAYS_DESKTOP_MODE, false);
|
||||
+ final boolean alwaysADMExcludeInternalScheme = SharedPreferencesManager.getInstance().readBoolean(
|
||||
+ ChromePreferenceKeys.USERAGENT_ADM_EXCLUDE_INTERNAL_SCHEME, false);
|
||||
+
|
||||
+ if (alwaysADMExcludeInternalScheme &&
|
||||
+ UrlUtilities.isInternalScheme(UrlFormatter.fixupUrl(params.getUrl()))) {
|
||||
+ if (UrlUtilities.isInternalScheme(UrlFormatter.fixupUrl(params.getUrl()))) {
|
||||
+ alwaysDesktopModeEnabled = false;
|
||||
+ }
|
||||
+
|
||||
|
@ -266,7 +242,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
|||
// We load the URL from the tab rather than directly from the ContentView so the tab has
|
||||
// a chance of using a prerenderer page is any.
|
||||
int loadType = TabImplJni.get().loadUrl(mNativeTabAndroid, TabImpl.this,
|
||||
@@ -458,7 +492,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
@@ -458,7 +489,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
params.getReferrer() != null ? params.getReferrer().getPolicy() : 0,
|
||||
params.getIsRendererInitiated(), params.getShouldReplaceCurrentEntry(),
|
||||
params.getHasUserGesture(), params.getShouldClearHistoryList(),
|
||||
|
@ -276,7 +252,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
|||
|
||||
for (TabObserver observer : mObservers) {
|
||||
observer.onLoadUrl(this, params, loadType);
|
||||
@@ -1380,6 +1415,10 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
@@ -1380,6 +1412,10 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
if (mWebContents != null) mWebContents.getNavigationController().loadIfNecessary();
|
||||
mIsBeingRestored = true;
|
||||
for (TabObserver observer : mObservers) observer.onRestoreStarted(this);
|
||||
|
@ -287,7 +263,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
|||
} finally {
|
||||
TraceEvent.end("Tab.restoreIfNeeded");
|
||||
}
|
||||
@@ -1497,6 +1536,45 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
@@ -1497,6 +1533,40 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -298,17 +274,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
|||
+ overrideUserAgentWhenUnFrozen = UserAgentOverrideOption.INHERIT;
|
||||
+
|
||||
+ if (usingDesktopUserAgent) {
|
||||
+ final boolean alwaysADMExcludeInternalScheme = SharedPreferencesManager.getInstance().readBoolean(
|
||||
+ ChromePreferenceKeys.USERAGENT_ADM_EXCLUDE_INTERNAL_SCHEME, false);
|
||||
+
|
||||
+ if(alwaysADMExcludeInternalScheme) {
|
||||
+ GURL url = this.getUrl();
|
||||
+ if (webContents == null && this.getPendingLoadParams() != null) {
|
||||
+ url = UrlFormatter.fixupUrl(this.getPendingLoadParams().getUrl());
|
||||
+ }
|
||||
+ if (UrlUtilities.isInternalScheme(url) == true)
|
||||
+ usingDesktopUserAgent = false;
|
||||
+ GURL url = this.getUrl();
|
||||
+ if (webContents == null && this.getPendingLoadParams() != null) {
|
||||
+ url = UrlFormatter.fixupUrl(this.getPendingLoadParams().getUrl());
|
||||
+ }
|
||||
+ if (UrlUtilities.isInternalScheme(url) == true)
|
||||
+ usingDesktopUserAgent = false;
|
||||
+ }
|
||||
+
|
||||
+ if (webContents != null) {
|
||||
|
@ -333,7 +304,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
|||
@NativeMethods
|
||||
interface Natives {
|
||||
void init(TabImpl caller);
|
||||
@@ -1517,7 +1595,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
@@ -1517,7 +1587,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
String referrerUrl, int referrerPolicy, boolean isRendererInitiated,
|
||||
boolean shoulReplaceCurrentEntry, boolean hasUserGesture,
|
||||
boolean shouldClearHistoryList, long inputStartTimestamp,
|
||||
|
@ -409,26 +380,24 @@ diff --git a/chrome/browser/android/tab_android.h b/chrome/browser/android/tab_a
|
|||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
@@ -778,6 +778,10 @@ public final class ChromePreferenceKeys {
|
||||
@@ -778,6 +778,9 @@ public final class ChromePreferenceKeys {
|
||||
public static final KeyPrefix KEY_ZERO_SUGGEST_HEADER_GROUP_COLLAPSED_BY_DEFAULT_PREFIX =
|
||||
new KeyPrefix("zero_suggest_header_group_collapsed_by_default*");
|
||||
|
||||
+ public static final String USERAGENT_STICKY_DESKTOP_MODE = "Chrome.UserAgent.StickyDesktopMode";
|
||||
+ public static final String USERAGENT_ALWAYS_DESKTOP_MODE = "Chrome.UserAgent.AlwaysDesktopMode";
|
||||
+ public static final String USERAGENT_ADM_EXCLUDE_INTERNAL_SCHEME = "Chrome.UserAgent.ADMExcludeInternalScheme";
|
||||
+
|
||||
/**
|
||||
* These values are currently used as SharedPreferences keys, along with the keys in
|
||||
* {@link GrandfatheredChromePreferenceKeys#getKeysInUse()}. Add new SharedPreferences keys
|
||||
@@ -820,7 +824,10 @@ public final class ChromePreferenceKeys {
|
||||
@@ -820,7 +823,9 @@ public final class ChromePreferenceKeys {
|
||||
PROMO_TIMES_SEEN.pattern(),
|
||||
SETTINGS_SAFETY_CHECK_LAST_RUN_TIMESTAMP,
|
||||
SETTINGS_SAFETY_CHECK_RUN_COUNTER,
|
||||
- TWA_DISCLOSURE_SEEN_PACKAGES
|
||||
+ TWA_DISCLOSURE_SEEN_PACKAGES,
|
||||
+ USERAGENT_STICKY_DESKTOP_MODE,
|
||||
+ USERAGENT_ALWAYS_DESKTOP_MODE,
|
||||
+ USERAGENT_ADM_EXCLUDE_INTERNAL_SCHEME
|
||||
+ USERAGENT_ALWAYS_DESKTOP_MODE
|
||||
);
|
||||
// clang-format on
|
||||
}
|
||||
|
@ -445,7 +414,7 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.jav
|
|||
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
|
||||
@@ -228,6 +228,23 @@ CHAR-LIMIT guidelines:
|
||||
@@ -228,6 +228,20 @@ CHAR-LIMIT guidelines:
|
||||
Visit help page
|
||||
</message>
|
||||
|
||||
|
@ -462,9 +431,6 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||
+ <message name="IDS_OPTION_DESKTOP_FLAG_OFF" desc="The label of the option that revert the hambuger menu flag to actual behaviour.">
|
||||
+ Desktop mode toggle in hamburger menu applies to current tab only
|
||||
+ </message>
|
||||
+ <message name="IDS_OPTION_EXCLUDE_INTERNAL_SCHEME" desc="The label of the option that exclude internal scheme for desktop mode.">
|
||||
+ Exclude internal scheme
|
||||
+ </message>
|
||||
+
|
||||
<!-- Notification channels -->
|
||||
<message name="IDS_NOTIFICATION_CATEGORY_GROUP_GENERAL" desc='Subheading for "General" section of a list of notification categories. [CHAR-LIMIT=32]'>
|
||||
|
|
Loading…
Add table
Reference in a new issue