Implement client-side incognito mode

Since WebView deprecated privateBrowsing in API 17 (and killed it
for good in API 19), we were left without incognito in the Browser
app. Follow the docs' recommendations and implement it with "manual"
control of privacy-related engine options

* Internally track incognito state for tabs
* Disable all forms of storage and cache on private webviews
* Disable all cookie activity while an incognito tab is active
* Stop trying to use the deprecated "privateBrowsing" argument
  when creating webViews, always set to false

Change-Id: I23f2e34ee125635bba8981f0711ba4986a9beaab

Revert "Browser: inkognito mode is not supported in 4.4"

This reverts commit c424cb039aefa44891a097ae3bfbd5e7eeb3d9cc.

Show a startup page in incognito mode

Change-Id: Ib1d4be6890c81b73a46f026b6fcbb2f1e8de567d

This re-adds incognito mode back into stock browser properly for android 4.4 since webview caused the old implementation to force close the stock browser
credits to cyanogenmod
Implement client-side incognito mode http://review.cyanogenmod.org/#/c/57791/
Show a startup page in incognito mode http://review.cyanogenmod.org/#/c/58185/

Change-Id: Ib1d4be6890c81b73a46f026b6fcbb2f1e8de567d
Reimplement titlebar autohiding to be compatible with chromium webview.

Patch Set 4: Fix code formatting

Change-Id: I4de873f7c089d4f7dede944d05f48d03000f3d99
Browser: Fix Progress bar when quick Controls Enabled

The quick controls progress bar was broken by my browser autohide patch.
This patch fixes it to properly show again.

Change-Id: I1062c4eac26bbc87ca6ec9de775e0b1b58d0542b
browser: allow to load browser internal assets

The new webview classes avoid to load urls from local file schemes. Just replace the load of internal browser assets (most_visited) from loadUrl to loadData.

Change-Id: Iee633a1a3599a7e752e15452fa04e15baac2e256
JIRA: CYAN-3564
Issue: https://jira.cyanogenmod.org/browse/CYAN-3564
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Browser: fix crash updating recycled favicon

Occurs on the (slow) galaxysmtd.

java.lang.RuntimeException: An error occured while executing doInBackground()
	at android.os.AsyncTask$3.done(AsyncTask.java:300)
	at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
	at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
	at java.util.concurrent.FutureTask.run(FutureTask.java:242)
	at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
	at java.lang.Thread.run(Thread.java:841)
Caused by: java.lang.IllegalStateException: Can't compress a recycled bitmap
	at android.graphics.Bitmap.checkRecycled(Bitmap.java:345)
	at android.graphics.Bitmap.compress(Bitmap.java:985)
	at com.android.browser.Bookmarks$1.doInBackground(Bookmarks.java:206)
	at com.android.browser.Bookmarks$1.doInBackground(Bookmarks.java:202)
	at android.os.AsyncTask$2.call(AsyncTask.java:288)
	at java.util.concurrent.FutureTask.run(FutureTask.java:237)
	... 4 more

Change-Id: I867696996c786024aabb869583583198ac3bc13a
Fix Memory leaks on Browser application

Working on Issue 31125 (http://code.google.com/p/android/issues
/detail?id=31125):
* Enhance mTabViews management on NavScreen class (add remove()
function when necessary).

Change-Id: I89662880107ae88ead40d5246286d4ab65ed9e75
Signed-off-by: Sebastien MICHEL <sebastien.michel@intel.com>
Handle DownloadManager expceptions

Handles illegal state exceptions thrown by DownloadManager
on two ocassions:
* the directory sdcard/Downloads is an ordinary file
* could not create dirctory sdcard/Downloads

Change will log an error, additionally toast with information
will pop up.

Change-Id: If853d3218a188bc77c187362a70697126b90989d