Merge "Update WebGL conformance tests to early out..." into lmp-dev
diff --git a/tests/webgl/Android.mk b/tests/webgl/Android.mk
index ce22dd8..624d82a 100755
--- a/tests/webgl/Android.mk
+++ b/tests/webgl/Android.mk
@@ -24,7 +24,8 @@
 
 LOCAL_STATIC_JAVA_LIBRARIES := ctsdeviceutil ctstestrunner
 
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
+LOCAL_SRC_FILES := $(call all-java-files-under, src)\
+		../src/android/webkit/cts/NullWebViewUtils.java
 
 # Must match the package name in CtsTestCaseList.mk
 LOCAL_PACKAGE_NAME := CtsWebGLTestCases
diff --git a/tests/webgl/src/android/webgl/WebGLActivity.java b/tests/webgl/src/android/webgl/WebGLActivity.java
index ebba905..f851a76 100644
--- a/tests/webgl/src/android/webgl/WebGLActivity.java
+++ b/tests/webgl/src/android/webgl/WebGLActivity.java
@@ -25,6 +25,7 @@
 import android.webkit.WebView;
 import android.webkit.JavascriptInterface;
 import android.webkit.WebViewClient;
+import android.webkit.cts.NullWebViewUtils;
 import android.widget.Toast;
 import java.lang.Override;
 import java.io.InputStream;
@@ -51,7 +52,16 @@
         super.onCreate(icicle);
 
         mWebGlHarnessUrl = "file://" + getCacheDir() + "/harness.html";
-        mWebView = new WebView(this);
+        try {
+            mWebView = new WebView(this);
+        } catch (Exception e) {
+            NullWebViewUtils.determineIfWebViewAvailable(this, e);
+        }
+
+        if (mWebView == null) {
+            return;
+        }
+
         mWebView.getSettings().setJavaScriptEnabled(true);
         mWebView.getSettings().setAllowFileAccessFromFileURLs(true);
         mWebView.getSettings().setMediaPlaybackRequiresUserGesture(false);
@@ -92,6 +102,10 @@
     }
 
     public void navigateToTest(String url) throws Exception {
+        if (!NullWebViewUtils.isWebViewAvailable()) {
+            return;
+        }
+
         synchronized(WebGLActivity.this) {
             mWebGLTestUrl = url;
         }