Commit f28fbdb0 authored by jam@chromium.org's avatar jam@chromium.org

Fix showModalDialog regression.

BUG=4202
TEST=added regression test.
Review URL: http://codereview.chromium.org/149143

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19872 0039d316-1c4b-4281-b951-d872f2087c98
parent 92de983b
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include "base/sys_info.h" #include "base/sys_info.h"
#include "base/values.h" #include "base/values.h"
#include "chrome/app/chrome_dll_resource.h" #include "chrome/app/chrome_dll_resource.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/chrome_constants.h" #include "chrome/common/chrome_constants.h"
#include "chrome/common/platform_util.h" #include "chrome/common/platform_util.h"
#include "chrome/common/pref_names.h" #include "chrome/common/pref_names.h"
...@@ -324,4 +325,28 @@ TEST_F(VisibleBrowserTest, WindowOpenClose) { ...@@ -324,4 +325,28 @@ TEST_F(VisibleBrowserTest, WindowOpenClose) {
} }
#endif #endif
#if defined(OS_WIN) // only works on Windows for now: http:://crbug.com/15891
class ShowModalDialogTest : public UITest {
public:
ShowModalDialogTest() {
launch_arguments_.AppendSwitch(switches::kDisablePopupBlocking);
}
};
TEST_F(ShowModalDialogTest, BasicTest) {
FilePath test_file(test_data_directory_);
test_file = test_file.AppendASCII("showmodaldialog.html");
NavigateToURL(net::FilePathToFileURL(test_file));
ASSERT_TRUE(automation()->WaitForWindowCountToBecome(2, action_timeout_ms()));
scoped_refptr<BrowserProxy> browser = automation()->GetBrowserWindow(1);
scoped_refptr<TabProxy> tab = browser->GetActiveTab();
std::wstring title;
ASSERT_TRUE(tab->GetTabTitle(&title));
ASSERT_EQ(title, L"ModalDialogTitle");
}
#endif
} // namespace } // namespace
...@@ -818,7 +818,7 @@ void RenderViewHost::OnMsgShowWidget(int route_id, ...@@ -818,7 +818,7 @@ void RenderViewHost::OnMsgShowWidget(int route_id,
void RenderViewHost::OnMsgRunModal(IPC::Message* reply_msg) { void RenderViewHost::OnMsgRunModal(IPC::Message* reply_msg) {
DCHECK(!run_modal_reply_msg_); DCHECK(!run_modal_reply_msg_);
if (modal_dialog_count_++ == 0) if (modal_dialog_count_++ == 0)
modal_dialog_event_->Reset(); modal_dialog_event_->Signal();
run_modal_reply_msg_ = reply_msg; run_modal_reply_msg_ = reply_msg;
// TODO(darin): Bug 1107929: Need to inform our delegate to show this view in // TODO(darin): Bug 1107929: Need to inform our delegate to show this view in
......
<html>
<body onload="setTimeout('ShowDialog()', 100)">
<script>
function ShowDialog() {
window.showModalDialog("showmodaldialog_dialog.html");
}
</script>
</body>
</html>
\ No newline at end of file
<html>
<head>
<title>ModalDialogTitle</title>
</head>
</html>
\ No newline at end of file
function dummy() {
}
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment