From 75ae449e5e83d3f81fabcd3910901be2bdfa1f7b Mon Sep 17 00:00:00 2001 From: "jam@chromium.org" Date: Fri, 10 Jul 2009 00:05:15 +0000 Subject: Fix window.close() not working for modal dialogs. BUG=16374 TEST=added regression test Review URL: http://codereview.chromium.org/149412 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20339 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/browser_uitest.cc | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'chrome/browser/browser_uitest.cc') diff --git a/chrome/browser/browser_uitest.cc b/chrome/browser/browser_uitest.cc index bcb45b0..a65499f 100644 --- a/chrome/browser/browser_uitest.cc +++ b/chrome/browser/browser_uitest.cc @@ -261,6 +261,7 @@ class ShowModalDialogTest : public UITest { }; TEST_F(ShowModalDialogTest, BasicTest) { + // Test that a modal dialog is shown. FilePath test_file(test_data_directory_); test_file = test_file.AppendASCII("showmodaldialog.html"); NavigateToURL(net::FilePathToFileURL(test_file)); @@ -274,6 +275,12 @@ TEST_F(ShowModalDialogTest, BasicTest) { std::wstring title; ASSERT_TRUE(tab->GetTabTitle(&title)); ASSERT_EQ(title, L"ModalDialogTitle"); + + // Test that window.close() works. Since we don't have a way of executing a + // JS function on the page through TabProxy, reload it and use an unload + // handler that closes the page. + ASSERT_EQ(tab->Reload(), AUTOMATION_MSG_NAVIGATION_SUCCESS); + ASSERT_TRUE(automation()->WaitForWindowCountToBecome(1, action_timeout_ms())); } #endif -- cgit v1.1