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

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

Issue 161323002: Re-enable prerender_page_with_link tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 10 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 | « no previous file | no next file » | 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) 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 #include <vector> 6 #include <vector>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 1169 matching lines...) Expand 10 before | Expand all | Expand 10 after
1180 OpenURLWithJSImpl("WindowOpen", dest_url_, GURL(), true); 1180 OpenURLWithJSImpl("WindowOpen", dest_url_, GURL(), true);
1181 } 1181 }
1182 1182
1183 void RemoveLinkElement(int i) const { 1183 void RemoveLinkElement(int i) const {
1184 GetActiveWebContents()->GetRenderViewHost()->ExecuteJavascriptInWebFrame( 1184 GetActiveWebContents()->GetRenderViewHost()->ExecuteJavascriptInWebFrame(
1185 base::string16(), 1185 base::string16(),
1186 base::ASCIIToUTF16(base::StringPrintf("RemoveLinkElement(%d)", i))); 1186 base::ASCIIToUTF16(base::StringPrintf("RemoveLinkElement(%d)", i)));
1187 } 1187 }
1188 1188
1189 void ClickToNextPageAfterPrerender() { 1189 void ClickToNextPageAfterPrerender() {
1190 content::WindowedNotificationObserver new_page_observer( 1190 TestNavigationObserver nav_observer(GetActiveWebContents());
1191 content::NOTIFICATION_NAV_ENTRY_COMMITTED,
1192 content::NotificationService::AllSources());
1193 RenderViewHost* render_view_host = 1191 RenderViewHost* render_view_host =
1194 GetActiveWebContents()->GetRenderViewHost(); 1192 GetActiveWebContents()->GetRenderViewHost();
1195 render_view_host->ExecuteJavascriptInWebFrame( 1193 render_view_host->ExecuteJavascriptInWebFrame(
1196 base::string16(), 1194 base::string16(),
1197 base::ASCIIToUTF16("ClickOpenLink()")); 1195 base::ASCIIToUTF16("ClickOpenLink()"));
1198 new_page_observer.Wait(); 1196 nav_observer.Wait();
1199 } 1197 }
1200 1198
1201 void NavigateToNextPageAfterPrerender() const { 1199 void NavigateToNextPageAfterPrerender() const {
1202 ui_test_utils::NavigateToURL( 1200 ui_test_utils::NavigateToURL(
1203 current_browser(), 1201 current_browser(),
1204 test_server()->GetURL("files/prerender/prerender_page.html")); 1202 test_server()->GetURL("files/prerender/prerender_page.html"));
1205 } 1203 }
1206 1204
1207 // Called after the prerendered page has been navigated to and then away from. 1205 // Called after the prerendered page has been navigated to and then away from.
1208 // Navigates back through the history to the prerendered page. 1206 // Navigates back through the history to the prerendered page.
1209 void GoBackToPrerender() { 1207 void GoBackToPrerender() {
1210 content::WindowedNotificationObserver back_nav_observer( 1208 TestNavigationObserver back_nav_observer(GetActiveWebContents());
1211 content::NOTIFICATION_NAV_ENTRY_COMMITTED,
1212 content::NotificationService::AllSources());
1213 chrome::GoBack(current_browser(), CURRENT_TAB); 1209 chrome::GoBack(current_browser(), CURRENT_TAB);
1214 back_nav_observer.Wait(); 1210 back_nav_observer.Wait();
1215 bool original_prerender_page = false; 1211 bool original_prerender_page = false;
1216 ASSERT_TRUE(content::ExecuteScriptAndExtractBool( 1212 ASSERT_TRUE(content::ExecuteScriptAndExtractBool(
1217 GetActiveWebContents(), 1213 GetActiveWebContents(),
1218 "window.domAutomationController.send(IsOriginalPrerenderPage())", 1214 "window.domAutomationController.send(IsOriginalPrerenderPage())",
1219 &original_prerender_page)); 1215 &original_prerender_page));
1220 EXPECT_TRUE(original_prerender_page); 1216 EXPECT_TRUE(original_prerender_page);
1221 } 1217 }
1222 1218
(...skipping 1878 matching lines...) Expand 10 before | Expand all | Expand 10 after
3101 3097
3102 EXPECT_FALSE(prerender->contents()); 3098 EXPECT_FALSE(prerender->contents());
3103 } 3099 }
3104 3100
3105 // Prerendering and history tests. 3101 // Prerendering and history tests.
3106 // The prerendered page is navigated to in several ways [navigate via 3102 // The prerendered page is navigated to in several ways [navigate via
3107 // omnibox, click on link, key-modified click to open in background tab, etc], 3103 // omnibox, click on link, key-modified click to open in background tab, etc],
3108 // followed by a navigation to another page from the prerendered page, followed 3104 // followed by a navigation to another page from the prerendered page, followed
3109 // by a back navigation. 3105 // by a back navigation.
3110 3106
3111 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, 3107 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderNavigateClickGoBack) {
3112 DISABLED_PrerenderNavigateClickGoBack) {
3113 PrerenderTestURL("files/prerender/prerender_page_with_link.html", 3108 PrerenderTestURL("files/prerender/prerender_page_with_link.html",
3114 FINAL_STATUS_USED, 3109 FINAL_STATUS_USED,
3115 1); 3110 1);
3116 NavigateToDestURL(); 3111 NavigateToDestURL();
3117 ClickToNextPageAfterPrerender(); 3112 ClickToNextPageAfterPrerender();
3118 GoBackToPrerender(); 3113 GoBackToPrerender();
3119 } 3114 }
3120 3115
3121 // Disabled due to timeouts on commit queue. 3116 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderNavigateNavigateGoBack) {
3122 // http://crbug.com/121130
3123 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
3124 DISABLED_PrerenderNavigateNavigateGoBack) {
3125 PrerenderTestURL("files/prerender/prerender_page_with_link.html", 3117 PrerenderTestURL("files/prerender/prerender_page_with_link.html",
3126 FINAL_STATUS_USED, 3118 FINAL_STATUS_USED,
3127 1); 3119 1);
3128 NavigateToDestURL(); 3120 NavigateToDestURL();
3129 NavigateToNextPageAfterPrerender(); 3121 NavigateToNextPageAfterPrerender();
3130 GoBackToPrerender(); 3122 GoBackToPrerender();
3131 } 3123 }
3132 3124
3133 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, 3125 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClickClickGoBack) {
3134 DISABLED_PrerenderClickClickGoBack) {
3135 PrerenderTestURL("files/prerender/prerender_page_with_link.html", 3126 PrerenderTestURL("files/prerender/prerender_page_with_link.html",
3136 FINAL_STATUS_USED, 3127 FINAL_STATUS_USED,
3137 1); 3128 1);
3138 OpenDestURLViaClick(); 3129 OpenDestURLViaClick();
3139 ClickToNextPageAfterPrerender(); 3130 ClickToNextPageAfterPrerender();
3140 GoBackToPrerender(); 3131 GoBackToPrerender();
3141 } 3132 }
3142 3133
3143 // Disabled due to timeouts on commit queue. 3134 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClickNavigateGoBack) {
3144 // http://crbug.com/121130
3145 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
3146 DISABLED_PrerenderClickNavigateGoBack) {
3147 PrerenderTestURL("files/prerender/prerender_page_with_link.html", 3135 PrerenderTestURL("files/prerender/prerender_page_with_link.html",
3148 FINAL_STATUS_USED, 3136 FINAL_STATUS_USED,
3149 1); 3137 1);
3150 OpenDestURLViaClick(); 3138 OpenDestURLViaClick();
3151 NavigateToNextPageAfterPrerender(); 3139 NavigateToNextPageAfterPrerender();
3152 GoBackToPrerender(); 3140 GoBackToPrerender();
3153 } 3141 }
3154 3142
3155 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClickNewWindow) { 3143 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClickNewWindow) {
3156 PrerenderTestURL("files/prerender/prerender_page_with_link.html", 3144 PrerenderTestURL("files/prerender/prerender_page_with_link.html",
3157 FINAL_STATUS_WINDOW_OPENER, 3145 FINAL_STATUS_WINDOW_OPENER,
3158 1); 3146 1);
3159 OpenDestURLViaClickNewWindow(); 3147 OpenDestURLViaClickNewWindow();
3160 } 3148 }
3161 3149
3162 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClickNewForegroundTab) { 3150 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClickNewForegroundTab) {
3163 PrerenderTestURL("files/prerender/prerender_page_with_link.html", 3151 PrerenderTestURL("files/prerender/prerender_page_with_link.html",
3164 FINAL_STATUS_WINDOW_OPENER, 3152 FINAL_STATUS_WINDOW_OPENER,
3165 1); 3153 1);
3166 OpenDestURLViaClickNewForegroundTab(); 3154 OpenDestURLViaClickNewForegroundTab();
3167 } 3155 }
3168 3156
3169 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, 3157 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClickNewBackgroundTab) {
3170 DISABLED_PrerenderClickNewBackgroundTab) {
3171 scoped_ptr<TestPrerender> prerender = 3158 scoped_ptr<TestPrerender> prerender =
3172 PrerenderTestURL("files/prerender/prerender_page_with_link.html", 3159 PrerenderTestURL("files/prerender/prerender_page_with_link.html",
3173 FINAL_STATUS_APP_TERMINATING, 3160 FINAL_STATUS_WINDOW_OPENER,
3174 1); 3161 1);
3175 ASSERT_TRUE(prerender->contents()); 3162 ASSERT_TRUE(prerender->contents());
3176 prerender->contents()->set_should_be_shown(false); 3163 prerender->contents()->set_should_be_shown(false);
3177 OpenDestURLViaClickNewBackgroundTab(); 3164 OpenDestURLViaClickNewBackgroundTab();
3178 } 3165 }
3179 3166
3180 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, 3167 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
3181 NavigateToPrerenderedPageWhenDevToolsAttached) { 3168 NavigateToPrerenderedPageWhenDevToolsAttached) {
3182 DisableJavascriptCalls(); 3169 DisableJavascriptCalls();
3183 WebContents* web_contents = 3170 WebContents* web_contents =
3184 current_browser()->tab_strip_model()->GetActiveWebContents(); 3171 current_browser()->tab_strip_model()->GetActiveWebContents();
3185 scoped_refptr<DevToolsAgentHost> agent(DevToolsAgentHost::GetOrCreateFor( 3172 scoped_refptr<DevToolsAgentHost> agent(DevToolsAgentHost::GetOrCreateFor(
3186 web_contents->GetRenderViewHost())); 3173 web_contents->GetRenderViewHost()));
3187 DevToolsManager* manager = DevToolsManager::GetInstance(); 3174 DevToolsManager* manager = DevToolsManager::GetInstance();
3188 FakeDevToolsClientHost client_host; 3175 FakeDevToolsClientHost client_host;
3189 manager->RegisterDevToolsClientHostFor(agent.get(), &client_host); 3176 manager->RegisterDevToolsClientHostFor(agent.get(), &client_host);
3190 const char* url = "files/prerender/prerender_page.html"; 3177 const char* url = "files/prerender/prerender_page.html";
3191 PrerenderTestURL(url, FINAL_STATUS_DEVTOOLS_ATTACHED, 1); 3178 PrerenderTestURL(url, FINAL_STATUS_DEVTOOLS_ATTACHED, 1);
3192 NavigateToURLWithDisposition(url, CURRENT_TAB, false); 3179 NavigateToURLWithDisposition(url, CURRENT_TAB, false);
3193 manager->ClientHostClosing(&client_host); 3180 manager->ClientHostClosing(&client_host);
3194 } 3181 }
3195 3182
3196 // Validate that the sessionStorage namespace remains the same when swapping 3183 // Validate that the sessionStorage namespace remains the same when swapping
3197 // in a prerendered page. 3184 // in a prerendered page.
3198 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, 3185 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderSessionStorage) {
3199 DISABLED_PrerenderSessionStorage) {
3200 set_loader_path("files/prerender/prerender_loader_with_session_storage.html"); 3186 set_loader_path("files/prerender/prerender_loader_with_session_storage.html");
3201 PrerenderTestURL(GetCrossDomainTestUrl("files/prerender/prerender_page.html"), 3187 PrerenderTestURL(GetCrossDomainTestUrl("files/prerender/prerender_page.html"),
3202 FINAL_STATUS_USED, 3188 FINAL_STATUS_USED,
3203 1); 3189 1);
3204 NavigateToDestURL(); 3190 NavigateToDestURL();
3205 GoBackToPageBeforePrerender(); 3191 GoBackToPageBeforePrerender();
3206 } 3192 }
3207 3193
3208 // Checks that the control group works. An XHR PUT cannot be detected in the 3194 // Checks that the control group works. An XHR PUT cannot be detected in the
3209 // control group. 3195 // control group.
(...skipping 837 matching lines...) Expand 10 before | Expand all | Expand 10 after
4047 } 4033 }
4048 }; 4034 };
4049 4035
4050 // Checks that prerendering works in incognito mode. 4036 // Checks that prerendering works in incognito mode.
4051 IN_PROC_BROWSER_TEST_F(PrerenderIncognitoBrowserTest, PrerenderIncognito) { 4037 IN_PROC_BROWSER_TEST_F(PrerenderIncognitoBrowserTest, PrerenderIncognito) {
4052 PrerenderTestURL("files/prerender/prerender_page.html", FINAL_STATUS_USED, 1); 4038 PrerenderTestURL("files/prerender/prerender_page.html", FINAL_STATUS_USED, 1);
4053 NavigateToDestURL(); 4039 NavigateToDestURL();
4054 } 4040 }
4055 4041
4056 } // namespace prerender 4042 } // namespace prerender
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698