Chromium Code Reviews| Index: chrome/browser/prerender/prerender_browsertest.cc |
| diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc |
| index 4b830e7abdcb9cf5c526a9846059ba17ac7ed8fc..fb9f1b705e9a15b261788c9482b49effc2fd7180 100644 |
| --- a/chrome/browser/prerender/prerender_browsertest.cc |
| +++ b/chrome/browser/prerender/prerender_browsertest.cc |
| @@ -3110,6 +3110,31 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderNewNavigationEntry) { |
| FINAL_STATUS_NEW_NAVIGATION_ENTRY, 1); |
| } |
| +// Checks that the prerendering of a page for ORIGIN_OFFLINE is not canceled |
| +// when the prerendered page tries to make a second navigation entry. |
| +IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, |
| + PrerenderNoNewNavigationEntryForOffline) { |
|
pasko
2017/01/26 12:09:39
nit: I think this checks when there _is_ a new nav
dougarnett
2017/01/26 16:27:39
Done.
|
| + // Navigate to about:blank to get the session storage namespace. |
| + ui_test_utils::NavigateToURL(current_browser(), GURL(url::kAboutBlankURL)); |
| + content::SessionStorageNamespace* storage_namespace = |
| + GetActiveWebContents() |
| + ->GetController() |
| + .GetDefaultSessionStorageNamespace(); |
| + |
| + std::unique_ptr<TestPrerender> test_prerender = |
| + prerender_contents_factory()->ExpectPrerenderContents( |
| + FINAL_STATUS_APP_TERMINATING); |
| + |
| + const GURL url = |
| + src_server()->GetURL(MakeAbsolute("/prerender/prerender_new_entry.html")); |
| + std::unique_ptr<PrerenderHandle> prerender_handle( |
| + GetPrerenderManager()->AddPrerenderForOffline(url, storage_namespace, |
| + gfx::Size(640, 480))); |
| + ASSERT_EQ(prerender_handle->contents(), test_prerender->contents()); |
| + test_prerender->WaitForLoads(2); |
| + ASSERT_EQ(1, GetActiveWebContents()->GetController().GetEntryCount()); |
| +} |
| + |
| // Attempt a swap-in in a new tab. The session storage doesn't match, so it |
| // should not swap. |
| IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderPageNewTab) { |