| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |