diff options
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/unload_uitest.cc | 24 | ||||
-rw-r--r-- | chrome/chrome.gyp | 2 |
2 files changed, 18 insertions, 8 deletions
diff --git a/chrome/browser/unload_uitest.cc b/chrome/browser/unload_uitest.cc index b991ebe..10a3a4a 100644 --- a/chrome/browser/unload_uitest.cc +++ b/chrome/browser/unload_uitest.cc @@ -3,12 +3,12 @@ // found in the LICENSE file. #include "base/file_util.h" - +#include "base/platform_thread.h" #include "chrome/browser/automation/url_request_mock_http_job.h" #include "chrome/common/chrome_switches.h" +#include "chrome/common/message_box_flags.h" #include "chrome/test/automation/browser_proxy.h" #include "chrome/test/ui/ui_test.h" -#include "chrome/views/window/dialog_delegate.h" #include "net/url_request/url_request_unittest.h" const std::string NOLISTENERS_HTML = @@ -78,7 +78,7 @@ class UnloadTest : public UITest { int max_wait_time = 5000; while (max_wait_time > 0) { max_wait_time -= kCheckDelayMs; - Sleep(kCheckDelayMs); + PlatformThread::Sleep(kCheckDelayMs); if (!IsBrowserRunning()) break; } @@ -89,7 +89,7 @@ class UnloadTest : public UITest { int max_wait_time = 5000; while (max_wait_time > 0) { max_wait_time -= kCheckDelayMs; - Sleep(kCheckDelayMs); + PlatformThread::Sleep(kCheckDelayMs); if (expected_title == GetActiveTabTitle()) break; } @@ -118,10 +118,10 @@ class UnloadTest : public UITest { void NavigateToNolistenersFileTwiceAsync() { // TODO(ojan): We hit a DCHECK in RenderViewHost::OnMsgShouldCloseACK // if we don't sleep here. - Sleep(400); + PlatformThread::Sleep(400); NavigateToURLAsync( URLRequestMockHTTPJob::GetMockUrl(L"title2.html")); - Sleep(400); + PlatformThread::Sleep(400); NavigateToURL( URLRequestMockHTTPJob::GetMockUrl(L"title2.html")); @@ -137,17 +137,26 @@ class UnloadTest : public UITest { } void ClickModalDialogButton(MessageBoxFlags::DialogButton button) { +#if defined(OS_WIN) bool modal_dialog_showing = false; MessageBoxFlags::DialogButton available_buttons; EXPECT_TRUE(automation()->WaitForAppModalDialog(3000)); EXPECT_TRUE(automation()->GetShowingAppModalDialog(&modal_dialog_showing, &available_buttons)); ASSERT_TRUE(modal_dialog_showing); - EXPECT_TRUE((button & available_buttons) != NULL); + EXPECT_TRUE((button & available_buttons) != 0); EXPECT_TRUE(automation()->ClickAppModalDialogButton(button)); +#else + // TODO(port): port this function if and when the tests that use it are + // enabled (currently they are not being run even on windows). + NOTIMPLEMENTED(); +#endif } }; +// TODO(port): these tests fail on linux because they leave a renderer process +// lying around which holds onto the user data directory. +#if defined(OS_WIN) // Navigate to a page with an infinite unload handler. // Then two two async crosssite requests to ensure // we don't get confused and think we're closing the tab. @@ -203,6 +212,7 @@ TEST_F(UnloadTest, CrossSiteInfiniteBeforeUnloadSync) { NavigateToNolistenersFileTwice(); ASSERT_TRUE(IsBrowserRunning()); } +#endif // Tests closing the browser on a page with no unload listeners registered. TEST_F(UnloadTest, BrowserCloseNoUnloadListeners) { diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp index 8ccab4d..c88046e 100644 --- a/chrome/chrome.gyp +++ b/chrome/chrome.gyp @@ -2078,6 +2078,7 @@ 'browser/metrics/metrics_service_uitest.cc', 'browser/sessions/session_restore_uitest.cc', 'browser/tab_restore_uitest.cc', + 'browser/unload_uitest.cc', 'test/reliability/page_load_test.cc', 'test/ui/layout_plugin_uitest.cc', 'test/ui/omnibox_uitest.cc', @@ -2098,7 +2099,6 @@ # TODO(port)? (Most of these include windows.h or similar.) 'browser/printing/printing_layout_uitest.cc', 'browser/ssl/ssl_uitest.cc', - 'browser/unload_uitest.cc', 'browser/views/find_bar_win_uitest.cc', 'common/logging_chrome_uitest.cc', 'test/accessibility/accessibility_tests.cc', |