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 1238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1249 } | 1249 } |
1250 } | 1250 } |
1251 EXPECT_EQ(0, num_prerender_tabs); | 1251 EXPECT_EQ(0, num_prerender_tabs); |
1252 | 1252 |
1253 // We may have deleted the prerender tab, but the swapped in tab should be | 1253 // We may have deleted the prerender tab, but the swapped in tab should be |
1254 // active. | 1254 // active. |
1255 EXPECT_GE(num_tabs_with_prerender_page_title, 1); | 1255 EXPECT_GE(num_tabs_with_prerender_page_title, 1); |
1256 EXPECT_LE(num_tabs_with_prerender_page_title, 2); | 1256 EXPECT_LE(num_tabs_with_prerender_page_title, 2); |
1257 } | 1257 } |
1258 | 1258 |
1259 // Checks that prerenderers will terminate when an audio tag is encountered. | 1259 // Checks that audio loads are deferred on prerendering. |
1260 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderHTML5Audio) { | 1260 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderHTML5Audio) { |
1261 PrerenderTestURL("files/prerender/prerender_html5_audio.html", | 1261 PrerenderTestURL("files/prerender/prerender_html5_audio.html", |
1262 FINAL_STATUS_HTML5_MEDIA, | 1262 FINAL_STATUS_USED, |
1263 1); | 1263 1); |
1264 string16 expected_title = ASCIIToUTF16("PASS"); | |
1265 ui_test_utils::TitleWatcher title_watcher( | |
1266 GetPrerenderContents()->prerender_contents()->tab_contents(), | |
1267 expected_title); | |
1268 NavigateToDestURL(); | |
1269 EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); | |
1264 } | 1270 } |
1265 | 1271 |
1266 // Checks that prerenderers will terminate when a video tag is encountered. | 1272 // Checks that audio loads are deferred on prerendering and played back when |
1273 // the prerender is swapped in if autoplay is set. | |
1274 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderHTML5AudioAutoplay) { | |
1275 PrerenderTestURL("files/prerender/prerender_html5_audio_autoplay.html", | |
1276 FINAL_STATUS_USED, | |
1277 1); | |
1278 string16 expected_title = ASCIIToUTF16("PASS"); | |
cbentzel
2011/11/15 18:55:33
Move the rest of this method into a helper functio
Shishir
2011/11/17 21:18:49
Done.
| |
1279 ui_test_utils::TitleWatcher title_watcher( | |
1280 GetPrerenderContents()->prerender_contents()->tab_contents(), | |
1281 expected_title); | |
1282 NavigateToDestURL(); | |
1283 EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); | |
1284 } | |
1285 | |
1286 // Checks that audio loads are deferred on prerendering and played back when | |
1287 // the prerender is swapped in if js starts playing. | |
1288 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderHTML5AudioJsplay) { | |
1289 PrerenderTestURL("files/prerender/prerender_html5_audio_jsplay.html", | |
1290 FINAL_STATUS_USED, | |
1291 1); | |
1292 string16 expected_title = ASCIIToUTF16("PASS"); | |
1293 ui_test_utils::TitleWatcher title_watcher( | |
1294 GetPrerenderContents()->prerender_contents()->tab_contents(), | |
1295 expected_title); | |
1296 NavigateToDestURL(); | |
1297 EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); | |
1298 } | |
1299 | |
1300 // Checks that video loads are deferred on prerendering. | |
1267 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderHTML5Video) { | 1301 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderHTML5Video) { |
1268 PrerenderTestURL("files/prerender/prerender_html5_video.html", | 1302 PrerenderTestURL("files/prerender/prerender_html5_video.html", |
1269 FINAL_STATUS_HTML5_MEDIA, | 1303 FINAL_STATUS_USED, |
1270 1); | 1304 1); |
1305 string16 expected_title = ASCIIToUTF16("PASS"); | |
1306 ui_test_utils::TitleWatcher title_watcher( | |
1307 GetPrerenderContents()->prerender_contents()->tab_contents(), | |
1308 expected_title); | |
1309 NavigateToDestURL(); | |
1310 EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); | |
1271 } | 1311 } |
1272 | 1312 |
1273 // Checks that prerenderers will terminate when a video tag is inserted via | 1313 // Checks that video tags inserted by javascript are deferred and played |
1274 // javascript. | 1314 // correctly on swap in. |
1275 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderHTML5VideoJs) { | 1315 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderHTML5VideoJs) { |
1276 PrerenderTestURL("files/prerender/prerender_html5_video_script.html", | 1316 PrerenderTestURL("files/prerender/prerender_html5_video_script.html", |
1277 FINAL_STATUS_HTML5_MEDIA, | 1317 FINAL_STATUS_USED, |
1278 1); | 1318 1); |
1319 string16 expected_title = ASCIIToUTF16("PASS"); | |
1320 ui_test_utils::TitleWatcher title_watcher( | |
1321 GetPrerenderContents()->prerender_contents()->tab_contents(), | |
1322 expected_title); | |
1323 NavigateToDestURL(); | |
1324 EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); | |
1279 } | 1325 } |
1280 | 1326 |
1281 // Checks that scripts can retrieve the correct window size while prerendering. | 1327 // Checks that scripts can retrieve the correct window size while prerendering. |
1282 #if defined(TOOLKIT_VIEWS) | 1328 #if defined(TOOLKIT_VIEWS) |
1283 // TODO(beng): Widget hierarchy split causes this to fail http://crbug.com/82363 | 1329 // TODO(beng): Widget hierarchy split causes this to fail http://crbug.com/82363 |
1284 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, DISABLED_PrerenderWindowSize) { | 1330 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, DISABLED_PrerenderWindowSize) { |
1285 #else | 1331 #else |
1286 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderWindowSize) { | 1332 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderWindowSize) { |
1287 #endif | 1333 #endif |
1288 PrerenderTestURL("files/prerender/prerender_size.html", | 1334 PrerenderTestURL("files/prerender/prerender_size.html", |
(...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1840 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderSessionStorage) { | 1886 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderSessionStorage) { |
1841 set_loader_path("files/prerender/prerender_loader_with_session_storage.html"); | 1887 set_loader_path("files/prerender/prerender_loader_with_session_storage.html"); |
1842 PrerenderTestURL(GetCrossDomainTestUrl("files/prerender/prerender_page.html"), | 1888 PrerenderTestURL(GetCrossDomainTestUrl("files/prerender/prerender_page.html"), |
1843 FINAL_STATUS_USED, | 1889 FINAL_STATUS_USED, |
1844 1); | 1890 1); |
1845 NavigateToDestURL(); | 1891 NavigateToDestURL(); |
1846 GoBackToPageBeforePrerender(browser()); | 1892 GoBackToPageBeforePrerender(browser()); |
1847 } | 1893 } |
1848 | 1894 |
1849 } // namespace prerender | 1895 } // namespace prerender |
OLD | NEW |