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

Side by Side Diff: chrome/browser/prerender/prerender_browsertest.cc

Issue 9015022: Replace most of Browser::GetSelectedTabContents calls into Browser::GetSelectedWebContents. I've ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 8 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
OLDNEW
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
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
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
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
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
OLDNEW
« no previous file with comments | « chrome/browser/popup_blocker_browsertest.cc ('k') | chrome/browser/printing/print_dialog_cloud.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698