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

Side by Side 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 pasko' 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stddef.h> 5 #include <stddef.h>
6 #include <stdint.h> 6 #include <stdint.h>
7 7
8 #include <map> 8 #include <map>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 1075 matching lines...) Expand 10 before | Expand all | Expand 10 after
1086 net::NetworkChangeNotifier::GetConnectionType())); 1086 net::NetworkChangeNotifier::GetConnectionType()));
1087 DummyPrerenderContents* prerender_contents = 1087 DummyPrerenderContents* prerender_contents =
1088 prerender_manager()->CreateNextPrerenderContents( 1088 prerender_manager()->CreateNextPrerenderContents(
1089 url, ORIGIN_LINK_REL_PRERENDER_CROSSDOMAIN, FINAL_STATUS_USED); 1089 url, ORIGIN_LINK_REL_PRERENDER_CROSSDOMAIN, FINAL_STATUS_USED);
1090 EXPECT_TRUE(AddSimplePrerender(url)); 1090 EXPECT_TRUE(AddSimplePrerender(url));
1091 EXPECT_TRUE(prerender_contents->prerendering_has_started()); 1091 EXPECT_TRUE(prerender_contents->prerendering_has_started());
1092 ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); 1092 ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url));
1093 } 1093 }
1094 1094
1095 TEST_F(PrerenderTest, PrerenderNotAllowedOnCellularWithExternalOrigin) { 1095 TEST_F(PrerenderTest, PrerenderNotAllowedOnCellularWithExternalOrigin) {
1096 Origin origin = ORIGIN_EXTERNAL_REQUEST;
1097 EXPECT_FALSE(IsCellularForcedOrigin(origin));
1096 EnablePrerender(); 1098 EnablePrerender();
1097 scoped_ptr<net::NetworkChangeNotifier> mock( 1099 scoped_ptr<net::NetworkChangeNotifier> mock(
1098 new MockNetworkChangeNotifier4G); 1100 new MockNetworkChangeNotifier4G);
1099 EXPECT_TRUE(net::NetworkChangeNotifier::IsConnectionCellular( 1101 EXPECT_TRUE(net::NetworkChangeNotifier::IsConnectionCellular(
1100 net::NetworkChangeNotifier::GetConnectionType())); 1102 net::NetworkChangeNotifier::GetConnectionType()));
1101 GURL url("http://www.google.com/"); 1103 GURL url("http://www.google.com/");
1102 DummyPrerenderContents* prerender_contents = 1104 DummyPrerenderContents* prerender_contents =
1103 prerender_manager()->CreateNextPrerenderContents( 1105 prerender_manager()->CreateNextPrerenderContents(
1104 url, 1106 url,
1105 ORIGIN_EXTERNAL_REQUEST, 1107 origin,
1106 FINAL_STATUS_MANAGER_SHUTDOWN); 1108 FINAL_STATUS_MANAGER_SHUTDOWN);
1107 scoped_ptr<PrerenderHandle> prerender_handle( 1109 scoped_ptr<PrerenderHandle> prerender_handle(
1108 prerender_manager()->AddPrerenderFromExternalRequest( 1110 prerender_manager()->AddPrerenderFromExternalRequest(
1109 url, content::Referrer(), nullptr, kSize)); 1111 url, content::Referrer(), nullptr, kSize));
1110 EXPECT_FALSE(prerender_handle); 1112 EXPECT_FALSE(prerender_handle);
1111 EXPECT_FALSE(prerender_contents->prerendering_has_started()); 1113 EXPECT_FALSE(prerender_contents->prerendering_has_started());
1112 } 1114 }
1113 1115
1114 TEST_F(PrerenderTest,PrerenderAllowedOnCellularWithForcedOrigin) { 1116 TEST_F(PrerenderTest, PrerenderForcedOriginOnCellular) {
1117 const Origin origins[] = {
1118 ORIGIN_EXTERNAL_REQUEST_FORCED_CELLULAR,
1119 ORIGIN_OFFLINE,
1120 };
1121
1115 EnablePrerender(); 1122 EnablePrerender();
1116 scoped_ptr<net::NetworkChangeNotifier> mock( 1123 scoped_ptr<net::NetworkChangeNotifier> mock(
1117 new MockNetworkChangeNotifier4G); 1124 new MockNetworkChangeNotifier4G);
1118 EXPECT_TRUE(net::NetworkChangeNotifier::IsConnectionCellular( 1125 EXPECT_TRUE(net::NetworkChangeNotifier::IsConnectionCellular(
1119 net::NetworkChangeNotifier::GetConnectionType())); 1126 net::NetworkChangeNotifier::GetConnectionType()));
1120 GURL url("http://www.google.com/"); 1127 GURL url("http://www.google.com/");
1121 DummyPrerenderContents* prerender_contents = 1128 for (Origin origin: origins) {
1122 prerender_manager()->CreateNextPrerenderContents( 1129 EXPECT_TRUE(IsCellularForcedOrigin(origin));
1123 url, 1130 DummyPrerenderContents* prerender_contents =
1124 ORIGIN_EXTERNAL_REQUEST_FORCED_CELLULAR, 1131 prerender_manager()->CreateNextPrerenderContents(
1125 FINAL_STATUS_USED); 1132 url, origin, FINAL_STATUS_USED);
1126 scoped_ptr<PrerenderHandle> prerender_handle( 1133 scoped_ptr<PrerenderHandle> prerender_handle;
1127 prerender_manager()->AddPrerenderOnCellularFromExternalRequest( 1134 if (origin == ORIGIN_OFFLINE) {(
1128 url, content::Referrer(), nullptr, kSize)); 1135 prerender_handle.reset(prerender_manager()->AddPrerenderForOffline(
1129 EXPECT_TRUE(prerender_handle); 1136 url, nullptr, kSize)));
1130 EXPECT_TRUE(prerender_handle->IsPrerendering()); 1137 } else {(
1131 EXPECT_TRUE(prerender_contents->prerendering_has_started()); 1138 prerender_handle.reset(
1132 EXPECT_EQ(prerender_contents, prerender_handle->contents()); 1139 prerender_manager()->AddPrerenderOnCellularFromExternalRequest(
1133 EXPECT_EQ(ORIGIN_EXTERNAL_REQUEST_FORCED_CELLULAR, 1140 url, content::Referrer(), nullptr, kSize)));
1134 prerender_handle->contents()->origin()); 1141 }
1135 ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); 1142 EXPECT_TRUE(prerender_handle);
1143 EXPECT_TRUE(prerender_handle->IsPrerendering());
1144 EXPECT_TRUE(prerender_contents->prerendering_has_started());
1145 EXPECT_EQ(prerender_contents, prerender_handle->contents());
1146 EXPECT_EQ(origin, prerender_handle->contents()->origin());
1147 ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url));
1148 }
1136 } 1149 }
1137 1150
1138 TEST_F(PrerenderTest, LinkManagerCancel) { 1151 TEST_F(PrerenderTest, LinkManagerCancel) {
1139 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); 1152 EXPECT_TRUE(IsEmptyPrerenderLinkManager());
1140 GURL url("http://www.myexample.com"); 1153 GURL url("http://www.myexample.com");
1141 DummyPrerenderContents* prerender_contents = 1154 DummyPrerenderContents* prerender_contents =
1142 prerender_manager()->CreateNextPrerenderContents( 1155 prerender_manager()->CreateNextPrerenderContents(
1143 url, FINAL_STATUS_CANCELLED); 1156 url, FINAL_STATUS_CANCELLED);
1144 1157
1145 EXPECT_TRUE(AddSimplePrerender(url)); 1158 EXPECT_TRUE(AddSimplePrerender(url));
(...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after
1656 CHECK(prerender_handle.get()); 1669 CHECK(prerender_handle.get());
1657 EXPECT_TRUE(prerender_handle->IsPrerendering()); 1670 EXPECT_TRUE(prerender_handle->IsPrerendering());
1658 EXPECT_TRUE(prerender_contents->prerendering_has_started()); 1671 EXPECT_TRUE(prerender_contents->prerendering_has_started());
1659 EXPECT_EQ(prerender_contents, prerender_handle->contents()); 1672 EXPECT_EQ(prerender_contents, prerender_handle->contents());
1660 EXPECT_EQ(ORIGIN_INSTANT, prerender_handle->contents()->origin()); 1673 EXPECT_EQ(ORIGIN_INSTANT, prerender_handle->contents()->origin());
1661 ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); 1674 ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url));
1662 EXPECT_FALSE(prerender_handle->IsPrerendering()); 1675 EXPECT_FALSE(prerender_handle->IsPrerendering());
1663 } 1676 }
1664 1677
1665 } // namespace prerender 1678 } // namespace prerender
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698