summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-24 23:55:36 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-24 23:55:36 +0000
commit0704d13a2676c38f837cdd6514e842401279cfc5 (patch)
tree810841ac6ee37b37a2e87793711daaea564cb253 /chrome/browser
parent6cabe2099c7006d12d7416a6f7349ebbee398abc (diff)
downloadchromium_src-0704d13a2676c38f837cdd6514e842401279cfc5.zip
chromium_src-0704d13a2676c38f837cdd6514e842401279cfc5.tar.gz
chromium_src-0704d13a2676c38f837cdd6514e842401279cfc5.tar.bz2
Port unload_uitest.cc and enable some of the tests on linux.
Make WaitForSingleProcess respect base::kNoTimeout (which is equivalent to INFINITE on windows). Review URL: http://codereview.chromium.org/99008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14508 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/unload_uitest.cc24
1 files changed, 17 insertions, 7 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) {