Index: chrome/browser/prerender/prerender_browsertest.cc |
diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc |
index 62035ec1cf75629aa182e7f0864c19ee213ad653..749372c8319a81876468903bc00940d308890e59 100644 |
--- a/chrome/browser/prerender/prerender_browsertest.cc |
+++ b/chrome/browser/prerender/prerender_browsertest.cc |
@@ -1256,26 +1256,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"); |
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.
|
+ 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 |
+// 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. |