De-classicify Browser

Removes the hard run-time dependency on WebViewClassic.
(Still needs visisbility of it to build though)
This is needed to enable chromium webview testing.

Change-Id: I290b6b23b2eac525537ebc3ef8007d681a67a169
diff --git a/src/com/android/browser/BrowserWebView.java b/src/com/android/browser/BrowserWebView.java
index 12d511f..99e0587 100644
--- a/src/com/android/browser/BrowserWebView.java
+++ b/src/com/android/browser/BrowserWebView.java
@@ -20,8 +20,12 @@
 import android.graphics.Canvas;
 import android.util.AttributeSet;
 import android.view.View;
+import android.webkit.WebChromeClient;
+import android.webkit.WebStorage;
+import android.webkit.WebStorageClassic;
 import android.webkit.WebView;
 import android.webkit.WebViewClassic;
+import android.webkit.WebViewClient;
 
 import java.util.Map;
 
@@ -37,6 +41,8 @@
     private boolean mBackgroundRemoved = false;
     private TitleBar mTitleBar;
     private OnScrollChangedListener mOnScrollChangedListener;
+    private WebChromeClient mWebChromeClient;
+    private WebViewClient mWebViewClient;
 
     /**
      * @param context
@@ -74,6 +80,31 @@
         super(context);
     }
 
+    public static boolean isClassic() {
+        // Using WebStorage for convenience of access in a static method.
+        return WebStorage.getInstance() instanceof WebStorageClassic;
+    }
+
+    @Override
+    public void setWebChromeClient(WebChromeClient client) {
+        mWebChromeClient = client;
+        super.setWebChromeClient(client);
+    }
+
+    public WebChromeClient getWebChromeClient() {
+      return mWebChromeClient;
+    }
+
+    @Override
+    public void setWebViewClient(WebViewClient client) {
+        mWebViewClient = client;
+        super.setWebViewClient(client);
+    }
+
+    public WebViewClient getWebViewClient() {
+      return mWebViewClient;
+    }
+
     public void setTitleBar(TitleBar title) {
         mTitleBar = title;
     }
@@ -87,6 +118,7 @@
     // From TitleBarDelegate
     @Override
     public void onSetEmbeddedTitleBar(final View title) {
+        // TODO: Remove this method; it is never invoked.
     }
 
     public boolean hasTitleBar() {