fix transition from and to webui with new flag enabled
This commit is contained in:
parent
bbd0f8c531
commit
66cded0cd7
1 changed files with 28 additions and 20 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 | 72 +++++++++++++++++-
|
||||
.../java/res/xml/useragent_preferences.xml | 35 ++++++++
|
||||
.../chrome/browser/app/ChromeActivity.java | 17 +++-
|
||||
.../settings/UserAgentPreferences.java | 76 +++++++++++++++++
|
||||
.../chromium/chrome/browser/tab/TabImpl.java | 83 ++++++++++++++++++-
|
||||
.../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 | 9 +-
|
||||
.../org/chromium/chrome/browser/tab/Tab.java | 2 +
|
||||
.../strings/android_chrome_strings.grd | 17 +++++
|
||||
.../strings/android_chrome_strings.grd | 17 ++++
|
||||
.../navigation_controller_android.cc | 6 +-
|
||||
.../navigation_controller_android.h | 3 +-
|
||||
.../framehost/NavigationControllerImpl.java | 6 +-
|
||||
16 files changed, 266 insertions(+), 12 deletions(-)
|
||||
16 files changed, 277 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
|
||||
|
||||
|
@ -231,21 +231,32 @@ 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,23 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
@@ -446,6 +452,34 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
throw new RuntimeException("Tab.loadUrl called when no native side exists");
|
||||
}
|
||||
|
||||
+ final boolean stickyDesktopModeEnabled = SharedPreferencesManager.getInstance().readBoolean(
|
||||
+ ChromePreferenceKeys.USERAGENT_STICKY_DESKTOP_MODE, false);
|
||||
+ if (stickyDesktopModeEnabled) {
|
||||
+ final boolean alwaysDesktopModeEnabled = SharedPreferencesManager.getInstance().readBoolean(
|
||||
+ boolean alwaysDesktopModeEnabled = SharedPreferencesManager.getInstance().readBoolean(
|
||||
+ ChromePreferenceKeys.USERAGENT_ALWAYS_DESKTOP_MODE, false);
|
||||
+ boolean isInternalScheme = false;
|
||||
+ final boolean alwaysADMExcludeInternalScheme = SharedPreferencesManager.getInstance().readBoolean(
|
||||
+ ChromePreferenceKeys.USERAGENT_ADM_EXCLUDE_INTERNAL_SCHEME, false);
|
||||
+ if(alwaysADMExcludeInternalScheme)
|
||||
+ isInternalScheme = UrlUtilities.isInternalScheme(UrlFormatter.fixupUrl(params.getUrl()));
|
||||
+ if (alwaysDesktopModeEnabled && isInternalScheme == false) {
|
||||
+
|
||||
+ if (alwaysADMExcludeInternalScheme &&
|
||||
+ UrlUtilities.isInternalScheme(UrlFormatter.fixupUrl(params.getUrl()))) {
|
||||
+ alwaysDesktopModeEnabled = false;
|
||||
+ }
|
||||
+
|
||||
+ WebContents webContents = this.getWebContents();
|
||||
+ if (webContents != null) {
|
||||
+ NavigationController navigationController = webContents.getNavigationController();
|
||||
+ boolean currentUseDesktopUserAgent = navigationController.getUseDesktopUserAgent();
|
||||
+ if (currentUseDesktopUserAgent != alwaysDesktopModeEnabled)
|
||||
+ navigationController.setUseDesktopUserAgent(alwaysDesktopModeEnabled, false);
|
||||
+ }
|
||||
+
|
||||
+ if (alwaysDesktopModeEnabled) {
|
||||
+ params.setOverrideUserAgent((int)UserAgentOverrideOption.TRUE);
|
||||
+ } else {
|
||||
+ params.setOverrideUserAgent((int)UserAgentOverrideOption.FALSE);
|
||||
|
@ -255,7 +266,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 +481,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
@@ -458,7 +492,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
params.getReferrer() != null ? params.getReferrer().getPolicy() : 0,
|
||||
params.getIsRendererInitiated(), params.getShouldReplaceCurrentEntry(),
|
||||
params.getHasUserGesture(), params.getShouldClearHistoryList(),
|
||||
|
@ -265,7 +276,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 +1404,10 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
@@ -1380,6 +1415,10 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
if (mWebContents != null) mWebContents.getNavigationController().loadIfNecessary();
|
||||
mIsBeingRestored = true;
|
||||
for (TabObserver observer : mObservers) observer.onRestoreStarted(this);
|
||||
|
@ -276,7 +287,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
|||
} finally {
|
||||
TraceEvent.end("Tab.restoreIfNeeded");
|
||||
}
|
||||
@@ -1497,6 +1525,45 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
@@ -1497,6 +1536,45 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -322,7 +333,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
|||
@NativeMethods
|
||||
interface Natives {
|
||||
void init(TabImpl caller);
|
||||
@@ -1517,7 +1584,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
@@ -1517,7 +1595,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
|
||||
String referrerUrl, int referrerPolicy, boolean isRendererInitiated,
|
||||
boolean shoulReplaceCurrentEntry, boolean hasUserGesture,
|
||||
boolean shouldClearHistoryList, long inputStartTimestamp,
|
||||
|
@ -517,6 +528,3 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/frameh
|
|||
void clearHistory(long nativeNavigationControllerAndroid, NavigationControllerImpl caller);
|
||||
int getNavigationHistory(long nativeNavigationControllerAndroid,
|
||||
NavigationControllerImpl caller, Object history);
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue