diff options
| -rw-r--r-- | src/com/android/browser/BrowserSettings.java | 3 | ||||
| -rw-r--r-- | src/com/android/browser/Tab.java | 13 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java index dd4631484..46d47b0d5 100644 --- a/src/com/android/browser/BrowserSettings.java +++ b/src/com/android/browser/BrowserSettings.java @@ -399,6 +399,9 @@ public class BrowserSettings implements OnSharedPreferenceChangeListener, } public void toggleDesktopUseragent(WebView view) { + if (view == null) { + return; + } WebSettings settings = view.getSettings(); if (mCustomUserAgents.get(settings) != null) { mCustomUserAgents.remove(settings); diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java index e1dd1ca0b..896247594 100644 --- a/src/com/android/browser/Tab.java +++ b/src/com/android/browser/Tab.java @@ -191,6 +191,7 @@ class Tab { static final String APPID = "appid"; static final String INCOGNITO = "privateBrowsingEnabled"; static final String SCREENSHOT = "screenshot"; + static final String USERAGENT = "useragent"; // ------------------------------------------------------------------------- @@ -1449,6 +1450,12 @@ class Tab { mSavedState.putLong(PARENTTAB, parent.getId()); } } + + // Sync the WebView useragent with the parent + if (parent != null && mSettings.hasDesktopUseragent(parent.getWebView()) + != mSettings.hasDesktopUseragent(getWebView())) { + mSettings.toggleDesktopUseragent(getWebView()); + } } /** @@ -1739,6 +1746,8 @@ class Tab { if (mScreenshot != null) { mSavedState.putParcelable(SCREENSHOT, mScreenshot); } + mSavedState.putBoolean(USERAGENT, + mSettings.hasDesktopUseragent(getWebView())); return true; } @@ -1755,6 +1764,10 @@ class Tab { mId = b.getLong(ID); mAppId = b.getString(APPID); mScreenshot = b.getParcelable(SCREENSHOT); + if (b.getBoolean(USERAGENT) + != mSettings.hasDesktopUseragent(getWebView())) { + mSettings.toggleDesktopUseragent(getWebView()); + } final WebBackForwardList list = mMainView.restoreState(b); if (list == null) { |
