Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(222)

Side by Side Diff: chrome/browser/unload_uitest.cc

Issue 6257006: Move a bunch of random other files to src/ui/base... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/views/user_data_dir_dialog.cc ('k') | chrome/plugin/plugin_thread.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "app/message_box_flags.h"
6 #include "base/file_util.h" 5 #include "base/file_util.h"
7 #include "chrome/browser/net/url_request_mock_http_job.h" 6 #include "chrome/browser/net/url_request_mock_http_job.h"
8 #include "chrome/browser/ui/view_ids.h" 7 #include "chrome/browser/ui/view_ids.h"
9 #include "chrome/common/chrome_switches.h" 8 #include "chrome/common/chrome_switches.h"
10 #include "chrome/test/automation/browser_proxy.h" 9 #include "chrome/test/automation/browser_proxy.h"
11 #include "chrome/test/automation/tab_proxy.h" 10 #include "chrome/test/automation/tab_proxy.h"
12 #include "chrome/test/automation/window_proxy.h" 11 #include "chrome/test/automation/window_proxy.h"
13 #include "chrome/test/ui/ui_test.h" 12 #include "chrome/test/ui/ui_test.h"
14 #include "net/url_request/url_request_unittest.h" 13 #include "net/url_request/url_request_unittest.h"
14 #include "ui/base/message_box_flags.h"
15 #include "views/event.h" 15 #include "views/event.h"
16 16
17 const std::string NOLISTENERS_HTML = 17 const std::string NOLISTENERS_HTML =
18 "<html><head><title>nolisteners</title></head><body></body></html>"; 18 "<html><head><title>nolisteners</title></head><body></body></html>";
19 19
20 const std::string UNLOAD_HTML = 20 const std::string UNLOAD_HTML =
21 "<html><head><title>unload</title></head><body>" 21 "<html><head><title>unload</title></head><body>"
22 "<script>window.onunload=function(e){}</script></body></html>"; 22 "<script>window.onunload=function(e){}</script></body></html>";
23 23
24 const std::string BEFORE_UNLOAD_HTML = 24 const std::string BEFORE_UNLOAD_HTML =
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 157
158 void LoadUrlAndQuitBrowser(const std::string& html_content, 158 void LoadUrlAndQuitBrowser(const std::string& html_content,
159 const std::wstring& expected_title = L"") { 159 const std::wstring& expected_title = L"") {
160 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); 160 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0));
161 ASSERT_TRUE(browser.get()); 161 ASSERT_TRUE(browser.get());
162 NavigateToDataURL(html_content, expected_title); 162 NavigateToDataURL(html_content, expected_title);
163 bool application_closed = false; 163 bool application_closed = false;
164 EXPECT_TRUE(CloseBrowser(browser.get(), &application_closed)); 164 EXPECT_TRUE(CloseBrowser(browser.get(), &application_closed));
165 } 165 }
166 166
167 void ClickModalDialogButton(MessageBoxFlags::DialogButton button) { 167 void ClickModalDialogButton(ui::MessageBoxFlags::DialogButton button) {
168 bool modal_dialog_showing = false; 168 bool modal_dialog_showing = false;
169 MessageBoxFlags::DialogButton available_buttons; 169 ui::MessageBoxFlags::DialogButton available_buttons;
170 EXPECT_TRUE(automation()->WaitForAppModalDialog()); 170 EXPECT_TRUE(automation()->WaitForAppModalDialog());
171 EXPECT_TRUE(automation()->GetShowingAppModalDialog(&modal_dialog_showing, 171 EXPECT_TRUE(automation()->GetShowingAppModalDialog(&modal_dialog_showing,
172 &available_buttons)); 172 &available_buttons));
173 ASSERT_TRUE(modal_dialog_showing); 173 ASSERT_TRUE(modal_dialog_showing);
174 EXPECT_TRUE((button & available_buttons) != 0); 174 EXPECT_TRUE((button & available_buttons) != 0);
175 EXPECT_TRUE(automation()->ClickAppModalDialogButton(button)); 175 EXPECT_TRUE(automation()->ClickAppModalDialogButton(button));
176 } 176 }
177 }; 177 };
178 178
179 // Navigate to a page with an infinite unload handler. 179 // Navigate to a page with an infinite unload handler.
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 } 292 }
293 293
294 // Tests closing the browser with a beforeunload handler and clicking 294 // Tests closing the browser with a beforeunload handler and clicking
295 // OK in the beforeunload confirm dialog. 295 // OK in the beforeunload confirm dialog.
296 TEST_F(UnloadTest, BrowserCloseBeforeUnloadOK) { 296 TEST_F(UnloadTest, BrowserCloseBeforeUnloadOK) {
297 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); 297 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0));
298 ASSERT_TRUE(browser.get()); 298 ASSERT_TRUE(browser.get());
299 NavigateToDataURL(BEFORE_UNLOAD_HTML, L"beforeunload"); 299 NavigateToDataURL(BEFORE_UNLOAD_HTML, L"beforeunload");
300 300
301 CloseBrowserAsync(browser.get()); 301 CloseBrowserAsync(browser.get());
302 ClickModalDialogButton(MessageBoxFlags::DIALOGBUTTON_OK); 302 ClickModalDialogButton(ui::MessageBoxFlags::DIALOGBUTTON_OK);
303 WaitForBrowserClosed(); 303 WaitForBrowserClosed();
304 } 304 }
305 305
306 // Tests closing the browser with a beforeunload handler and clicking 306 // Tests closing the browser with a beforeunload handler and clicking
307 // CANCEL in the beforeunload confirm dialog. 307 // CANCEL in the beforeunload confirm dialog.
308 TEST_F(UnloadTest, BrowserCloseBeforeUnloadCancel) { 308 TEST_F(UnloadTest, BrowserCloseBeforeUnloadCancel) {
309 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); 309 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0));
310 ASSERT_TRUE(browser.get()); 310 ASSERT_TRUE(browser.get());
311 NavigateToDataURL(BEFORE_UNLOAD_HTML, L"beforeunload"); 311 NavigateToDataURL(BEFORE_UNLOAD_HTML, L"beforeunload");
312 312
313 CloseBrowserAsync(browser.get()); 313 CloseBrowserAsync(browser.get());
314 ClickModalDialogButton(MessageBoxFlags::DIALOGBUTTON_CANCEL); 314 ClickModalDialogButton(ui::MessageBoxFlags::DIALOGBUTTON_CANCEL);
315 // There's no real graceful way to wait for something _not_ to happen, so 315 // There's no real graceful way to wait for something _not_ to happen, so
316 // we just wait a short period. 316 // we just wait a short period.
317 CrashAwareSleep(500); 317 CrashAwareSleep(500);
318 ASSERT_TRUE(IsBrowserRunning()); 318 ASSERT_TRUE(IsBrowserRunning());
319 319
320 CloseBrowserAsync(browser.get()); 320 CloseBrowserAsync(browser.get());
321 ClickModalDialogButton(MessageBoxFlags::DIALOGBUTTON_OK); 321 ClickModalDialogButton(ui::MessageBoxFlags::DIALOGBUTTON_OK);
322 WaitForBrowserClosed(); 322 WaitForBrowserClosed();
323 } 323 }
324 324
325 #if defined(OS_LINUX) 325 #if defined(OS_LINUX)
326 // Fails sometimes on Linux valgrind. http://crbug.com/45675 326 // Fails sometimes on Linux valgrind. http://crbug.com/45675
327 #define MAYBE_BrowserCloseWithInnerFocusedFrame \ 327 #define MAYBE_BrowserCloseWithInnerFocusedFrame \
328 FLAKY_BrowserCloseWithInnerFocusedFrame 328 FLAKY_BrowserCloseWithInnerFocusedFrame
329 #else 329 #else
330 #define MAYBE_BrowserCloseWithInnerFocusedFrame \ 330 #define MAYBE_BrowserCloseWithInnerFocusedFrame \
331 BrowserCloseWithInnerFocusedFrame 331 BrowserCloseWithInnerFocusedFrame
332 #endif 332 #endif
333 333
334 // Tests closing the browser and clicking OK in the beforeunload confirm dialog 334 // Tests closing the browser and clicking OK in the beforeunload confirm dialog
335 // if an inner frame has the focus. See crbug.com/32615. 335 // if an inner frame has the focus. See crbug.com/32615.
336 TEST_F(UnloadTest, MAYBE_BrowserCloseWithInnerFocusedFrame) { 336 TEST_F(UnloadTest, MAYBE_BrowserCloseWithInnerFocusedFrame) {
337 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); 337 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0));
338 ASSERT_TRUE(browser.get()); 338 ASSERT_TRUE(browser.get());
339 339
340 NavigateToDataURL(INNER_FRAME_WITH_FOCUS_HTML, L"innerframewithfocus"); 340 NavigateToDataURL(INNER_FRAME_WITH_FOCUS_HTML, L"innerframewithfocus");
341 341
342 CloseBrowserAsync(browser.get()); 342 CloseBrowserAsync(browser.get());
343 ClickModalDialogButton(MessageBoxFlags::DIALOGBUTTON_OK); 343 ClickModalDialogButton(ui::MessageBoxFlags::DIALOGBUTTON_OK);
344 WaitForBrowserClosed(); 344 WaitForBrowserClosed();
345 } 345 }
346 346
347 // Tests closing the browser with a beforeunload handler that takes 347 // Tests closing the browser with a beforeunload handler that takes
348 // two seconds to run. 348 // two seconds to run.
349 TEST_F(UnloadTest, BrowserCloseTwoSecondBeforeUnload) { 349 TEST_F(UnloadTest, BrowserCloseTwoSecondBeforeUnload) {
350 LoadUrlAndQuitBrowser(TWO_SECOND_BEFORE_UNLOAD_HTML, 350 LoadUrlAndQuitBrowser(TWO_SECOND_BEFORE_UNLOAD_HTML,
351 L"twosecondbeforeunload"); 351 L"twosecondbeforeunload");
352 } 352 }
353 353
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 ASSERT_TRUE(browser->WaitForTabCountToBecome(1)); 449 ASSERT_TRUE(browser->WaitForTabCountToBecome(1));
450 scoped_refptr<TabProxy> main_tab(browser->GetActiveTab()); 450 scoped_refptr<TabProxy> main_tab(browser->GetActiveTab());
451 ASSERT_TRUE(main_tab.get()); 451 ASSERT_TRUE(main_tab.get());
452 std::wstring main_title; 452 std::wstring main_title;
453 EXPECT_TRUE(main_tab->GetTabTitle(&main_title)); 453 EXPECT_TRUE(main_tab->GetTabTitle(&main_title));
454 EXPECT_EQ(std::wstring(L"only_one_unload"), main_title); 454 EXPECT_EQ(std::wstring(L"only_one_unload"), main_title);
455 } 455 }
456 456
457 // TODO(ojan): Add tests for unload/beforeunload that have multiple tabs 457 // TODO(ojan): Add tests for unload/beforeunload that have multiple tabs
458 // and multiple windows. 458 // and multiple windows.
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/user_data_dir_dialog.cc ('k') | chrome/plugin/plugin_thread.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698