fix sticky desktop mode

This commit is contained in:
Carmelo Messina 2022-07-13 17:10:15 +02:00
parent 67edc4337f
commit 650d6bfcb6
No known key found for this signature in database
GPG key ID: 968894BE688289FD

View file

@ -20,7 +20,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../init/ChromeBrowserInitializer.java | 3 +
.../PrivacyPreferencesManagerImpl.java | 42 ++++
.../settings/UserAgentPreferences.java | 188 ++++++++++++++++++
.../chromium/chrome/browser/tab/TabImpl.java | 70 +++++++
.../chromium/chrome/browser/tab/TabImpl.java | 79 +++++++-
.../chromium/chrome/browser/tab/TabUtils.java | 25 +--
.../browser/android/content/content_utils.cc | 28 +++
.../preferences/browser_prefs_android.cc | 7 +
@ -41,7 +41,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/web_contents/web_contents_impl.cc | 4 +
.../framehost/NavigationControllerImpl.java | 3 +-
content/renderer/render_thread_impl.cc | 1 -
31 files changed, 746 insertions(+), 14 deletions(-)
31 files changed, 753 insertions(+), 16 deletions(-)
create mode 100644 chrome/android/java/res/layout/custom_useragent_preferences.xml
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
@ -574,7 +574,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
@TabLoadStatus
int result = loadUrlInternal(params);
@@ -1549,6 +1578,10 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -1390,8 +1419,11 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
mWebContents.setImportance(mImportance);
- ContentUtils.setUserAgentOverride(mWebContents,
- calculateUserAgentOverrideOption() == UserAgentOverrideOption.TRUE);
+ if (!SharedPreferencesManager.getInstance().readBoolean(
+ ChromePreferenceKeys.USERAGENT_STICKY_DESKTOP_MODE, false)) {
+ ContentUtils.setUserAgentOverride(mWebContents,
+ calculateUserAgentOverrideOption() == UserAgentOverrideOption.TRUE);
+ }
mContentView.addOnAttachStateChangeListener(mAttachStateChangeListener);
updateInteractableState();
@@ -1549,6 +1581,10 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
if (mWebContents != null) mWebContents.getNavigationController().loadIfNecessary();
mIsBeingRestored = true;
for (TabObserver observer : mObservers) observer.onRestoreStarted(this);
@ -585,7 +599,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
} finally {
TraceEvent.end("Tab.restoreIfNeeded");
}
@@ -1751,6 +1784,43 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -1741,6 +1777,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
}
private void switchUserAgentIfNeeded() {
+ if (SharedPreferencesManager.getInstance().readBoolean(
+ ChromePreferenceKeys.USERAGENT_STICKY_DESKTOP_MODE, false)) return;
if (calculateUserAgentOverrideOption() == UserAgentOverrideOption.INHERIT
|| getWebContents() == null) {
return;
@@ -1751,6 +1789,43 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
/* forcedByUser */ false);
}