Chromium Code Reviews| Index: chrome/browser/prerender/prerender_unittest.cc |
| diff --git a/chrome/browser/prerender/prerender_unittest.cc b/chrome/browser/prerender/prerender_unittest.cc |
| index 0db797f291ba7019986ca01ff8a55ce56181f016..9b39ddf6ba09267a9d5e4cd32b95f35bbb84e174 100644 |
| --- a/chrome/browser/prerender/prerender_unittest.cc |
| +++ b/chrome/browser/prerender/prerender_unittest.cc |
| @@ -427,6 +427,24 @@ TEST_F(PrerenderTest, PrerenderRespectsThirdPartyCookiesPref) { |
| EXPECT_FALSE(AddSimplePrerender(url)); |
| } |
| +TEST_F(PrerenderTest, OfflinePrerenderDontRespectsThirdPartyCookiesPref) { |
|
pasko
2016/04/25 11:29:11
s/DontRespects/DoesntRespect/
gabadie
2016/04/25 12:35:11
Done.
|
| + GURL url("http://www.google.com/"); |
| + RestorePrerenderMode restore_prerender_mode; |
| + ASSERT_TRUE(PrerenderManager::IsPrerenderingPossible()); |
| + |
| + profile()->GetPrefs()->SetBoolean(prefs::kBlockThirdPartyCookies, true); |
| + DummyPrerenderContents* prerender_contents = |
| + prerender_manager()->CreateNextPrerenderContents( |
| + url, ORIGIN_OFFLINE, FINAL_STATUS_MANAGER_SHUTDOWN); |
| + scoped_ptr<PrerenderHandle> prerender_handle( |
| + prerender_manager()->AddPrerenderForOffline(url, nullptr, kSize)); |
| + EXPECT_TRUE(prerender_handle); |
| + EXPECT_TRUE(prerender_handle->IsPrerendering()); |
| + EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
| + EXPECT_EQ(prerender_contents, prerender_handle->contents()); |
| + EXPECT_EQ(ORIGIN_OFFLINE, prerender_handle->contents()->origin()); |
| +} |
| + |
| TEST_F(PrerenderTest, FoundTest) { |
| GURL url("http://www.google.com/"); |
| DummyPrerenderContents* prerender_contents = |
| @@ -1111,28 +1129,38 @@ TEST_F(PrerenderTest, PrerenderNotAllowedOnCellularWithExternalOrigin) { |
| EXPECT_FALSE(prerender_contents->prerendering_has_started()); |
| } |
| -TEST_F(PrerenderTest,PrerenderAllowedOnCellularWithForcedOrigin) { |
| +TEST_F(PrerenderTest, OfflinePrerenderIgnoresThirdPartyCookiesPref) { |
|
pasko
2016/04/25 11:29:11
This test has nothing to do with cookies pref, rig
gabadie
2016/04/25 12:35:11
Oh oups. I have mixed up mmenke's renaming proposa
|
| + const Origin origins[] = { |
| + ORIGIN_EXTERNAL_REQUEST_FORCED_CELLULAR, |
| + ORIGIN_OFFLINE, |
| + }; |
| + |
| EnablePrerender(); |
| std::unique_ptr<net::NetworkChangeNotifier> mock( |
| new MockNetworkChangeNotifier4G); |
| EXPECT_TRUE(net::NetworkChangeNotifier::IsConnectionCellular( |
| net::NetworkChangeNotifier::GetConnectionType())); |
| GURL url("http://www.google.com/"); |
| - DummyPrerenderContents* prerender_contents = |
| - prerender_manager()->CreateNextPrerenderContents( |
| - url, |
| - ORIGIN_EXTERNAL_REQUEST_FORCED_CELLULAR, |
| - FINAL_STATUS_USED); |
| - std::unique_ptr<PrerenderHandle> prerender_handle( |
| - prerender_manager()->AddPrerenderOnCellularFromExternalRequest( |
| - url, content::Referrer(), nullptr, kSize)); |
| - EXPECT_TRUE(prerender_handle); |
| - EXPECT_TRUE(prerender_handle->IsPrerendering()); |
| - EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
| - EXPECT_EQ(prerender_contents, prerender_handle->contents()); |
| - EXPECT_EQ(ORIGIN_EXTERNAL_REQUEST_FORCED_CELLULAR, |
| - prerender_handle->contents()->origin()); |
| - ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); |
| + for (Origin origin: origins) { |
| + DummyPrerenderContents* prerender_contents = |
| + prerender_manager()->CreateNextPrerenderContents( |
| + url, origin, FINAL_STATUS_USED); |
| + scoped_ptr<PrerenderHandle> prerender_handle; |
| + if (origin == ORIGIN_OFFLINE) {( |
| + prerender_handle.reset(prerender_manager()->AddPrerenderForOffline( |
| + url, nullptr, kSize))); |
| + } else {( |
| + prerender_handle.reset( |
| + prerender_manager()->AddPrerenderOnCellularFromExternalRequest( |
| + url, content::Referrer(), nullptr, kSize))); |
| + } |
| + EXPECT_TRUE(prerender_handle); |
| + EXPECT_TRUE(prerender_handle->IsPrerendering()); |
| + EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
| + EXPECT_EQ(prerender_contents, prerender_handle->contents()); |
| + EXPECT_EQ(origin, prerender_handle->contents()->origin()); |
| + ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); |
| + } |
| } |
| TEST_F(PrerenderTest, LinkManagerCancel) { |