| Index: android_webview/javatests/src/org/chromium/android_webview/test/PopupWindowTest.java
|
| diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/PopupWindowTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/PopupWindowTest.java
|
| index 3044ddc5917a36b87d0d47d08314d70a7bb02781..16d6b554bae779572c43d70990e4d108a55dab99 100644
|
| --- a/android_webview/javatests/src/org/chromium/android_webview/test/PopupWindowTest.java
|
| +++ b/android_webview/javatests/src/org/chromium/android_webview/test/PopupWindowTest.java
|
| @@ -11,6 +11,7 @@ import org.chromium.android_webview.AwContents;
|
| import org.chromium.android_webview.test.util.CommonResources;
|
| import org.chromium.base.test.util.Feature;
|
| import org.chromium.base.test.util.MinAndroidSdkLevel;
|
| +import org.chromium.content.browser.test.util.TestCallbackHelperContainer;
|
| import org.chromium.net.test.util.TestWebServer;
|
|
|
| /**
|
| @@ -56,8 +57,31 @@ public class PopupWindowTest extends AwTestBase {
|
| "This is a popup window");
|
|
|
| triggerPopup(mParentContents, mParentContentsClient, mWebServer, parentPageHtml,
|
| - popupPageHtml, "/popup.html", "tryOpenWindow()");
|
| - AwContents popupContents = connectPendingPopup(mParentContents);
|
| + popupPageHtml, popupPath, "tryOpenWindow()");
|
| + AwContents popupContents = connectPendingPopup(mParentContents).popupContents;
|
| assertEquals(POPUP_TITLE, getTitleOnUiThread(popupContents));
|
| }
|
| +
|
| + @SmallTest
|
| + @Feature({"AndroidWebView"})
|
| + public void testOnPageFinishedCalledOnDomModificationAfterNavigation() throws Throwable {
|
| + final String popupPath = "/popup.html";
|
| + final String parentPageHtml = CommonResources.makeHtmlPageFrom("", "<script>"
|
| + + "function tryOpenWindow() {"
|
| + + " window.popupWindow = window.open('" + popupPath + "');"
|
| + + "}"
|
| + + "function modifyDomOfPopup() {"
|
| + + " window.popupWindow.document.body.innerHTML = 'Hello from the parent!';"
|
| + + "}</script>");
|
| +
|
| + triggerPopup(mParentContents, mParentContentsClient, mWebServer, parentPageHtml,
|
| + null, popupPath, "tryOpenWindow()");
|
| + TestCallbackHelperContainer.OnPageFinishedHelper onPageFinishedHelper =
|
| + connectPendingPopup(mParentContents).popupContentsClient.getOnPageFinishedHelper();
|
| + final int onPageFinishedCallCount = onPageFinishedHelper.getCallCount();
|
| + executeJavaScriptAndWaitForResult(mParentContents, mParentContentsClient,
|
| + "modifyDomOfPopup()");
|
| + onPageFinishedHelper.waitForCallback(onPageFinishedCallCount);
|
| + assertEquals("about:blank", onPageFinishedHelper.getUrl());
|
| + }
|
| }
|
|
|