| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
| 6 #include "base/command_line.h" | 6 #include "base/command_line.h" |
| 7 #include "base/file_path.h" | 7 #include "base/file_path.h" |
| 8 #include "base/test/test_timeouts.h" |
| 8 #include "chrome/app/chrome_command_ids.h" | 9 #include "chrome/app/chrome_command_ids.h" |
| 9 #include "chrome/common/chrome_paths.h" | 10 #include "chrome/common/chrome_paths.h" |
| 10 #include "chrome/common/url_constants.h" | 11 #include "chrome/common/url_constants.h" |
| 11 #include "chrome/test/automation/tab_proxy.h" | 12 #include "chrome/test/automation/tab_proxy.h" |
| 12 #include "chrome/test/automation/browser_proxy.h" | 13 #include "chrome/test/automation/browser_proxy.h" |
| 13 #include "chrome/test/automation/window_proxy.h" | 14 #include "chrome/test/automation/window_proxy.h" |
| 14 #include "chrome/test/ui/ui_test.h" | 15 #include "chrome/test/ui/ui_test.h" |
| 15 #include "googleurl/src/gurl.h" | 16 #include "googleurl/src/gurl.h" |
| 16 #include "net/base/net_util.h" | 17 #include "net/base/net_util.h" |
| 17 #include "net/test/test_server.h" | 18 #include "net/test/test_server.h" |
| (...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 591 EXPECT_EQ(window_count, new_window_count); | 592 EXPECT_EQ(window_count, new_window_count); |
| 592 | 593 |
| 593 browser_proxy = automation()->GetBrowserWindow(1); | 594 browser_proxy = automation()->GetBrowserWindow(1); |
| 594 int tab_count; | 595 int tab_count; |
| 595 EXPECT_TRUE(browser_proxy->GetTabCount(&tab_count)); | 596 EXPECT_TRUE(browser_proxy->GetTabCount(&tab_count)); |
| 596 EXPECT_EQ(initial_tab_count + 2, tab_count); | 597 EXPECT_EQ(initial_tab_count + 2, tab_count); |
| 597 | 598 |
| 598 scoped_refptr<TabProxy> restored_tab_proxy( | 599 scoped_refptr<TabProxy> restored_tab_proxy( |
| 599 browser_proxy->GetTab(initial_tab_count)); | 600 browser_proxy->GetTab(initial_tab_count)); |
| 600 ASSERT_TRUE(restored_tab_proxy.get()); | 601 ASSERT_TRUE(restored_tab_proxy.get()); |
| 601 ASSERT_TRUE(restored_tab_proxy->WaitForTabToBeRestored(action_timeout_ms())); | 602 ASSERT_TRUE(restored_tab_proxy->WaitForTabToBeRestored( |
| 603 TestTimeouts::action_timeout_ms())); |
| 602 GURL url; | 604 GURL url; |
| 603 ASSERT_TRUE(restored_tab_proxy->GetCurrentURL(&url)); | 605 ASSERT_TRUE(restored_tab_proxy->GetCurrentURL(&url)); |
| 604 EXPECT_TRUE(url == url1_); | 606 EXPECT_TRUE(url == url1_); |
| 605 | 607 |
| 606 restored_tab_proxy = browser_proxy->GetTab(initial_tab_count + 1); | 608 restored_tab_proxy = browser_proxy->GetTab(initial_tab_count + 1); |
| 607 ASSERT_TRUE(restored_tab_proxy.get()); | 609 ASSERT_TRUE(restored_tab_proxy.get()); |
| 608 ASSERT_TRUE(restored_tab_proxy->WaitForTabToBeRestored(action_timeout_ms())); | 610 ASSERT_TRUE(restored_tab_proxy->WaitForTabToBeRestored( |
| 611 TestTimeouts::action_timeout_ms())); |
| 609 ASSERT_TRUE(restored_tab_proxy->GetCurrentURL(&url)); | 612 ASSERT_TRUE(restored_tab_proxy->GetCurrentURL(&url)); |
| 610 EXPECT_TRUE(url == url2_); | 613 EXPECT_TRUE(url == url2_); |
| 611 } | 614 } |
| 612 | 615 |
| 613 // Restore tab with special URL about:credits and make sure the page loads | 616 // Restore tab with special URL about:credits and make sure the page loads |
| 614 // properly after restore. See http://crbug.com/31905. | 617 // properly after restore. See http://crbug.com/31905. |
| 615 TEST_F(TabRestoreUITest, RestoreTabWithSpecialURL) { | 618 TEST_F(TabRestoreUITest, RestoreTabWithSpecialURL) { |
| 616 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); | 619 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 617 ASSERT_TRUE(browser.get()); | 620 ASSERT_TRUE(browser.get()); |
| 618 CheckActiveWindow(browser.get()); | 621 CheckActiveWindow(browser.get()); |
| 619 | 622 |
| 620 // Navigate new tab to a special URL. | 623 // Navigate new tab to a special URL. |
| 621 const GURL special_url(chrome::kAboutCreditsURL); | 624 const GURL special_url(chrome::kAboutCreditsURL); |
| 622 ASSERT_TRUE(browser->AppendTab(special_url)); | 625 ASSERT_TRUE(browser->AppendTab(special_url)); |
| 623 scoped_refptr<TabProxy> tab(browser->GetActiveTab()); | 626 scoped_refptr<TabProxy> tab(browser->GetActiveTab()); |
| 624 ASSERT_TRUE(tab.get()); | 627 ASSERT_TRUE(tab.get()); |
| 625 | 628 |
| 626 // Close the tab. | 629 // Close the tab. |
| 627 ASSERT_TRUE(tab->Close(true)); | 630 ASSERT_TRUE(tab->Close(true)); |
| 628 | 631 |
| 629 // Restore the closed tab. | 632 // Restore the closed tab. |
| 630 RestoreTab(0, 1); | 633 RestoreTab(0, 1); |
| 631 tab = browser->GetTab(1); | 634 tab = browser->GetTab(1); |
| 632 ASSERT_TRUE(tab.get()); | 635 ASSERT_TRUE(tab.get()); |
| 633 ASSERT_TRUE(tab->WaitForTabToBeRestored(action_timeout_ms())); | 636 ASSERT_TRUE(tab->WaitForTabToBeRestored(TestTimeouts::action_timeout_ms())); |
| 634 | 637 |
| 635 // See if content is as expected. | 638 // See if content is as expected. |
| 636 EXPECT_TRUE(tab->FindInPage(std::wstring(L"webkit"), FWD, IGNORE_CASE, false, | 639 EXPECT_TRUE(tab->FindInPage(std::wstring(L"webkit"), FWD, IGNORE_CASE, false, |
| 637 NULL)); | 640 NULL)); |
| 638 } | 641 } |
| 639 | 642 |
| 640 // Restore tab with special URL in its navigation history, go back to that | 643 // Restore tab with special URL in its navigation history, go back to that |
| 641 // entry and see that it loads properly. See http://crbug.com/31905 | 644 // entry and see that it loads properly. See http://crbug.com/31905 |
| 642 TEST_F(TabRestoreUITest, RestoreTabWithSpecialURLOnBack) { | 645 TEST_F(TabRestoreUITest, RestoreTabWithSpecialURLOnBack) { |
| 643 net::TestServer test_server(net::TestServer::TYPE_HTTP, | 646 net::TestServer test_server(net::TestServer::TYPE_HTTP, |
| (...skipping 15 matching lines...) Expand all Loading... |
| 659 // Then navigate to a normal URL. | 662 // Then navigate to a normal URL. |
| 660 ASSERT_TRUE(tab->NavigateToURL(http_url)); | 663 ASSERT_TRUE(tab->NavigateToURL(http_url)); |
| 661 | 664 |
| 662 // Close the tab. | 665 // Close the tab. |
| 663 ASSERT_TRUE(tab->Close(true)); | 666 ASSERT_TRUE(tab->Close(true)); |
| 664 | 667 |
| 665 // Restore the closed tab. | 668 // Restore the closed tab. |
| 666 RestoreTab(0, 1); | 669 RestoreTab(0, 1); |
| 667 tab = browser->GetTab(1); | 670 tab = browser->GetTab(1); |
| 668 ASSERT_TRUE(tab.get()); | 671 ASSERT_TRUE(tab.get()); |
| 669 ASSERT_TRUE(tab->WaitForTabToBeRestored(action_timeout_ms())); | 672 ASSERT_TRUE(tab->WaitForTabToBeRestored(TestTimeouts::action_timeout_ms())); |
| 670 GURL url; | 673 GURL url; |
| 671 ASSERT_TRUE(tab->GetCurrentURL(&url)); | 674 ASSERT_TRUE(tab->GetCurrentURL(&url)); |
| 672 ASSERT_EQ(http_url, url); | 675 ASSERT_EQ(http_url, url); |
| 673 | 676 |
| 674 // Go back, and see if content is as expected. | 677 // Go back, and see if content is as expected. |
| 675 ASSERT_TRUE(tab->GoBack()); | 678 ASSERT_TRUE(tab->GoBack()); |
| 676 EXPECT_TRUE(tab->FindInPage(std::wstring(L"webkit"), FWD, IGNORE_CASE, false, | 679 EXPECT_TRUE(tab->FindInPage(std::wstring(L"webkit"), FWD, IGNORE_CASE, false, |
| 677 NULL)); | 680 NULL)); |
| 678 } | 681 } |
| OLD | NEW |