summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser/Tab.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/browser/Tab.java')
-rw-r--r--src/com/android/browser/Tab.java21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index a4d2ce0..907f7a1 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -347,6 +347,11 @@ class Tab implements PictureListener {
view.isPrivateBrowsingEnabled(), url, favicon);
mLoadStartTime = SystemClock.uptimeMillis();
+ if (isPrivateBrowsingEnabled()) {
+ // Ignore all the cookies while an incognito tab has activity
+ CookieManager.getInstance().setAcceptCookie(false);
+ }
+
// If we start a touch icon load and then load a new page, we don't
// want to cancel the current touch icon loader. But, we do want to
// create a new one when the touch icon url is known.
@@ -382,6 +387,10 @@ class Tab implements PictureListener {
if (!isPrivateBrowsingEnabled()) {
LogTag.logPageFinishedLoading(
url, SystemClock.uptimeMillis() - mLoadStartTime);
+ } else {
+ // Ignored all the cookies while an incognito tab had activity,
+ // restore default after completion
+ CookieManager.getInstance().setAcceptCookie(mSettings.acceptCookies());
}
syncCurrentState(view, url);
mWebViewController.onPageFinished(Tab.this);
@@ -1016,7 +1025,11 @@ class Tab implements PictureListener {
*/
@Override
public void getVisitedHistory(final ValueCallback<String[]> callback) {
- mWebViewController.getVisitedHistory(callback);
+ if (isPrivateBrowsingEnabled()) {
+ callback.onReceiveValue(new String[0]);
+ } else {
+ mWebViewController.getVisitedHistory(callback);
+ }
}
};
@@ -1507,6 +1520,12 @@ class Tab implements PictureListener {
* @return The main WebView of this tab.
*/
WebView getWebView() {
+ /* Ensure the root webview object is in sync with our internal incognito status */
+ if (mMainView instanceof BrowserWebView) {
+ if (isPrivateBrowsingEnabled() && !mMainView.isPrivateBrowsingEnabled()) {
+ ((BrowserWebView)mMainView).setPrivateBrowsing(isPrivateBrowsingEnabled());
+ }
+ }
return mMainView;
}