| Index: android_webview/javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java
|
| diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java
|
| index 1084c0f4456140a37a252c7a0241915fccf6462c..a574fc00eb3b90cbcc9032af615f14656fb9b2c8 100644
|
| --- a/android_webview/javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java
|
| +++ b/android_webview/javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java
|
| @@ -285,7 +285,7 @@ public class ClientOnPageFinishedTest extends AwTestBase {
|
| public void testOnPageFinishedNotCalledOnDomModificationForBlankWebView() throws Throwable {
|
| TestWebServer webServer = TestWebServer.start();
|
| try {
|
| - doTestOnPageFinishedNotCalledOnDomMutation(webServer);
|
| + doTestOnPageFinishedNotCalledOnDomMutation(webServer, null);
|
| } finally {
|
| webServer.shutdown();
|
| }
|
| @@ -293,20 +293,14 @@ public class ClientOnPageFinishedTest extends AwTestBase {
|
|
|
| @MediumTest
|
| @Feature({"AndroidWebView"})
|
| - public void testOnPageFinishedCalledOnDomModificationAfterNonCommittedLoad() throws Throwable {
|
| + public void testOnPageFinishedNotCalledOnDomModificationAfterNonCommittedLoadFromApi()
|
| + throws Throwable {
|
| enableJavaScriptOnUiThread(mAwContents);
|
| TestWebServer webServer = TestWebServer.start();
|
| try {
|
| final String noContentUrl = webServer.setResponseWithNoContentStatus("/nocontent.html");
|
| - TestCallbackHelperContainer.OnPageFinishedHelper onPageFinishedHelper =
|
| - mContentsClient.getOnPageFinishedHelper();
|
| - final int onPageFinishedCallCount = onPageFinishedHelper.getCallCount();
|
| loadUrlAsync(mAwContents, noContentUrl);
|
| - // Mutate DOM.
|
| - executeJavaScriptAndWaitForResult(mAwContents, mContentsClient,
|
| - "document.body.innerHTML='Hello, World!'");
|
| - onPageFinishedHelper.waitForCallback(onPageFinishedCallCount);
|
| - assertEquals("about:blank", onPageFinishedHelper.getUrl());
|
| + doTestOnPageFinishedNotCalledOnDomMutation(webServer, noContentUrl);
|
| } finally {
|
| webServer.shutdown();
|
| }
|
| @@ -320,7 +314,7 @@ public class ClientOnPageFinishedTest extends AwTestBase {
|
| final String testUrl =
|
| webServer.setResponse("/test.html", CommonResources.ABOUT_HTML, null);
|
| loadUrlSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), testUrl);
|
| - doTestOnPageFinishedNotCalledOnDomMutation(webServer);
|
| + doTestOnPageFinishedNotCalledOnDomMutation(webServer, null);
|
| } finally {
|
| webServer.shutdown();
|
| }
|
| @@ -334,13 +328,13 @@ public class ClientOnPageFinishedTest extends AwTestBase {
|
| try {
|
| loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(),
|
| CommonResources.ABOUT_HTML, "text/html", false);
|
| - doTestOnPageFinishedNotCalledOnDomMutation(webServer);
|
| + doTestOnPageFinishedNotCalledOnDomMutation(webServer, null);
|
| } finally {
|
| webServer.shutdown();
|
| }
|
| }
|
|
|
| - private void doTestOnPageFinishedNotCalledOnDomMutation(TestWebServer webServer)
|
| + private void doTestOnPageFinishedNotCalledOnDomMutation(TestWebServer webServer, String syncUrl)
|
| throws Throwable {
|
| enableJavaScriptOnUiThread(mAwContents);
|
| TestCallbackHelperContainer.OnPageFinishedHelper onPageFinishedHelper =
|
| @@ -353,8 +347,10 @@ public class ClientOnPageFinishedTest extends AwTestBase {
|
| // we load another valid page. Since callbacks arrive sequentially if the next callback
|
| // we get is for the synchronizationUrl we know that DOM mutation did not schedule
|
| // a callback for the iframe.
|
| - final String syncUrl = webServer.setResponse("/sync.html", "", null);
|
| - loadUrlAsync(mAwContents, syncUrl);
|
| + if (syncUrl == null) {
|
| + syncUrl = webServer.setResponse("/sync.html", "", null);
|
| + loadUrlAsync(mAwContents, syncUrl);
|
| + }
|
| onPageFinishedHelper.waitForCallback(onPageFinishedCallCount);
|
| assertEquals(syncUrl, onPageFinishedHelper.getUrl());
|
| assertEquals(onPageFinishedCallCount + 1, onPageFinishedHelper.getCallCount());
|
|
|