DO NOT MERGE:backport test imrpovements from newer platform
This change contains the following changes:
I41758a87 some improvements for browser test harness
I7785f66c prevent browser test from launching non-http urls
Id2f49549 throw RuntimeException if failed to stop a timedout site
Change-Id: Ic44f747c5da4328be8fa15b882ce72f56204b142
diff --git a/tests/src/com/android/browser/PopularUrlsTest.java b/tests/src/com/android/browser/PopularUrlsTest.java
index 98a0e9f..590542a 100644
--- a/tests/src/com/android/browser/PopularUrlsTest.java
+++ b/tests/src/com/android/browser/PopularUrlsTest.java
@@ -23,6 +23,7 @@
import android.os.Environment;
import android.test.ActivityInstrumentationTestCase2;
import android.util.Log;
+import android.webkit.DownloadListener;
import android.webkit.HttpAuthHandler;
import android.webkit.JsPromptResult;
import android.webkit.JsResult;
@@ -180,6 +181,16 @@
return true;
}
+
+ /*
+ * Skip the unload confirmation
+ */
+ @Override
+ public boolean onJsBeforeUnload(
+ WebView view, String url, String message, JsResult result) {
+ result.confirm();
+ return true;
+ }
});
webView.setWebViewClient(new TestWebViewClient(webView.getWebViewClient()) {
@@ -228,6 +239,23 @@
}
}
+ @Override
+ public boolean shouldOverrideUrlLoading(WebView view, String url) {
+ if (!(url.startsWith("http://") || url.startsWith("https://"))) {
+ Log.v(TAG, String.format("suppressing non-http url scheme: %s", url));
+ return true;
+ }
+ return super.shouldOverrideUrlLoading(view, url);
+ }
+ });
+
+ webView.setDownloadListener(new DownloadListener() {
+
+ @Override
+ public void onDownloadStart(String url, String userAgent, String contentDisposition,
+ String mimetype, long contentLength) {
+ Log.v(TAG, String.format("Download request ignored: %s", url));
+ }
});
}
@@ -258,7 +286,7 @@
// try to wait for count down latch again
timedout = !mLatch.await(5000, TimeUnit.MILLISECONDS);
if (timedout) {
- Log.e(TAG, "failed to stop the timedout site in 5s");
+ throw new RuntimeException("failed to stop timedout site, is browser pegged?");
}
}
}