Prevent flicker while dragging contrast slider

Change-Id: Ia7b99d4674d4013451477981f89de93b6b28b0ae
diff --git a/src/com/android/browser/preferences/FontSizePreview.java b/src/com/android/browser/preferences/FontSizePreview.java
index 91ecb00..8825f3d 100644
--- a/src/com/android/browser/preferences/FontSizePreview.java
+++ b/src/com/android/browser/preferences/FontSizePreview.java
@@ -54,7 +54,7 @@
     }
 
     @Override
-    protected void updatePreview() {
+    protected void updatePreview(boolean forceReload) {
         if (mWebView == null) return;
 
         WebSettings ws = mWebView.getSettings();
diff --git a/src/com/android/browser/preferences/InvertedContrastPreview.java b/src/com/android/browser/preferences/InvertedContrastPreview.java
index ba00421..ed6eadf 100644
--- a/src/com/android/browser/preferences/InvertedContrastPreview.java
+++ b/src/com/android/browser/preferences/InvertedContrastPreview.java
@@ -74,7 +74,7 @@
     }
 
     @Override
-    protected void updatePreview() {
+    protected void updatePreview(boolean forceReload) {
         if (mWebView == null) return;
 
         WebSettingsClassic ws = WebViewClassic.fromWebView(mWebView).getSettings();
@@ -83,7 +83,9 @@
                 bs.useInvertedRendering() ? "true" : "false");
         ws.setProperty(WebViewProperties.gfxInvertedScreenContrast,
                 Float.toString(bs.getInvertedContrast()));
-        mWebView.loadData(mHtml, "text/html", null);
+        if (forceReload) {
+            mWebView.loadData(mHtml, "text/html", null);
+        }
     }
 
 }
diff --git a/src/com/android/browser/preferences/WebViewPreview.java b/src/com/android/browser/preferences/WebViewPreview.java
index a3c19a4..1f938f0 100644
--- a/src/com/android/browser/preferences/WebViewPreview.java
+++ b/src/com/android/browser/preferences/WebViewPreview.java
@@ -53,7 +53,7 @@
         setLayoutResource(R.layout.webview_preview);
     }
 
-    protected abstract void updatePreview();
+    protected abstract void updatePreview(boolean forceReload);
 
     protected void setupWebView(WebView view) {}
 
@@ -77,7 +77,7 @@
     protected void onBindView(View view) {
         super.onBindView(view);
         mWebView = (WebView) view.findViewById(R.id.webview);
-        updatePreview();
+        updatePreview(true);
     }
 
     @Override
@@ -95,7 +95,7 @@
     @Override
     public void onSharedPreferenceChanged(
             SharedPreferences sharedPreferences, String key) {
-        updatePreview();
+        updatePreview(false);
     }
 
 }