Cleanup temporary incognito mode files after last tab closes.
Change-Id: Ia685fb162d7449d2cd850e87607eff39cc8893a5
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index b62862b..24796a6 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -2086,6 +2086,10 @@
mTabControl.setCurrentTab(mTabControl.getTab(currentIndex));
resetTitleIconAndProgress();
updateLockIconToLatest();
+
+ if (!mTabControl.hasAnyOpenIncognitoTabs()) {
+ WebView.cleanupPrivateBrowsingFiles(this);
+ }
}
/* package */ void goBackOnePageOrQuit() {
diff --git a/src/com/android/browser/TabControl.java b/src/com/android/browser/TabControl.java
index 333ce91..37834c0 100644
--- a/src/com/android/browser/TabControl.java
+++ b/src/com/android/browser/TabControl.java
@@ -150,6 +150,19 @@
}
/**
+ * Returns true if there are any incognito tabs open.
+ * @return True when any incognito tabs are open, false otherwise.
+ */
+ boolean hasAnyOpenIncognitoTabs() {
+ for (Tab tab : mTabs) {
+ if (tab.getWebView().isPrivateBrowsingEnabled()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
* Create a new tab.
* @return The newly createTab or null if we have reached the maximum
* number of open tabs.