Chromium Code Reviews| Index: chrome/browser/extensions/process_manager_browsertest.cc |
| diff --git a/chrome/browser/extensions/process_manager_browsertest.cc b/chrome/browser/extensions/process_manager_browsertest.cc |
| index 980318c77b803ca623a644153d87d3799c12e521..d42af16dc59fb01318efcfcce28ba98fc5cf30e2 100644 |
| --- a/chrome/browser/extensions/process_manager_browsertest.cc |
| +++ b/chrome/browser/extensions/process_manager_browsertest.cc |
| @@ -157,6 +157,37 @@ IN_PROC_BROWSER_TEST_F(ProcessManagerBrowserTest, HttpHostMatchingExtensionId) { |
| EXPECT_TRUE(pm->GetBackgroundHostForExtension(extension->id())); |
| } |
| +IN_PROC_BROWSER_TEST_F(ProcessManagerBrowserTest, NoBackgroundPage) { |
|
ncarter (slow)
2015/11/05 20:03:23
I uploaded a test that works through some of the s
|
| + ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); |
| + |
| + ProcessManager* pm = ProcessManager::Get(profile()); |
| + const Extension* extension = |
| + LoadExtension(test_data_dir_.AppendASCII("api_test") |
| + .AppendASCII("messaging") |
| + .AppendASCII("connect_nobackground")); |
| + ASSERT_TRUE(extension); |
| + |
| + // The extension has no background page. |
| + EXPECT_EQ(0u, pm->GetRenderFrameHostsForExtension(extension->id()).size()); |
| + |
| + // Start in a non-extension process, then navigate to an extension process. |
| + ui_test_utils::NavigateToURL(browser(), |
| + embedded_test_server()->GetURL("/empty.html")); |
| + EXPECT_EQ(0u, pm->GetRenderFrameHostsForExtension(extension->id()).size()); |
| + |
| + const GURL extension_url = extension->url().Resolve("manifest.json"); |
| + ui_test_utils::NavigateToURL(browser(), extension_url); |
|
ncarter (slow)
2015/11/05 20:03:23
Your current patch depends on RenderFrameHostChang
robwu
2015/11/12 00:33:58
I have replaced RenderFrameHostChanged with DidNav
|
| + EXPECT_EQ(1u, pm->GetRenderFrameHostsForExtension(extension->id()).size()); |
| + |
| + ui_test_utils::NavigateToURL(browser(), GURL("about:blank")); |
| + EXPECT_EQ(0u, pm->GetRenderFrameHostsForExtension(extension->id()).size()); |
| + |
| + ui_test_utils::NavigateToURLWithDisposition( |
| + browser(), extension_url, NEW_FOREGROUND_TAB, |
| + ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); |
| + EXPECT_EQ(1u, pm->GetRenderFrameHostsForExtension(extension->id()).size()); |
| +} |
| + |
| // Verify correct keepalive count behavior on network request events. |
| // Regression test for http://crbug.com/535716. |
| IN_PROC_BROWSER_TEST_F(ProcessManagerBrowserTest, KeepaliveOnNetworkRequest) { |