UI for switching texture upload mode

For browser, default will be CPU upload until bug 5334978 fix.

bug:5347539

The webkit part is in
https://android-git.corp.google.com/g/#/c/137610/

Change-Id: Iec3a100dc142b28e54145f08a5c76210f8634cba
diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java
index cfaa18a..2c0b2ec 100644
--- a/src/com/android/browser/BrowserSettings.java
+++ b/src/com/android/browser/BrowserSettings.java
@@ -268,6 +268,9 @@
 
         settings.setProperty(WebViewProperties.gfxInvertedScreenContrast,
                 Float.toString(getInvertedContrast()));
+
+        settings.setProperty(WebViewProperties.gfxEnableCpuUploadPath,
+                enableCpuUploadPath() ? "true" : "false");
     }
 
     /**
@@ -672,6 +675,13 @@
         return mPrefs.getBoolean(PREF_ENABLE_VISUAL_INDICATOR, false);
     }
 
+    public boolean enableCpuUploadPath() {
+        if (!isDebugEnabled()) {
+            return true;
+        }
+        return mPrefs.getBoolean(PREF_ENABLE_CPU_UPLOAD_PATH, true);
+    }
+
     public boolean enableJavascriptConsole() {
         if (!isDebugEnabled()) {
             return false;
diff --git a/src/com/android/browser/PreferenceKeys.java b/src/com/android/browser/PreferenceKeys.java
index f3da937..89fcbfc 100644
--- a/src/com/android/browser/PreferenceKeys.java
+++ b/src/com/android/browser/PreferenceKeys.java
@@ -68,6 +68,7 @@
     static final String PREF_ENABLE_NAV_DUMP = "enable_nav_dump";
     static final String PREF_ENABLE_TRACING = "enable_tracing";
     static final String PREF_ENABLE_VISUAL_INDICATOR = "enable_visual_indicator";
+    static final String PREF_ENABLE_CPU_UPLOAD_PATH = "enable_cpu_upload_path";
     static final String PREF_JAVASCRIPT_CONSOLE = "javascript_console";
     static final String PREF_JS_ENGINE_FLAGS = "js_engine_flags";
     static final String PREF_NORMAL_LAYOUT = "normal_layout";
diff --git a/src/com/android/browser/WebViewProperties.java b/src/com/android/browser/WebViewProperties.java
index 9a656d7..c410038 100644
--- a/src/com/android/browser/WebViewProperties.java
+++ b/src/com/android/browser/WebViewProperties.java
@@ -18,4 +18,5 @@
 public interface WebViewProperties {
     static final String gfxInvertedScreen = "inverted";
     static final String gfxInvertedScreenContrast = "inverted_contrast";
+    static final String gfxEnableCpuUploadPath = "enable_cpu_upload_path";
 }