| Index: android_webview/javatests/src/org/chromium/android_webview/test/LoadUrlTest.java
|
| diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/LoadUrlTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/LoadUrlTest.java
|
| index 77fb3704fd3c45b8f658d5914b9980b7880f691a..4a6bab55c7560e251fd9b143673134be9e0e3761 100644
|
| --- a/android_webview/javatests/src/org/chromium/android_webview/test/LoadUrlTest.java
|
| +++ b/android_webview/javatests/src/org/chromium/android_webview/test/LoadUrlTest.java
|
| @@ -4,12 +4,9 @@
|
|
|
| package org.chromium.android_webview.test;
|
|
|
| -import android.test.suitebuilder.annotation.LargeTest;
|
| import android.test.suitebuilder.annotation.SmallTest;
|
| import android.util.Pair;
|
|
|
| -import junit.framework.Assert;
|
| -
|
| import org.apache.http.Header;
|
| import org.apache.http.HttpRequest;
|
| import org.chromium.android_webview.AwContents;
|
| @@ -334,71 +331,4 @@ public class LoadUrlTest extends AwTestBase {
|
| if (webServer != null) webServer.shutdown();
|
| }
|
| }
|
| -
|
| - private static class TestController {
|
| - private final Object mLock = new Object();
|
| - private boolean mIsReady = false;
|
| - public void notifyPageIsReady() {
|
| - synchronized (mLock) {
|
| - mIsReady = true;
|
| - mLock.notify();
|
| - }
|
| - }
|
| - public void waitUntilIsReady() {
|
| - synchronized (mLock) {
|
| - while (!mIsReady) {
|
| - try {
|
| - mLock.wait(WAIT_TIMEOUT_MS);
|
| - } catch (Exception e) {
|
| - continue;
|
| - }
|
| - if (!mIsReady) {
|
| - Assert.fail("Wait timed out");
|
| - }
|
| - }
|
| - mIsReady = false;
|
| - }
|
| - }
|
| - }
|
| -
|
| - // Verify that it is possible to interrupt JS scripts stuck in an infinite loop
|
| - // by calling loadUrl on a WebView.
|
| - @LargeTest
|
| - @Feature({"AndroidWebView"})
|
| - public void testLoadUrlInterruptsLoopedScripts() throws Throwable {
|
| - final String infiniteLoopPage =
|
| - "<html><head>" +
|
| - " <script>" +
|
| - " function infiniteLoop() {" +
|
| - " test.notifyPageIsReady();" +
|
| - " while(1);" +
|
| - " }" +
|
| - " </script>" +
|
| - "</head><body onload='setTimeout(infiniteLoop, 0)'>" +
|
| - "</body></html>";
|
| - final String simplePage = "<html><body onload='test.notifyPageIsReady()'></body></html>";
|
| - final String expectedTitle = "PASS";
|
| - final String pageWithTitle = "<html><body onload='document.title=\"" + expectedTitle +
|
| - "\"; test.notifyPageIsReady()'></body></html>";
|
| -
|
| - final AwTestContainerView testContainerView =
|
| - createAwTestContainerViewOnMainSync(new TestAwContentsClient());
|
| - final AwContents awContents = testContainerView.getAwContents();
|
| - getAwSettingsOnUiThread(awContents).setJavaScriptEnabled(true);
|
| - final TestController testController = new TestController();
|
| - getInstrumentation().runOnMainSync(new Runnable() {
|
| - @Override
|
| - public void run() {
|
| - awContents.addPossiblyUnsafeJavascriptInterface(testController, "test", null);
|
| - }
|
| - });
|
| - loadDataAsync(awContents, infiniteLoopPage, "text/html", false);
|
| - testController.waitUntilIsReady();
|
| - loadDataAsync(awContents, simplePage, "text/html", false);
|
| - testController.waitUntilIsReady();
|
| - // Load another page that runs JS to make sure that the WebView is still functional.
|
| - loadDataAsync(awContents, pageWithTitle, "text/html", false);
|
| - testController.waitUntilIsReady();
|
| - assertEquals(expectedTitle, getTitleOnUiThread(awContents));
|
| - }
|
| }
|
|
|