Index: chrome/browser/prerender/prerender_browsertest.cc |
diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc |
index d9b77e1a75920dd9d3880a5eb570ea6889c37461..95beef22d0aa3e4eb92acb9aaa2612675642d5ae 100644 |
--- a/chrome/browser/prerender/prerender_browsertest.cc |
+++ b/chrome/browser/prerender/prerender_browsertest.cc |
@@ -1253,26 +1253,72 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderTaskManager) { |
EXPECT_LE(num_tabs_with_prerender_page_title, 2); |
} |
-// Checks that prerenderers will terminate when an audio tag is encountered. |
+// Checks that audio loads are deferred on prerendering. |
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderHTML5Audio) { |
PrerenderTestURL("files/prerender/prerender_html5_audio.html", |
- FINAL_STATUS_HTML5_MEDIA, |
+ FINAL_STATUS_USED, |
1); |
+ string16 expected_title = ASCIIToUTF16("PASS"); |
+ ui_test_utils::TitleWatcher title_watcher( |
+ GetPrerenderContents()->prerender_contents()->tab_contents(), |
+ expected_title); |
+ NavigateToDestURL(); |
+ EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); |
} |
-// Checks that prerenderers will terminate when a video tag is encountered. |
+// Checks that audio loads are deferred on prerendering and played back when |
+// the prerender is swapped in if autoplay is set. |
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderHTML5AudioAutoplay) { |
+ PrerenderTestURL("files/prerender/prerender_html5_audio_autoplay.html", |
+ FINAL_STATUS_USED, |
+ 1); |
+ string16 expected_title = ASCIIToUTF16("PASS"); |
+ ui_test_utils::TitleWatcher title_watcher( |
+ GetPrerenderContents()->prerender_contents()->tab_contents(), |
+ expected_title); |
+ NavigateToDestURL(); |
+ EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); |
+} |
+ |
+// Checks that audio loads are deferred on prerendering and played back when |
+// the prerender is swapped in if js starts playing. |
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderHTML5AudioJsplay) { |
+ PrerenderTestURL("files/prerender/prerender_html5_audio_jsplay.html", |
+ FINAL_STATUS_USED, |
+ 1); |
+ string16 expected_title = ASCIIToUTF16("PASS"); |
+ ui_test_utils::TitleWatcher title_watcher( |
+ GetPrerenderContents()->prerender_contents()->tab_contents(), |
+ expected_title); |
+ NavigateToDestURL(); |
+ EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); |
+} |
+ |
+// Checks that video loads are deferred on prerendering. |
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderHTML5Video) { |
PrerenderTestURL("files/prerender/prerender_html5_video.html", |
- FINAL_STATUS_HTML5_MEDIA, |
+ FINAL_STATUS_USED, |
1); |
+ string16 expected_title = ASCIIToUTF16("PASS"); |
+ ui_test_utils::TitleWatcher title_watcher( |
+ GetPrerenderContents()->prerender_contents()->tab_contents(), |
+ expected_title); |
+ NavigateToDestURL(); |
+ EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); |
} |
-// Checks that prerenderers will terminate when a video tag is inserted via |
-// javascript. |
+// Checks that video tags inserted by javascript are deferred and played |
scherkus (not reviewing)
2011/11/08 06:21:06
nit: "and played " -> "and played"
Shishir
2011/11/09 22:27:47
Done.
|
+// correctly on swap in. |
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderHTML5VideoJs) { |
PrerenderTestURL("files/prerender/prerender_html5_video_script.html", |
- FINAL_STATUS_HTML5_MEDIA, |
+ FINAL_STATUS_USED, |
1); |
+ string16 expected_title = ASCIIToUTF16("PASS"); |
+ ui_test_utils::TitleWatcher title_watcher( |
+ GetPrerenderContents()->prerender_contents()->tab_contents(), |
+ expected_title); |
+ NavigateToDestURL(); |
+ EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); |
} |
// Checks that scripts can retrieve the correct window size while prerendering. |