Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/string_util.h" | 9 #include "base/string_util.h" |
| 10 #include "base/stringprintf.h" | 10 #include "base/stringprintf.h" |
| 11 #include "base/test/test_timeouts.h" | 11 #include "base/test/test_timeouts.h" |
| 12 #include "base/utf_string_conversions.h" | 12 #include "base/utf_string_conversions.h" |
| 13 #include "base/values.h" | 13 #include "base/values.h" |
| 14 #include "chrome/browser/browsing_data_remover.h" | 14 #include "chrome/browser/browsing_data_remover.h" |
| 15 #include "chrome/browser/content_settings/host_content_settings_map.h" | 15 #include "chrome/browser/content_settings/host_content_settings_map.h" |
| 16 #include "chrome/browser/favicon/favicon_tab_helper.h" | 16 #include "chrome/browser/favicon/favicon_tab_helper.h" |
| 17 #include "chrome/browser/prefs/pref_service.h" | 17 #include "chrome/browser/prefs/pref_service.h" |
| 18 #include "chrome/browser/prerender/prerender_contents.h" | 18 #include "chrome/browser/prerender/prerender_contents.h" |
| 19 #include "chrome/browser/prerender/prerender_link_manager.h" | |
| 20 #include "chrome/browser/prerender/prerender_link_manager_factory.h" | |
| 19 #include "chrome/browser/prerender/prerender_manager.h" | 21 #include "chrome/browser/prerender/prerender_manager.h" |
| 20 #include "chrome/browser/prerender/prerender_manager_factory.h" | 22 #include "chrome/browser/prerender/prerender_manager_factory.h" |
| 21 #include "chrome/browser/profiles/profile.h" | 23 #include "chrome/browser/profiles/profile.h" |
| 22 #include "chrome/browser/safe_browsing/safe_browsing_service.h" | 24 #include "chrome/browser/safe_browsing/safe_browsing_service.h" |
| 23 #include "chrome/browser/task_manager/task_manager.h" | 25 #include "chrome/browser/task_manager/task_manager.h" |
| 24 #include "chrome/browser/task_manager/task_manager_browsertest_util.h" | 26 #include "chrome/browser/task_manager/task_manager_browsertest_util.h" |
| 25 #include "chrome/browser/ui/browser.h" | 27 #include "chrome/browser/ui/browser.h" |
| 26 #include "chrome/browser/ui/browser_list.h" | 28 #include "chrome/browser/ui/browser_list.h" |
| 27 #include "chrome/browser/ui/browser_window.h" | 29 #include "chrome/browser/ui/browser_window.h" |
| 28 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" | 30 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 215 | 217 |
| 216 virtual void DidStopLoading() OVERRIDE { | 218 virtual void DidStopLoading() OVERRIDE { |
| 217 PrerenderContents::DidStopLoading(); | 219 PrerenderContents::DidStopLoading(); |
| 218 ++number_of_loads_; | 220 ++number_of_loads_; |
| 219 if (ShouldRenderPrerenderedPageCorrectly(expected_final_status_) && | 221 if (ShouldRenderPrerenderedPageCorrectly(expected_final_status_) && |
| 220 number_of_loads_ == expected_number_of_loads_) { | 222 number_of_loads_ == expected_number_of_loads_) { |
| 221 MessageLoopForUI::current()->Quit(); | 223 MessageLoopForUI::current()->Quit(); |
| 222 } | 224 } |
| 223 } | 225 } |
| 224 | 226 |
| 225 virtual void AddPendingPrerender(Origin origin, | 227 virtual void AddPendingPrerender(const GURL& url, |
| 226 const GURL& url, | |
| 227 const content::Referrer& referrer) OVERRIDE { | 228 const content::Referrer& referrer) OVERRIDE { |
| 228 PrerenderContents::AddPendingPrerender(origin, url, referrer); | 229 PrerenderContents::AddPendingPrerender(url, referrer); |
| 229 if (expected_pending_prerenders_ > 0 && | 230 if (expected_pending_prerenders_ > 0 && |
| 230 pending_prerender_list()->size() == expected_pending_prerenders_) { | 231 pending_prerender_list()->size() == expected_pending_prerenders_) { |
| 231 MessageLoop::current()->Quit(); | 232 MessageLoop::current()->Quit(); |
| 232 } | 233 } |
| 233 } | 234 } |
| 234 | 235 |
| 235 virtual WebContents* CreateWebContents( | 236 virtual WebContents* CreateWebContents( |
| 236 content::SessionStorageNamespace* session_storage_namespace) OVERRIDE { | 237 content::SessionStorageNamespace* session_storage_namespace) OVERRIDE { |
| 237 WebContents* web_contents = PrerenderContents::CreateWebContents( | 238 WebContents* web_contents = PrerenderContents::CreateWebContents( |
| 238 session_storage_namespace); | 239 session_storage_namespace); |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 291 content::NOTIFICATION_RENDER_WIDGET_VISIBILITY_CHANGED) { | 292 content::NOTIFICATION_RENDER_WIDGET_VISIBILITY_CHANGED) { |
| 292 EXPECT_EQ(new_render_view_host_, | 293 EXPECT_EQ(new_render_view_host_, |
| 293 content::Source<RenderWidgetHost>(source).ptr()); | 294 content::Source<RenderWidgetHost>(source).ptr()); |
| 294 bool is_visible = *content::Details<bool>(details).ptr(); | 295 bool is_visible = *content::Details<bool>(details).ptr(); |
| 295 | 296 |
| 296 if (!is_visible) { | 297 if (!is_visible) { |
| 297 was_hidden_ = true; | 298 was_hidden_ = true; |
| 298 } else if (is_visible && was_hidden_) { | 299 } else if (is_visible && was_hidden_) { |
| 299 // Once hidden, a prerendered RenderViewHost should only be shown after | 300 // Once hidden, a prerendered RenderViewHost should only be shown after |
| 300 // being removed from the PrerenderContents for display. | 301 // being removed from the PrerenderContents for display. |
| 301 EXPECT_FALSE(GetRenderViewHost()); | 302 EXPECT_FALSE(GetRenderViewHost()); |
|
gavinp
2012/04/29 00:35:44
This is here as a merge artifact. See http://code
| |
| 302 was_shown_ = true; | 303 was_shown_ = true; |
| 303 } | 304 } |
| 304 return; | 305 return; |
| 305 } | 306 } |
| 306 PrerenderContents::Observe(type, source, details); | 307 PrerenderContents::Observe(type, source, details); |
| 307 } | 308 } |
| 308 | 309 |
| 309 int number_of_loads_; | 310 int number_of_loads_; |
| 310 int expected_number_of_loads_; | 311 int expected_number_of_loads_; |
| 311 FinalStatus expected_final_status_; | 312 FinalStatus expected_final_status_; |
| (...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 617 OpenDestURLWithJSImpl("MetaClick()"); | 618 OpenDestURLWithJSImpl("MetaClick()"); |
| 618 #else | 619 #else |
| 619 OpenDestURLWithJSImpl("CtrlClick()"); | 620 OpenDestURLWithJSImpl("CtrlClick()"); |
| 620 #endif | 621 #endif |
| 621 } | 622 } |
| 622 | 623 |
| 623 void OpenDestURLViaWindowOpen() const { | 624 void OpenDestURLViaWindowOpen() const { |
| 624 OpenDestURLWithJSImpl("WindowOpen()"); | 625 OpenDestURLWithJSImpl("WindowOpen()"); |
| 625 } | 626 } |
| 626 | 627 |
| 628 void RemoveLinkElementAndNavigate() const { | |
| 629 OpenDestURLWithJSImpl("RemoveLinkElementAndNavigate()"); | |
| 630 } | |
| 631 | |
| 627 void ClickToNextPageAfterPrerender(Browser* browser) { | 632 void ClickToNextPageAfterPrerender(Browser* browser) { |
| 628 ui_test_utils::WindowedNotificationObserver new_page_observer( | 633 ui_test_utils::WindowedNotificationObserver new_page_observer( |
| 629 content::NOTIFICATION_NAV_ENTRY_COMMITTED, | 634 content::NOTIFICATION_NAV_ENTRY_COMMITTED, |
| 630 content::NotificationService::AllSources()); | 635 content::NotificationService::AllSources()); |
| 631 RenderViewHost* render_view_host = | 636 RenderViewHost* render_view_host = |
| 632 browser->GetSelectedWebContents()->GetRenderViewHost(); | 637 browser->GetSelectedWebContents()->GetRenderViewHost(); |
| 633 render_view_host->ExecuteJavascriptInWebFrame( | 638 render_view_host->ExecuteJavascriptInWebFrame( |
| 634 string16(), | 639 string16(), |
| 635 ASCIIToUTF16("ClickOpenLink()")); | 640 ASCIIToUTF16("ClickOpenLink()")); |
| 636 new_page_observer.Wait(); | 641 new_page_observer.Wait(); |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 712 } | 717 } |
| 713 | 718 |
| 714 void DisableJavascriptCalls() { | 719 void DisableJavascriptCalls() { |
| 715 call_javascript_ = false; | 720 call_javascript_ = false; |
| 716 } | 721 } |
| 717 | 722 |
| 718 TaskManagerModel* model() const { | 723 TaskManagerModel* model() const { |
| 719 return TaskManager::GetInstance()->model(); | 724 return TaskManager::GetInstance()->model(); |
| 720 } | 725 } |
| 721 | 726 |
| 722 PrerenderManager* prerender_manager() const { | 727 PrerenderManager* prerender_manager() const { |
|
dominich
2012/04/29 18:52:55
nit: should this be GetPrerenderManager?
gavinp
2012/04/30 11:43:16
Yes. I'm uploading a separate CL for this, and ad
| |
| 723 Profile* profile = | 728 Profile* profile = |
| 724 current_browser()->GetSelectedTabContentsWrapper()->profile(); | 729 current_browser()->GetSelectedTabContentsWrapper()->profile(); |
| 725 PrerenderManager* prerender_manager = | 730 PrerenderManager* prerender_manager = |
| 726 PrerenderManagerFactory::GetForProfile(profile); | 731 PrerenderManagerFactory::GetForProfile(profile); |
| 727 return prerender_manager; | 732 return prerender_manager; |
| 728 } | 733 } |
| 729 | 734 |
| 735 PrerenderLinkManager* prerender_link_manager() const { | |
|
dominich
2012/04/29 18:52:55
nit: should this be GetPrerenderLinkManager?
gavinp
2012/04/30 11:43:16
Done.
| |
| 736 Profile* profile = | |
| 737 current_browser()->GetSelectedTabContentsWrapper()->profile(); | |
| 738 PrerenderLinkManager* prerender_link_manager = | |
| 739 PrerenderLinkManagerFactory::GetForProfile(profile); | |
| 740 return prerender_link_manager; | |
| 741 } | |
| 742 | |
| 730 // Returns length of |prerender_manager_|'s history, or -1 on failure. | 743 // Returns length of |prerender_manager_|'s history, or -1 on failure. |
| 731 int GetHistoryLength() const { | 744 int GetHistoryLength() const { |
| 732 scoped_ptr<DictionaryValue> prerender_dict( | 745 scoped_ptr<DictionaryValue> prerender_dict( |
| 733 static_cast<DictionaryValue*>(prerender_manager()->GetAsValue())); | 746 static_cast<DictionaryValue*>(prerender_manager()->GetAsValue())); |
| 734 if (!prerender_dict.get()) | 747 if (!prerender_dict.get()) |
| 735 return -1; | 748 return -1; |
| 736 ListValue* history_list; | 749 ListValue* history_list; |
| 737 if (!prerender_dict->GetList("history", &history_list)) | 750 if (!prerender_dict->GetList("history", &history_list)) |
| 738 return -1; | 751 return -1; |
| 739 return static_cast<int>(history_list->GetSize()); | 752 return static_cast<int>(history_list->GetSize()); |
| 740 } | 753 } |
| 741 | 754 |
| 742 #if defined(ENABLE_SAFE_BROWSING) | 755 #if defined(ENABLE_SAFE_BROWSING) |
| 743 FakeSafeBrowsingService* GetSafeBrowsingService() { | 756 FakeSafeBrowsingService* GetSafeBrowsingService() { |
| 744 return safe_browsing_factory_->most_recent_service(); | 757 return safe_browsing_factory_->most_recent_service(); |
| 745 } | 758 } |
| 746 #endif | 759 #endif |
| 747 | 760 |
| 748 TestPrerenderContents* GetPrerenderContents() const { | 761 TestPrerenderContents* GetPrerenderContents() const { |
| 749 return static_cast<TestPrerenderContents*>( | 762 return static_cast<TestPrerenderContents*>( |
| 750 prerender_manager()->FindEntry(dest_url_)); | 763 prerender_manager()->FindEntry(dest_url_)); |
| 751 } | 764 } |
| 752 | 765 |
| 753 void set_loader_path(const std::string& path) { | 766 void set_loader_path(const std::string& path) { |
| 754 loader_path_ = path; | 767 loader_path_ = path; |
| 755 } | 768 } |
| 756 | 769 |
| 770 void set_loader_query_and_fragment(const std::string& query_and_fragment) { | |
| 771 loader_query_and_fragment_ = query_and_fragment; | |
| 772 } | |
| 773 | |
| 757 GURL GetCrossDomainTestUrl(const std::string& path) { | 774 GURL GetCrossDomainTestUrl(const std::string& path) { |
| 758 static const std::string secondary_domain = "www.foo.com"; | 775 static const std::string secondary_domain = "www.foo.com"; |
| 759 host_resolver()->AddRule(secondary_domain, "127.0.0.1"); | 776 host_resolver()->AddRule(secondary_domain, "127.0.0.1"); |
| 760 std::string url_str(base::StringPrintf( | 777 std::string url_str(base::StringPrintf( |
| 761 "http://%s:%d/%s", | 778 "http://%s:%d/%s", |
| 762 secondary_domain.c_str(), | 779 secondary_domain.c_str(), |
| 763 test_server()->host_port_pair().port(), | 780 test_server()->host_port_pair().port(), |
| 764 path.c_str())); | 781 path.c_str())); |
| 765 return GURL(url_str); | 782 return GURL(url_str); |
| 766 } | 783 } |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 807 net::TestServer* src_server = test_server(); | 824 net::TestServer* src_server = test_server(); |
| 808 scoped_ptr<net::TestServer> https_src_server; | 825 scoped_ptr<net::TestServer> https_src_server; |
| 809 if (use_https_src_server_) { | 826 if (use_https_src_server_) { |
| 810 https_src_server.reset( | 827 https_src_server.reset( |
| 811 new net::TestServer(net::TestServer::TYPE_HTTPS, | 828 new net::TestServer(net::TestServer::TYPE_HTTPS, |
| 812 net::TestServer::kLocalhost, | 829 net::TestServer::kLocalhost, |
| 813 FilePath(FILE_PATH_LITERAL("chrome/test/data")))); | 830 FilePath(FILE_PATH_LITERAL("chrome/test/data")))); |
| 814 ASSERT_TRUE(https_src_server->Start()); | 831 ASSERT_TRUE(https_src_server->Start()); |
| 815 src_server = https_src_server.get(); | 832 src_server = https_src_server.get(); |
| 816 } | 833 } |
| 817 GURL src_url = src_server->GetURL(replacement_path); | 834 GURL loader_url = src_server->GetURL(replacement_path + |
| 835 loader_query_and_fragment_); | |
| 818 | 836 |
| 819 ASSERT_TRUE(prerender_manager()); | 837 ASSERT_TRUE(prerender_manager()); |
| 820 prerender_manager()->mutable_config().rate_limit_enabled = false; | 838 prerender_manager()->mutable_config().rate_limit_enabled = false; |
| 821 prerender_manager()->mutable_config().https_allowed = true; | 839 prerender_manager()->mutable_config().https_allowed = true; |
| 822 ASSERT_TRUE(prerender_contents_factory_ == NULL); | 840 ASSERT_TRUE(prerender_contents_factory_ == NULL); |
| 823 prerender_contents_factory_ = | 841 prerender_contents_factory_ = |
| 824 new WaitForLoadPrerenderContentsFactory( | 842 new WaitForLoadPrerenderContentsFactory( |
| 825 expected_number_of_loads, | 843 expected_number_of_loads, |
| 826 expected_final_status_queue, | 844 expected_final_status_queue, |
| 827 prerender_should_wait_for_ready_title); | 845 prerender_should_wait_for_ready_title); |
| 828 prerender_manager()->SetPrerenderContentsFactory( | 846 prerender_manager()->SetPrerenderContentsFactory( |
| 829 prerender_contents_factory_); | 847 prerender_contents_factory_); |
| 830 FinalStatus expected_final_status = expected_final_status_queue.front(); | 848 FinalStatus expected_final_status = expected_final_status_queue.front(); |
| 831 | 849 |
| 832 // ui_test_utils::NavigateToURL uses its own observer and message loop. | 850 // ui_test_utils::NavigateToURL uses its own observer and message loop. |
| 833 // Since the test needs to wait until the prerendered page has stopped | 851 // Since the test needs to wait until the prerendered page has stopped |
| 834 // loading, rather than the page directly navigated to, need to | 852 // loading, rather than the page directly navigated to, need to |
| 835 // handle browser navigation directly. | 853 // handle browser navigation directly. |
| 836 current_browser()->OpenURL(OpenURLParams( | 854 current_browser()->OpenURL(OpenURLParams( |
| 837 src_url, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, | 855 loader_url, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, |
| 838 false)); | 856 false)); |
| 839 | 857 |
| 840 ui_test_utils::RunMessageLoop(); | 858 ui_test_utils::RunMessageLoop(); |
| 841 | 859 |
| 842 TestPrerenderContents* prerender_contents = GetPrerenderContents(); | 860 TestPrerenderContents* prerender_contents = GetPrerenderContents(); |
| 843 | 861 |
| 844 if (ShouldRenderPrerenderedPageCorrectly(expected_final_status)) { | 862 if (ShouldRenderPrerenderedPageCorrectly(expected_final_status)) { |
| 845 ASSERT_TRUE(prerender_contents != NULL); | 863 ASSERT_TRUE(prerender_contents != NULL); |
| 846 EXPECT_EQ(FINAL_STATUS_MAX, prerender_contents->final_status()); | 864 EXPECT_EQ(FINAL_STATUS_MAX, prerender_contents->final_status()); |
| 847 | 865 |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 937 } | 955 } |
| 938 | 956 |
| 939 WaitForLoadPrerenderContentsFactory* prerender_contents_factory_; | 957 WaitForLoadPrerenderContentsFactory* prerender_contents_factory_; |
| 940 #if defined(ENABLE_SAFE_BROWSING) | 958 #if defined(ENABLE_SAFE_BROWSING) |
| 941 scoped_ptr<TestSafeBrowsingServiceFactory> safe_browsing_factory_; | 959 scoped_ptr<TestSafeBrowsingServiceFactory> safe_browsing_factory_; |
| 942 #endif | 960 #endif |
| 943 GURL dest_url_; | 961 GURL dest_url_; |
| 944 bool use_https_src_server_; | 962 bool use_https_src_server_; |
| 945 bool call_javascript_; | 963 bool call_javascript_; |
| 946 std::string loader_path_; | 964 std::string loader_path_; |
| 965 std::string loader_query_and_fragment_; | |
| 947 Browser* explicitly_set_browser_; | 966 Browser* explicitly_set_browser_; |
| 948 }; | 967 }; |
| 949 | 968 |
| 950 // Checks that a page is correctly prerendered in the case of a | 969 // Checks that a page is correctly prerendered in the case of a |
| 951 // <link rel=prerender> tag and then loaded into a tab in response to a | 970 // <link rel=prerender> tag and then loaded into a tab in response to a |
| 952 // navigation. | 971 // navigation. |
| 953 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderPage) { | 972 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderPage) { |
| 954 PrerenderTestURL("files/prerender/prerender_page.html", FINAL_STATUS_USED, 1); | 973 PrerenderTestURL("files/prerender/prerender_page.html", FINAL_STATUS_USED, 1); |
| 955 NavigateToDestURL(); | 974 NavigateToDestURL(); |
| 975 ASSERT_TRUE(prerender_link_manager()->IsEmpty()); | |
| 976 } | |
| 977 | |
| 978 // TODO(gavinp): After https://bugs.webkit.org/show_bug.cgi?id=85005 lands, | |
| 979 // enable this test. | |
| 980 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | |
| 981 DISABLED_PrerenderPageRemovingLink) { | |
| 982 set_loader_path("files/prerender/prerender_loader_removing_links.html"); | |
| 983 set_loader_query_and_fragment("?links_to_insert=1&links_to_remove=1"); | |
| 984 PrerenderTestURL("files/prerender/prerender_page.html", | |
| 985 FINAL_STATUS_CANCELLED, 1); | |
| 986 RemoveLinkElementAndNavigate(); | |
| 987 } | |
| 988 | |
| 989 // TODO(gavinp): After https://bugs.webkit.org/show_bug.cgi?id=85005 lands, | |
| 990 // enable this test. | |
| 991 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, | |
| 992 DISABLED_PrerenderPageRemovingLinkWithTwoLinks) { | |
| 993 set_loader_path("files/prerender/prerender_loader_removing_links.html"); | |
| 994 set_loader_query_and_fragment("?links_to_insert=2&links_to_remove=2"); | |
| 995 PrerenderTestURL("files/prerender/prerender_page.html", | |
| 996 FINAL_STATUS_CANCELLED, 1); | |
| 997 RemoveLinkElementAndNavigate(); | |
| 998 } | |
| 999 | |
| 1000 // TODO(gavinp): After https://bugs.webkit.org/show_bug.cgi?id=85005 lands, | |
| 1001 // enable this test. | |
| 1002 IN_PROC_BROWSER_TEST_F( | |
| 1003 PrerenderBrowserTest, | |
| 1004 DISABLED_PrerenderPageRemovingLinkWithTwoLinksRemovingOne) { | |
| 1005 set_loader_path("files/prerender/prerender_loader_removing_links.html"); | |
| 1006 set_loader_query_and_fragment("?links_to_insert=2&links_to_remove=1"); | |
| 1007 PrerenderTestURL("files/prerender/prerender_page.html", | |
| 1008 FINAL_STATUS_USED, 1); | |
| 1009 RemoveLinkElementAndNavigate(); | |
| 956 } | 1010 } |
| 957 | 1011 |
| 958 // Checks that prerendering works in incognito mode. | 1012 // Checks that prerendering works in incognito mode. |
| 959 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderIncognito) { | 1013 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderIncognito) { |
| 960 Profile* normal_profile = current_browser()->profile(); | 1014 Profile* normal_profile = current_browser()->profile(); |
| 961 ui_test_utils::OpenURLOffTheRecord(normal_profile, GURL("about:blank")); | 1015 ui_test_utils::OpenURLOffTheRecord(normal_profile, GURL("about:blank")); |
| 962 set_browser(BrowserList::FindBrowserWithProfile( | 1016 set_browser(BrowserList::FindBrowserWithProfile( |
| 963 normal_profile->GetOffTheRecordProfile())); | 1017 normal_profile->GetOffTheRecordProfile())); |
| 964 // Increase memory expectations on the incognito PrerenderManager. | 1018 // Increase memory expectations on the incognito PrerenderManager. |
| 965 IncreasePrerenderMemory(); | 1019 IncreasePrerenderMemory(); |
| (...skipping 1181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2147 WebContents* web_contents = browser()->GetSelectedWebContents(); | 2201 WebContents* web_contents = browser()->GetSelectedWebContents(); |
| 2148 bool display_test_result = false; | 2202 bool display_test_result = false; |
| 2149 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( | 2203 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( |
| 2150 web_contents->GetRenderViewHost(), L"", | 2204 web_contents->GetRenderViewHost(), L"", |
| 2151 L"DidDisplayReallyPass()", | 2205 L"DidDisplayReallyPass()", |
| 2152 &display_test_result)); | 2206 &display_test_result)); |
| 2153 ASSERT_TRUE(display_test_result); | 2207 ASSERT_TRUE(display_test_result); |
| 2154 } | 2208 } |
| 2155 | 2209 |
| 2156 } // namespace prerender | 2210 } // namespace prerender |
| OLD | NEW |