OLD | NEW |
1 // Copyright (c) 2011 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 <deque> | 5 #include <deque> |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/path_service.h" | 8 #include "base/path_service.h" |
9 #include "base/stringprintf.h" | 9 #include "base/stringprintf.h" |
10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
(...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
533 | 533 |
534 void OpenDestURLViaWindowOpen() const { | 534 void OpenDestURLViaWindowOpen() const { |
535 OpenDestURLWithJSImpl("WindowOpen()"); | 535 OpenDestURLWithJSImpl("WindowOpen()"); |
536 } | 536 } |
537 | 537 |
538 void ClickToNextPageAfterPrerender(Browser* browser) { | 538 void ClickToNextPageAfterPrerender(Browser* browser) { |
539 ui_test_utils::WindowedNotificationObserver new_page_observer( | 539 ui_test_utils::WindowedNotificationObserver new_page_observer( |
540 content::NOTIFICATION_NAV_ENTRY_COMMITTED, | 540 content::NOTIFICATION_NAV_ENTRY_COMMITTED, |
541 content::NotificationService::AllSources()); | 541 content::NotificationService::AllSources()); |
542 RenderViewHost* render_view_host = | 542 RenderViewHost* render_view_host = |
543 browser->GetSelectedTabContents()->GetRenderViewHost(); | 543 browser->GetSelectedWebContents()->GetRenderViewHost(); |
544 render_view_host->ExecuteJavascriptInWebFrame( | 544 render_view_host->ExecuteJavascriptInWebFrame( |
545 string16(), | 545 string16(), |
546 ASCIIToUTF16("ClickOpenLink()")); | 546 ASCIIToUTF16("ClickOpenLink()")); |
547 new_page_observer.Wait(); | 547 new_page_observer.Wait(); |
548 } | 548 } |
549 | 549 |
550 void NavigateToNextPageAfterPrerender(Browser* browser) { | 550 void NavigateToNextPageAfterPrerender(Browser* browser) { |
551 ui_test_utils::NavigateToURL( | 551 ui_test_utils::NavigateToURL( |
552 browser, | 552 browser, |
553 test_server()->GetURL("files/prerender/prerender_page.html")); | 553 test_server()->GetURL("files/prerender/prerender_page.html")); |
(...skipping 11 matching lines...) Expand all Loading... |
565 // Called after the prerendered page has been navigated to and then away from. | 565 // Called after the prerendered page has been navigated to and then away from. |
566 // Navigates back through the history to the prerendered page. | 566 // Navigates back through the history to the prerendered page. |
567 void GoBackToPrerender(Browser* browser) { | 567 void GoBackToPrerender(Browser* browser) { |
568 ui_test_utils::WindowedNotificationObserver back_nav_observer( | 568 ui_test_utils::WindowedNotificationObserver back_nav_observer( |
569 content::NOTIFICATION_NAV_ENTRY_COMMITTED, | 569 content::NOTIFICATION_NAV_ENTRY_COMMITTED, |
570 content::NotificationService::AllSources()); | 570 content::NotificationService::AllSources()); |
571 browser->GoBack(CURRENT_TAB); | 571 browser->GoBack(CURRENT_TAB); |
572 back_nav_observer.Wait(); | 572 back_nav_observer.Wait(); |
573 bool original_prerender_page = false; | 573 bool original_prerender_page = false; |
574 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( | 574 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( |
575 browser->GetSelectedTabContents()->GetRenderViewHost(), L"", | 575 browser->GetSelectedWebContents()->GetRenderViewHost(), L"", |
576 L"window.domAutomationController.send(IsOriginalPrerenderPage())", | 576 L"window.domAutomationController.send(IsOriginalPrerenderPage())", |
577 &original_prerender_page)); | 577 &original_prerender_page)); |
578 EXPECT_TRUE(original_prerender_page); | 578 EXPECT_TRUE(original_prerender_page); |
579 } | 579 } |
580 | 580 |
581 // Goes back to the page that was active before the prerender was swapped | 581 // Goes back to the page that was active before the prerender was swapped |
582 // in. This must be called when the prerendered page is the current page | 582 // in. This must be called when the prerendered page is the current page |
583 // in the active tab. | 583 // in the active tab. |
584 void GoBackToPageBeforePrerender(Browser* browser) { | 584 void GoBackToPageBeforePrerender(Browser* browser) { |
585 TabContents* tab = browser->GetSelectedTabContents(); | 585 WebContents* tab = browser->GetSelectedWebContents(); |
586 ASSERT_TRUE(tab); | 586 ASSERT_TRUE(tab); |
587 EXPECT_FALSE(tab->IsLoading()); | 587 EXPECT_FALSE(tab->IsLoading()); |
588 ui_test_utils::WindowedNotificationObserver back_nav_observer( | 588 ui_test_utils::WindowedNotificationObserver back_nav_observer( |
589 content::NOTIFICATION_LOAD_STOP, | 589 content::NOTIFICATION_LOAD_STOP, |
590 content::Source<NavigationController>(&tab->GetController())); | 590 content::Source<NavigationController>(&tab->GetController())); |
591 browser->GoBack(CURRENT_TAB); | 591 browser->GoBack(CURRENT_TAB); |
592 back_nav_observer.Wait(); | 592 back_nav_observer.Wait(); |
593 bool js_result; | 593 bool js_result; |
594 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( | 594 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( |
595 tab->GetRenderViewHost(), L"", | 595 tab->GetRenderViewHost(), L"", |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
800 | 800 |
801 // Opens the prerendered page using javascript functions in the | 801 // Opens the prerendered page using javascript functions in the |
802 // loader page. |javascript_function_name| should be a 0 argument function | 802 // loader page. |javascript_function_name| should be a 0 argument function |
803 // which is invoked. | 803 // which is invoked. |
804 void OpenDestURLWithJSImpl(const std::string& javascript_function_name) | 804 void OpenDestURLWithJSImpl(const std::string& javascript_function_name) |
805 const { | 805 const { |
806 TestPrerenderContents* prerender_contents = GetPrerenderContents(); | 806 TestPrerenderContents* prerender_contents = GetPrerenderContents(); |
807 ASSERT_TRUE(prerender_contents != NULL); | 807 ASSERT_TRUE(prerender_contents != NULL); |
808 | 808 |
809 RenderViewHost* render_view_host = | 809 RenderViewHost* render_view_host = |
810 browser()->GetSelectedTabContents()->GetRenderViewHost(); | 810 browser()->GetSelectedWebContents()->GetRenderViewHost(); |
811 render_view_host->ExecuteJavascriptInWebFrame( | 811 render_view_host->ExecuteJavascriptInWebFrame( |
812 string16(), | 812 string16(), |
813 ASCIIToUTF16(javascript_function_name)); | 813 ASCIIToUTF16(javascript_function_name)); |
814 | 814 |
815 // Run message loop until the prerender contents is destroyed. | 815 // Run message loop until the prerender contents is destroyed. |
816 ui_test_utils::RunMessageLoop(); | 816 ui_test_utils::RunMessageLoop(); |
817 } | 817 } |
818 | 818 |
819 WaitForLoadPrerenderContentsFactory* prerender_contents_factory_; | 819 WaitForLoadPrerenderContentsFactory* prerender_contents_factory_; |
820 #if defined(ENABLE_SAFE_BROWSING) | 820 #if defined(ENABLE_SAFE_BROWSING) |
(...skipping 1055 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1876 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClickNewBackgroundTab) { | 1876 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClickNewBackgroundTab) { |
1877 PrerenderTestURL("files/prerender/prerender_page_with_link.html", | 1877 PrerenderTestURL("files/prerender/prerender_page_with_link.html", |
1878 FINAL_STATUS_SESSION_STORAGE_NAMESPACE_MISMATCH, | 1878 FINAL_STATUS_SESSION_STORAGE_NAMESPACE_MISMATCH, |
1879 1); | 1879 1); |
1880 OpenDestURLViaClickNewBackgroundTab(); | 1880 OpenDestURLViaClickNewBackgroundTab(); |
1881 } | 1881 } |
1882 | 1882 |
1883 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | 1883 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
1884 NavigateToPrerenderedPageWhenDevToolsAttached) { | 1884 NavigateToPrerenderedPageWhenDevToolsAttached) { |
1885 DisableJavascriptCalls(); | 1885 DisableJavascriptCalls(); |
1886 TabContents* tab_contents = browser()->GetSelectedTabContents(); | 1886 WebContents* web_contents = browser()->GetSelectedWebContents(); |
1887 DevToolsAgentHost* agent = DevToolsAgentHostRegistry::GetDevToolsAgentHost( | 1887 DevToolsAgentHost* agent = DevToolsAgentHostRegistry::GetDevToolsAgentHost( |
1888 tab_contents->GetRenderViewHost()); | 1888 web_contents->GetRenderViewHost()); |
1889 DevToolsManager* manager = DevToolsManager::GetInstance(); | 1889 DevToolsManager* manager = DevToolsManager::GetInstance(); |
1890 FakeDevToolsClientHost client_host; | 1890 FakeDevToolsClientHost client_host; |
1891 manager->RegisterDevToolsClientHostFor(agent, &client_host); | 1891 manager->RegisterDevToolsClientHostFor(agent, &client_host); |
1892 const char* url = "files/prerender/prerender_page.html"; | 1892 const char* url = "files/prerender/prerender_page.html"; |
1893 PrerenderTestURL(url, FINAL_STATUS_DEVTOOLS_ATTACHED, 1); | 1893 PrerenderTestURL(url, FINAL_STATUS_DEVTOOLS_ATTACHED, 1); |
1894 NavigateToURL(url); | 1894 NavigateToURL(url); |
1895 manager->ClientHostClosing(&client_host); | 1895 manager->ClientHostClosing(&client_host); |
1896 } | 1896 } |
1897 | 1897 |
1898 // Validate that the sessionStorage namespace remains the same when swapping | 1898 // Validate that the sessionStorage namespace remains the same when swapping |
1899 // in a prerendered page. | 1899 // in a prerendered page. |
1900 // http://crbug.com/103563 | 1900 // http://crbug.com/103563 |
1901 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, DISABLED_PrerenderSessionStorage) { | 1901 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, DISABLED_PrerenderSessionStorage) { |
1902 set_loader_path("files/prerender/prerender_loader_with_session_storage.html"); | 1902 set_loader_path("files/prerender/prerender_loader_with_session_storage.html"); |
1903 PrerenderTestURL(GetCrossDomainTestUrl("files/prerender/prerender_page.html"), | 1903 PrerenderTestURL(GetCrossDomainTestUrl("files/prerender/prerender_page.html"), |
1904 FINAL_STATUS_USED, | 1904 FINAL_STATUS_USED, |
1905 1); | 1905 1); |
1906 NavigateToDestURL(); | 1906 NavigateToDestURL(); |
1907 GoBackToPageBeforePrerender(browser()); | 1907 GoBackToPageBeforePrerender(browser()); |
1908 } | 1908 } |
1909 | 1909 |
1910 } // namespace prerender | 1910 } // namespace prerender |
OLD | NEW |