| Index: content/browser/browser_plugin/browser_plugin_host_browsertest.cc
|
| diff --git a/content/browser/browser_plugin/browser_plugin_host_browsertest.cc b/content/browser/browser_plugin/browser_plugin_host_browsertest.cc
|
| index e883fc01c138044e1cb57586ff5b38c252036a92..9edab6d1af1859bed5f475013dd928c788f5e1d4 100644
|
| --- a/content/browser/browser_plugin/browser_plugin_host_browsertest.cc
|
| +++ b/content/browser/browser_plugin/browser_plugin_host_browsertest.cc
|
| @@ -1010,6 +1010,55 @@ IN_PROC_BROWSER_TEST_F(BrowserPluginHostTest, LoadCommit) {
|
| EXPECT_EQ(true, top_level_bool);
|
| }
|
|
|
| +IN_PROC_BROWSER_TEST_F(BrowserPluginHostTest, TitleChange) {
|
| + const char* kEmbedderURL = "files/browser_plugin_embedder_titlechange.html";
|
| + StartBrowserPluginTest(kEmbedderURL, "about:blank", true, "");
|
| +
|
| + // Navigate and wait until the title changes.
|
| + const string16 expected_title = ASCIIToUTF16("Title Of Awesomeness");
|
| + content::TitleWatcher title_watcher(test_embedder()->web_contents(),
|
| + expected_title);
|
| + GURL title_url(test_server()->GetURL("files/title2.html"));
|
| + RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>(
|
| + test_embedder()->web_contents()->GetRenderViewHost());
|
| + ExecuteSyncJSFunction(rvh, ASCIIToUTF16(StringPrintf("SetSrc('%s');",
|
| + title_url.spec().c_str())));
|
| + string16 actual_title = title_watcher.WaitAndGetTitle();
|
| + EXPECT_EQ(expected_title, actual_title);
|
| +
|
| + // Navigate to a page with a different title and wait for the update.
|
| + const string16 expected_title2 = ASCIIToUTF16("Title Of More Awesomeness");
|
| + content::TitleWatcher title_watcher2(test_embedder()->web_contents(),
|
| + expected_title2);
|
| + GURL title_url2(test_server()->GetURL("files/title3.html"));
|
| + ExecuteSyncJSFunction(rvh, ASCIIToUTF16(StringPrintf("SetSrc('%s');",
|
| + title_url2.spec().c_str())));
|
| + actual_title = title_watcher2.WaitAndGetTitle();
|
| + EXPECT_EQ(expected_title2, actual_title);
|
| +
|
| + // Go back and expect the title to revert to expected_title.
|
| + content::TitleWatcher title_watcher3(test_embedder()->web_contents(),
|
| + expected_title);
|
| + ExecuteSyncJSFunction(rvh, ASCIIToUTF16("Back();"));
|
| + actual_title = title_watcher3.WaitAndGetTitle();
|
| + EXPECT_EQ(expected_title, actual_title);
|
| +
|
| + // Navigate to a page with no title and wait for the update.
|
| + // It should include the URL (host, port, path) with no http://.
|
| + GURL no_title_url(test_server()->GetURL("files/title1.html"));
|
| + std::string no_title_str = no_title_url.host();
|
| + no_title_str.append(":");
|
| + no_title_str.append(no_title_url.port());
|
| + no_title_str.append(no_title_url.path());
|
| + const string16 no_title = ASCIIToUTF16(no_title_str);
|
| + content::TitleWatcher title_watcher4(test_embedder()->web_contents(),
|
| + no_title);
|
| + ExecuteSyncJSFunction(rvh, ASCIIToUTF16(StringPrintf("SetSrc('%s');",
|
| + no_title_url.spec().c_str())));
|
| + actual_title = title_watcher4.WaitAndGetTitle();
|
| + EXPECT_EQ(no_title, actual_title);
|
| +}
|
| +
|
| // This test verifies that if a browser plugin is hidden before navigation,
|
| // the guest starts off hidden.
|
| IN_PROC_BROWSER_TEST_F(BrowserPluginHostTest, HiddenBeforeNavigation) {
|
|
|