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" |
(...skipping 843 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
854 L"window.domAutomationController.send(Boolean(" | 854 L"window.domAutomationController.send(Boolean(" |
855 L"receivedPrerenderStartEvents[%d]))", index); | 855 L"receivedPrerenderStartEvents[%d]))", index); |
856 | 856 |
857 CHECK(content::ExecuteJavaScriptAndExtractBool( | 857 CHECK(content::ExecuteJavaScriptAndExtractBool( |
858 chrome::GetActiveWebContents(current_browser())->GetRenderViewHost(), | 858 chrome::GetActiveWebContents(current_browser())->GetRenderViewHost(), |
859 L"", expression, | 859 L"", expression, |
860 &received_prerender_started)); | 860 &received_prerender_started)); |
861 return received_prerender_started; | 861 return received_prerender_started; |
862 } | 862 } |
863 | 863 |
864 bool DidReceivePrerenderLoadEventForLinkNumber(int index) const { | |
865 bool received_prerender_loaded; | |
866 std::wstring expression = base::StringPrintf( | |
867 L"window.domAutomationController.send(Boolean(" | |
868 L"receivedPrerenderLoadEvents[%d]))", index); | |
869 | |
870 CHECK(content::ExecuteJavaScriptAndExtractBool( | |
871 chrome::GetActiveWebContents(current_browser())->GetRenderViewHost(), | |
872 L"", expression, | |
873 &received_prerender_loaded)); | |
874 return received_prerender_loaded; | |
875 } | |
876 | |
864 bool DidReceivePrerenderStopEventForLinkNumber(int index) const { | 877 bool DidReceivePrerenderStopEventForLinkNumber(int index) const { |
865 bool received_prerender_stopped; | 878 bool received_prerender_stopped; |
866 std::wstring expression = base::StringPrintf( | 879 std::wstring expression = base::StringPrintf( |
867 L"window.domAutomationController.send(Boolean(" | 880 L"window.domAutomationController.send(Boolean(" |
868 L"receivedPrerenderStopEvents[%d]))", index); | 881 L"receivedPrerenderStopEvents[%d]))", index); |
869 | 882 |
870 CHECK(content::ExecuteJavaScriptAndExtractBool( | 883 CHECK(content::ExecuteJavaScriptAndExtractBool( |
871 chrome::GetActiveWebContents(current_browser())->GetRenderViewHost(), | 884 chrome::GetActiveWebContents(current_browser())->GetRenderViewHost(), |
872 L"", expression, | 885 L"", expression, |
873 &received_prerender_stopped)); | 886 &received_prerender_stopped)); |
874 return received_prerender_stopped; | 887 return received_prerender_stopped; |
875 } | 888 } |
876 | 889 |
890 bool HadPrerenderEventErrors() const { | |
891 bool had_prerender_event_errors; | |
892 CHECK(content::ExecuteJavaScriptAndExtractBool( | |
893 chrome::GetActiveWebContents(current_browser())->GetRenderViewHost(), | |
894 L"", L"window.domAutomationController.send(Boolean(" | |
895 L"hadPrerenderEventErrors))", &had_prerender_event_errors)); | |
896 return had_prerender_event_errors; | |
897 } | |
898 | |
877 // Asserting on this can result in flaky tests. PrerenderHandles are | 899 // Asserting on this can result in flaky tests. PrerenderHandles are |
878 // removed from the PrerenderLinkManager when the prerender is canceled from | 900 // removed from the PrerenderLinkManager when the prerender is canceled from |
879 // the browser, when the prerenders are cancelled from the renderer process, | 901 // the browser, when the prerenders are cancelled from the renderer process, |
880 // or the channel for the renderer process is closed on the IO thread. In the | 902 // or the channel for the renderer process is closed on the IO thread. In the |
881 // last case, the code must be careful to wait for the channel to close, as it | 903 // last case, the code must be careful to wait for the channel to close, as it |
882 // is done asynchronously after swapping out the old process. See | 904 // is done asynchronously after swapping out the old process. See |
883 // ChannelDestructionWatcher. | 905 // ChannelDestructionWatcher. |
884 bool IsEmptyPrerenderLinkManager() const { | 906 bool IsEmptyPrerenderLinkManager() const { |
885 return GetPrerenderLinkManager()->IsEmpty(); | 907 return GetPrerenderLinkManager()->IsEmpty(); |
886 } | 908 } |
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1169 first_channel_close_watcher.WatchChannel( | 1191 first_channel_close_watcher.WatchChannel( |
1170 chrome::GetActiveWebContents(browser())->GetRenderProcessHost()); | 1192 chrome::GetActiveWebContents(browser())->GetRenderProcessHost()); |
1171 NavigateToDestURL(); | 1193 NavigateToDestURL(); |
1172 // NavigateToDestURL doesn't run a message loop. Normally that's fine, but in | 1194 // NavigateToDestURL doesn't run a message loop. Normally that's fine, but in |
1173 // this case, we need the pending prerenders to start. | 1195 // this case, we need the pending prerenders to start. |
1174 content::RunMessageLoop(); | 1196 content::RunMessageLoop(); |
1175 first_channel_close_watcher.WaitForChannelClose(); | 1197 first_channel_close_watcher.WaitForChannelClose(); |
1176 | 1198 |
1177 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); | 1199 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); |
1178 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); | 1200 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); |
1201 EXPECT_FALSE(HadPrerenderEventErrors()); | |
1179 | 1202 |
1180 const GURL prerender_page_url = | 1203 const GURL prerender_page_url = |
1181 test_server()->GetURL("files/prerender/prerender_page.html"); | 1204 test_server()->GetURL("files/prerender/prerender_page.html"); |
1182 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); | 1205 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); |
1183 EXPECT_NE(static_cast<TestPrerenderContents*>(NULL), | 1206 EXPECT_NE(static_cast<TestPrerenderContents*>(NULL), |
1184 GetPrerenderContentsFor(prerender_page_url)); | 1207 GetPrerenderContentsFor(prerender_page_url)); |
1185 | 1208 |
1186 // Now navigate to our target page. | 1209 // Now navigate to our target page. |
1187 ChannelDestructionWatcher second_channel_close_watcher; | 1210 ChannelDestructionWatcher second_channel_close_watcher; |
1188 second_channel_close_watcher.WatchChannel( | 1211 second_channel_close_watcher.WatchChannel( |
(...skipping 13 matching lines...) Expand all Loading... | |
1202 FINAL_STATUS_USED, 1); | 1225 FINAL_STATUS_USED, 1); |
1203 | 1226 |
1204 ChannelDestructionWatcher channel_close_watcher; | 1227 ChannelDestructionWatcher channel_close_watcher; |
1205 channel_close_watcher.WatchChannel( | 1228 channel_close_watcher.WatchChannel( |
1206 chrome::GetActiveWebContents(browser())->GetRenderProcessHost()); | 1229 chrome::GetActiveWebContents(browser())->GetRenderProcessHost()); |
1207 NavigateToDestURL(); | 1230 NavigateToDestURL(); |
1208 channel_close_watcher.WaitForChannelClose(); | 1231 channel_close_watcher.WaitForChannelClose(); |
1209 | 1232 |
1210 EXPECT_FALSE(DidReceivePrerenderStartEventForLinkNumber(1)); | 1233 EXPECT_FALSE(DidReceivePrerenderStartEventForLinkNumber(1)); |
1211 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(1)); | 1234 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(1)); |
1235 EXPECT_FALSE(HadPrerenderEventErrors()); | |
1212 // IsEmptyPrerenderLinkManager() is not racy because the earlier DidReceive* | 1236 // IsEmptyPrerenderLinkManager() is not racy because the earlier DidReceive* |
1213 // calls did a thread/process hop to the renderer which insured pending | 1237 // calls did a thread/process hop to the renderer which insured pending |
1214 // renderer events have arrived. | 1238 // renderer events have arrived. |
1215 ASSERT_TRUE(IsEmptyPrerenderLinkManager()); | 1239 ASSERT_TRUE(IsEmptyPrerenderLinkManager()); |
1216 } | 1240 } |
1217 | 1241 |
1218 // Flaky, http://crbug.com/167340. | 1242 // Flaky, http://crbug.com/167340. |
1219 IN_PROC_BROWSER_TEST_F( | 1243 IN_PROC_BROWSER_TEST_F( |
1220 PrerenderBrowserTest, DISABLED_PrerenderPageRemovingLink) { | 1244 PrerenderBrowserTest, DISABLED_PrerenderPageRemovingLink) { |
1221 set_loader_path("files/prerender/prerender_loader_removing_links.html"); | 1245 set_loader_path("files/prerender/prerender_loader_removing_links.html"); |
1222 set_loader_query_and_fragment("?links_to_insert=1"); | 1246 set_loader_query_and_fragment("?links_to_insert=1"); |
1223 PrerenderTestURL("files/prerender/prerender_page.html", | 1247 PrerenderTestURL("files/prerender/prerender_page.html", |
1224 FINAL_STATUS_CANCELLED, 1); | 1248 FINAL_STATUS_CANCELLED, 1); |
1225 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); | 1249 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); |
1226 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); | 1250 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); |
1227 | 1251 |
1228 // No ChannelDestructionWatcher is needed here, since prerenders in the | 1252 // No ChannelDestructionWatcher is needed here, since prerenders in the |
1229 // PrerenderLinkManager should be deleted by removing the links, rather than | 1253 // PrerenderLinkManager should be deleted by removing the links, rather than |
1230 // shutting down the renderer process. | 1254 // shutting down the renderer process. |
1231 RemoveLinkElement(0); | 1255 RemoveLinkElement(0); |
1232 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); | 1256 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); |
1233 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); | 1257 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); |
1258 EXPECT_FALSE(HadPrerenderEventErrors()); | |
1234 // IsEmptyPrerenderLinkManager() is not racy because the earlier DidReceive* | 1259 // IsEmptyPrerenderLinkManager() is not racy because the earlier DidReceive* |
1235 // calls did a thread/process hop to the renderer which insured pending | 1260 // calls did a thread/process hop to the renderer which insured pending |
1236 // renderer events have arrived. | 1261 // renderer events have arrived. |
1237 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 1262 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
1238 } | 1263 } |
1239 | 1264 |
1240 // Flaky, http://crbug.com/167340. | 1265 // Flaky, http://crbug.com/167340. |
1241 IN_PROC_BROWSER_TEST_F( | 1266 IN_PROC_BROWSER_TEST_F( |
1242 PrerenderBrowserTest, DISABLED_PrerenderPageRemovingLinkWithTwoLinks) { | 1267 PrerenderBrowserTest, DISABLED_PrerenderPageRemovingLinkWithTwoLinks) { |
1243 GetPrerenderManager()->mutable_config().max_link_concurrency = 2; | 1268 GetPrerenderManager()->mutable_config().max_link_concurrency = 2; |
1244 GetPrerenderManager()->mutable_config().max_link_concurrency_per_launcher = 2; | 1269 GetPrerenderManager()->mutable_config().max_link_concurrency_per_launcher = 2; |
1245 | 1270 |
1246 set_loader_path("files/prerender/prerender_loader_removing_links.html"); | 1271 set_loader_path("files/prerender/prerender_loader_removing_links.html"); |
1247 set_loader_query_and_fragment("?links_to_insert=2"); | 1272 set_loader_query_and_fragment("?links_to_insert=2"); |
1248 PrerenderTestURL("files/prerender/prerender_page.html", | 1273 PrerenderTestURL("files/prerender/prerender_page.html", |
1249 FINAL_STATUS_CANCELLED, 1); | 1274 FINAL_STATUS_CANCELLED, 1); |
1250 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); | 1275 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); |
1251 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); | 1276 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); |
1252 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(1)); | 1277 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(1)); |
1253 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(1)); | 1278 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(1)); |
1254 | 1279 |
1255 RemoveLinkElement(0); | 1280 RemoveLinkElement(0); |
1256 RemoveLinkElement(1); | 1281 RemoveLinkElement(1); |
1257 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); | 1282 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); |
1258 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); | 1283 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); |
1259 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(1)); | 1284 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(1)); |
1260 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(1)); | 1285 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(1)); |
1286 EXPECT_FALSE(HadPrerenderEventErrors()); | |
1261 // IsEmptyPrerenderLinkManager() is not racy because the earlier DidReceive* | 1287 // IsEmptyPrerenderLinkManager() is not racy because the earlier DidReceive* |
1262 // calls did a thread/process hop to the renderer which insured pending | 1288 // calls did a thread/process hop to the renderer which insured pending |
1263 // renderer events have arrived. | 1289 // renderer events have arrived. |
1264 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 1290 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
1265 } | 1291 } |
1266 | 1292 |
1267 #if defined(OS_WIN) | 1293 #if defined(OS_WIN) |
1268 // TODO(gavinp): Fails on XP Rel - http://crbug.com/128841 | 1294 // TODO(gavinp): Fails on XP Rel - http://crbug.com/128841 |
1269 #define MAYBE_PrerenderPageRemovingLinkWithTwoLinksRemovingOne \ | 1295 #define MAYBE_PrerenderPageRemovingLinkWithTwoLinksRemovingOne \ |
1270 DISABLED_PrerenderPageRemovingLinkWithTwoLinksRemovingOne | 1296 DISABLED_PrerenderPageRemovingLinkWithTwoLinksRemovingOne |
(...skipping 13 matching lines...) Expand all Loading... | |
1284 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); | 1310 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); |
1285 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); | 1311 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); |
1286 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(1)); | 1312 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(1)); |
1287 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(1)); | 1313 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(1)); |
1288 | 1314 |
1289 RemoveLinkElement(0); | 1315 RemoveLinkElement(0); |
1290 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); | 1316 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); |
1291 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); | 1317 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); |
1292 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(1)); | 1318 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(1)); |
1293 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(1)); | 1319 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(1)); |
1320 EXPECT_FALSE(HadPrerenderEventErrors()); | |
1294 // IsEmptyPrerenderLinkManager() is not racy because the earlier DidReceive* | 1321 // IsEmptyPrerenderLinkManager() is not racy because the earlier DidReceive* |
1295 // calls did a thread/process hop to the renderer which insured pending | 1322 // calls did a thread/process hop to the renderer which insured pending |
1296 // renderer events have arrived. | 1323 // renderer events have arrived. |
1297 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); | 1324 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); |
1298 | 1325 |
1299 ChannelDestructionWatcher channel_close_watcher; | 1326 ChannelDestructionWatcher channel_close_watcher; |
1300 channel_close_watcher.WatchChannel( | 1327 channel_close_watcher.WatchChannel( |
1301 chrome::GetActiveWebContents(browser())->GetRenderProcessHost()); | 1328 chrome::GetActiveWebContents(browser())->GetRenderProcessHost()); |
1302 NavigateToDestURL(); | 1329 NavigateToDestURL(); |
1303 channel_close_watcher.WaitForChannelClose(); | 1330 channel_close_watcher.WaitForChannelClose(); |
(...skipping 1090 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2394 MessageLoop::current()->PostTask( | 2421 MessageLoop::current()->PostTask( |
2395 FROM_HERE, base::Bind(&CancelAllPrerenders, GetPrerenderManager())); | 2422 FROM_HERE, base::Bind(&CancelAllPrerenders, GetPrerenderManager())); |
2396 content::RunMessageLoop(); | 2423 content::RunMessageLoop(); |
2397 EXPECT_TRUE(GetPrerenderContents() == NULL); | 2424 EXPECT_TRUE(GetPrerenderContents() == NULL); |
2398 } | 2425 } |
2399 | 2426 |
2400 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderEvents) { | 2427 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderEvents) { |
2401 PrerenderTestURL("files/prerender/prerender_page.html", | 2428 PrerenderTestURL("files/prerender/prerender_page.html", |
2402 FINAL_STATUS_CANCELLED, 1); | 2429 FINAL_STATUS_CANCELLED, 1); |
2403 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); | 2430 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); |
2431 EXPECT_TRUE(DidReceivePrerenderLoadEventForLinkNumber(0)); | |
2404 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); | 2432 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); |
2405 | 2433 |
2406 MessageLoop::current()->PostTask( | 2434 MessageLoop::current()->PostTask( |
2407 FROM_HERE, base::Bind(&CancelAllPrerenders, GetPrerenderManager())); | 2435 FROM_HERE, base::Bind(&CancelAllPrerenders, GetPrerenderManager())); |
2408 content::RunMessageLoop(); | 2436 content::RunMessageLoop(); |
2409 | 2437 |
2410 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); | 2438 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); |
2411 EXPECT_TRUE(DidReceivePrerenderStopEventForLinkNumber(0)); | 2439 EXPECT_TRUE(DidReceivePrerenderStopEventForLinkNumber(0)); |
2440 EXPECT_FALSE(HadPrerenderEventErrors()); | |
2441 } | |
2442 | |
2443 // PrerenderBrowserTest.PrerenderEventsNoLoad may pass flakily on regression, | |
2444 // so plesae be aggressive about filing bugs when this test is failing. | |
mmenke
2012/12/28 18:48:36
nit: please
gavinp
2012/12/28 20:13:16
Done.
| |
2445 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderEventsNoLoad) { | |
2446 // This should be canceled. | |
2447 PrerenderTestURL("files/prerender/prerender_http_auth_container.html", | |
2448 FINAL_STATUS_AUTH_NEEDED, | |
2449 1); | |
2450 EXPECT_TRUE(DidReceivePrerenderStartEventForLinkNumber(0)); | |
2451 EXPECT_FALSE(DidReceivePrerenderLoadEventForLinkNumber(0)); | |
2452 EXPECT_FALSE(DidReceivePrerenderStopEventForLinkNumber(0)); | |
2453 EXPECT_FALSE(HadPrerenderEventErrors()); | |
2412 } | 2454 } |
2413 | 2455 |
2414 // Prerendering and history tests. | 2456 // Prerendering and history tests. |
2415 // The prerendered page is navigated to in several ways [navigate via | 2457 // The prerendered page is navigated to in several ways [navigate via |
2416 // omnibox, click on link, key-modified click to open in background tab, etc], | 2458 // omnibox, click on link, key-modified click to open in background tab, etc], |
2417 // followed by a navigation to another page from the prerendered page, followed | 2459 // followed by a navigation to another page from the prerendered page, followed |
2418 // by a back navigation. | 2460 // by a back navigation. |
2419 | 2461 |
2420 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderNavigateClickGoBack) { | 2462 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderNavigateClickGoBack) { |
2421 PrerenderTestURL("files/prerender/prerender_page_with_link.html", | 2463 PrerenderTestURL("files/prerender/prerender_page_with_link.html", |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2640 channel_close_watcher.WatchChannel( | 2682 channel_close_watcher.WatchChannel( |
2641 chrome::GetActiveWebContents(browser())->GetRenderProcessHost()); | 2683 chrome::GetActiveWebContents(browser())->GetRenderProcessHost()); |
2642 NavigateToDestURL(); | 2684 NavigateToDestURL(); |
2643 channel_close_watcher.WaitForChannelClose(); | 2685 channel_close_watcher.WaitForChannelClose(); |
2644 | 2686 |
2645 ASSERT_TRUE(IsEmptyPrerenderLinkManager()); | 2687 ASSERT_TRUE(IsEmptyPrerenderLinkManager()); |
2646 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); | 2688 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); |
2647 } | 2689 } |
2648 | 2690 |
2649 } // namespace prerender | 2691 } // namespace prerender |
OLD | NEW |