Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2208)

Unified Diff: chrome/browser/prerender/prerender_unittest.cc

Issue 1854643002: Implement PrerenderManager::AddPrerenderForOffline() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addresses mmenke's comments Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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) {

Powered by Google App Engine
This is Rietveld 408576698