diff options
| author | 2010-08-18 18:17:52 -0700 | |
|---|---|---|
| committer | 2010-08-23 09:59:10 -0700 | |
| commit | d62847997be926991424e4fba30ff3f5ef71258b (patch) | |
| tree | de3675b03e60b29d6379065fd0f9364973ac1c77 | |
| parent | 385a655b8e8bf85024e4f24f1d7f6c2d7d7e900d (diff) | |
Fix WebView saveState and restoreState for private browsing mode.
Change-Id: Ia254ee853d73e56c6f0a5b7762a1cefc1dad0894
| -rw-r--r-- | core/java/android/webkit/WebView.java | 18 | ||||
| -rw-r--r-- | core/res/assets/webkit/incognito_mode_start_page.html (renamed from core/res/res/raw/incognito_mode_start_page.html) | 0 |
2 files changed, 6 insertions, 12 deletions
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index d01dd345578b..4823407d2fbd 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -1278,6 +1278,7 @@ public class WebView extends AbsoluteLayout outState.putBundle("certificate", SslCertificate.saveState(mCertificate)); } + outState.putBoolean("privateBrowsingEnabled", isPrivateBrowsingEnabled()); return list; } @@ -1440,6 +1441,10 @@ public class WebView extends AbsoluteLayout // Update the copy to have the correct index. returnList.setCurrentIndex(index); } + // Restore private browsing setting. + if (inState.getBoolean("privateBrowsingEnabled")) { + getSettings().setPrivateBrowsingEnabled(true); + } // Remove all pending messages because we are restoring previous // state. mWebViewCore.removeMessages(); @@ -1702,18 +1707,7 @@ public class WebView extends AbsoluteLayout getSettings().setPrivateBrowsingEnabled(true); if (!wasPrivateBrowsingEnabled) { - StringBuilder data = new StringBuilder(1024); - try { - InputStreamReader file = new InputStreamReader(mContext.getResources().openRawResource(com.android.internal.R.raw.incognito_mode_start_page)); - int size; - char[] buffer = new char[1024]; - while ((size = file.read(buffer)) != -1) { - data.append(buffer, 0, size); - } - } catch (IOException e) { - // This should never happen since this is a static resource. - } - loadDataWithBaseURL(null, data.toString(), "text/html", "utf-8", null); + loadUrl("browser:incognito"); } } diff --git a/core/res/res/raw/incognito_mode_start_page.html b/core/res/assets/webkit/incognito_mode_start_page.html index b070c6d0e428..b070c6d0e428 100644 --- a/core/res/res/raw/incognito_mode_start_page.html +++ b/core/res/assets/webkit/incognito_mode_start_page.html |