Initial work on browser incognito mode history feature.

Change-Id: I5d1575a9b74704abc313b322ae08ca7caaccdc69
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index 69e0ee5..b9f5f01 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -348,7 +348,8 @@
                     intent.getData() != null)
                     || RecognizerResultsIntent.ACTION_VOICE_SEARCH_RESULTS
                     .equals(action),
-                    intent.getStringExtra(Browser.EXTRA_APPLICATION_ID), urlData.mUrl);
+                    intent.getStringExtra(Browser.EXTRA_APPLICATION_ID),
+                    urlData.mUrl, false);
             mTabControl.setCurrentTab(t);
             attachTabToContentView(t);
             WebView webView = t.getWebView();
@@ -632,14 +633,16 @@
 
         final ContentResolver cr = mResolver;
         final String newUrl = url;
-        new AsyncTask<Void, Void, Void>() {
-            @Override
-            protected Void doInBackground(Void... unused) {
-                Browser.updateVisitedHistory(cr, newUrl, false);
-                Browser.addSearchUrl(cr, newUrl);
-                return null;
-            }
-        }.execute();
+        if (!mTabControl.getCurrentWebView().isPrivateBrowsingEnabled()) {
+            new AsyncTask<Void, Void, Void>() {
+                @Override
+                protected Void doInBackground(Void... unused) {
+                        Browser.updateVisitedHistory(cr, newUrl, false);
+                        Browser.addSearchUrl(cr, newUrl);
+                    return null;
+                }
+            }.execute();
+        }
 
         Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
         intent.addCategory(Intent.CATEGORY_DEFAULT);
@@ -1864,7 +1867,7 @@
         final Tab currentTab = mTabControl.getCurrentTab();
         if (mTabControl.canCreateNewTab()) {
             final Tab tab = mTabControl.createNewTab(closeOnExit, appId,
-                    urlData.mUrl);
+                    urlData.mUrl, false);
             WebView webview = tab.getWebView();
             // If the last tab was removed from the active tabs page, currentTab
             // will be null.
@@ -1903,6 +1906,20 @@
         }
     }
 
+    /* package */ Tab openIncognitoTab() {
+        if (mTabControl.canCreateNewTab()) {
+            Tab currentTab = mTabControl.getCurrentTab();
+            Tab tab = mTabControl.createNewTab(false, null, null, true);
+            if (currentTab != null) {
+                removeTabFromContentView(currentTab);
+            }
+            mTabControl.setCurrentTab(tab);
+            attachTabToContentView(tab);
+            return tab;
+        }
+        return null;
+    }
+
     private class Copy implements OnMenuItemClickListener {
         private CharSequence mText;