OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <memory> | 5 #include <memory> |
6 #include <string> | 6 #include <string> |
7 | 7 |
8 #include "base/command_line.h" | |
9 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
10 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
11 #include "chrome/browser/net/prediction_options.h" | 10 #include "chrome/browser/net/prediction_options.h" |
12 #include "chrome/browser/predictors/resource_prefetch_common.h" | 11 #include "chrome/browser/predictors/resource_prefetch_common.h" |
13 #include "chrome/browser/predictors/resource_prefetch_predictor.h" | 12 #include "chrome/browser/predictors/resource_prefetch_predictor.h" |
14 #include "chrome/browser/profiles/profile.h" | 13 #include "chrome/browser/profiles/profile.h" |
15 #include "chrome/common/pref_names.h" | 14 #include "chrome/common/pref_names.h" |
16 #include "chrome/test/base/testing_profile.h" | 15 #include "chrome/test/base/testing_profile.h" |
17 #include "components/prefs/pref_service.h" | 16 #include "components/prefs/pref_service.h" |
18 #include "components/variations/variations_params_manager.h" | 17 #include "components/variations/variations_params_manager.h" |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
85 profile_(new TestingProfile()) { } | 84 profile_(new TestingProfile()) { } |
86 | 85 |
87 TEST_F(ResourcePrefetchCommonTest, IsDisabledByDefault) { | 86 TEST_F(ResourcePrefetchCommonTest, IsDisabledByDefault) { |
88 ResourcePrefetchPredictorConfig config; | 87 ResourcePrefetchPredictorConfig config; |
89 EXPECT_FALSE( | 88 EXPECT_FALSE( |
90 IsSpeculativeResourcePrefetchingEnabled(profile_.get(), &config)); | 89 IsSpeculativeResourcePrefetchingEnabled(profile_.get(), &config)); |
91 | 90 |
92 EXPECT_FALSE(config.IsLearningEnabled()); | 91 EXPECT_FALSE(config.IsLearningEnabled()); |
93 EXPECT_FALSE(config.IsPrefetchingEnabledForOrigin(profile_.get(), | 92 EXPECT_FALSE(config.IsPrefetchingEnabledForOrigin(profile_.get(), |
94 PrefetchOrigin::EXTERNAL)); | 93 PrefetchOrigin::EXTERNAL)); |
95 EXPECT_FALSE(config.IsLearningEnabled()); | 94 EXPECT_FALSE(config.IsPrefetchingEnabledForOrigin( |
alexilin
2017/03/01 12:57:57
Second check of the same thing. Looks like a bug.
| |
95 profile_.get(), PrefetchOrigin::NAVIGATION)); | |
96 | 96 |
97 TestIsDefaultExtraConfig(config); | 97 TestIsDefaultExtraConfig(config); |
98 } | 98 } |
99 | 99 |
100 TEST_F(ResourcePrefetchCommonTest, EnableLearning) { | 100 TEST_F(ResourcePrefetchCommonTest, EnableLearning) { |
101 variations::testing::VariationParamsManager params_manager( | 101 variations::testing::VariationParamsManager params_manager( |
102 "dummy-trial", {{kModeParamName, kLearningMode}}, | 102 "dummy-trial", {{kModeParamName, kLearningMode}}, |
103 {kSpeculativeResourcePrefetchingFeatureName}); | 103 {kSpeculativeResourcePrefetchingFeatureName}); |
104 | 104 |
105 ResourcePrefetchPredictorConfig config; | 105 ResourcePrefetchPredictorConfig config; |
(...skipping 20 matching lines...) Expand all Loading... | |
126 {kSpeculativeResourcePrefetchingFeatureName}); | 126 {kSpeculativeResourcePrefetchingFeatureName}); |
127 | 127 |
128 ResourcePrefetchPredictorConfig config; | 128 ResourcePrefetchPredictorConfig config; |
129 EXPECT_TRUE(IsSpeculativeResourcePrefetchingEnabled(profile_.get(), &config)); | 129 EXPECT_TRUE(IsSpeculativeResourcePrefetchingEnabled(profile_.get(), &config)); |
130 TestIsPrefetchEnabledForOrigin(config, PrefetchOrigin::EXTERNAL); | 130 TestIsPrefetchEnabledForOrigin(config, PrefetchOrigin::EXTERNAL); |
131 EXPECT_FALSE(config.IsPrefetchingEnabledForOrigin( | 131 EXPECT_FALSE(config.IsPrefetchingEnabledForOrigin( |
132 profile_.get(), PrefetchOrigin::NAVIGATION)); | 132 profile_.get(), PrefetchOrigin::NAVIGATION)); |
133 TestIsDefaultExtraConfig(config); | 133 TestIsDefaultExtraConfig(config); |
134 } | 134 } |
135 | 135 |
136 TEST_F(ResourcePrefetchCommonTest, EnableUrlLearning) { | |
137 variations::testing::VariationParamsManager params_manager( | |
138 "dummy-trial", | |
139 {{kModeParamName, kLearningMode}, {kKeyTypeParamName, kUrlKeyType}}, | |
140 {kSpeculativeResourcePrefetchingFeatureName}); | |
141 | |
142 ResourcePrefetchPredictorConfig config; | |
143 EXPECT_TRUE(IsSpeculativeResourcePrefetchingEnabled(profile_.get(), &config)); | |
144 TestIsPrefetchLearning(config); | |
145 EXPECT_TRUE(config.IsURLLearningEnabled()); | |
146 EXPECT_FALSE(config.IsHostLearningEnabled()); | |
147 TestIsDefaultExtraConfig(config); | |
148 } | |
149 | |
150 TEST_F(ResourcePrefetchCommonTest, EnableHostLearning) { | |
151 variations::testing::VariationParamsManager params_manager( | |
152 "dummy-trial", | |
153 {{kModeParamName, kLearningMode}, {kKeyTypeParamName, kHostKeyType}}, | |
154 {kSpeculativeResourcePrefetchingFeatureName}); | |
155 | |
156 ResourcePrefetchPredictorConfig config; | |
157 EXPECT_TRUE(IsSpeculativeResourcePrefetchingEnabled(profile_.get(), &config)); | |
158 TestIsPrefetchLearning(config); | |
159 EXPECT_FALSE(config.IsURLLearningEnabled()); | |
160 EXPECT_TRUE(config.IsHostLearningEnabled()); | |
161 TestIsDefaultExtraConfig(config); | |
162 } | |
163 | |
164 TEST_F(ResourcePrefetchCommonTest, EnableBothLearning) { | |
165 variations::testing::VariationParamsManager params_manager( | |
166 "dummy-trial", | |
167 {{kModeParamName, kLearningMode}, {kKeyTypeParamName, kBothKeyType}}, | |
168 {kSpeculativeResourcePrefetchingFeatureName}); | |
169 | |
170 ResourcePrefetchPredictorConfig config; | |
171 EXPECT_TRUE(IsSpeculativeResourcePrefetchingEnabled(profile_.get(), &config)); | |
172 TestIsPrefetchLearning(config); | |
173 EXPECT_TRUE(config.IsURLLearningEnabled()); | |
174 EXPECT_TRUE(config.IsHostLearningEnabled()); | |
175 TestIsDefaultExtraConfig(config); | |
176 } | |
177 | |
136 // Verifies whether prefetching is disabled according to the network type. But | 178 // Verifies whether prefetching is disabled according to the network type. But |
137 // learning should not be disabled by network. | 179 // learning should not be disabled by network. |
138 TEST_F(ResourcePrefetchCommonTest, RespectsNetworkSettings) { | 180 TEST_F(ResourcePrefetchCommonTest, RespectsNetworkSettings) { |
139 variations::testing::VariationParamsManager params_manager( | 181 variations::testing::VariationParamsManager params_manager( |
140 "dummy-trial", {{kModeParamName, kPrefetchingMode}}, | 182 "dummy-trial", {{kModeParamName, kPrefetchingMode}}, |
141 {kSpeculativeResourcePrefetchingFeatureName}); | 183 {kSpeculativeResourcePrefetchingFeatureName}); |
142 | 184 |
143 ResourcePrefetchPredictorConfig config; | 185 ResourcePrefetchPredictorConfig config; |
144 EXPECT_TRUE(IsSpeculativeResourcePrefetchingEnabled(profile_.get(), &config)); | 186 EXPECT_TRUE(IsSpeculativeResourcePrefetchingEnabled(profile_.get(), &config)); |
145 TestIsPrefetchEnabledForOrigin(config, PrefetchOrigin::EXTERNAL); | 187 TestIsPrefetchEnabledForOrigin(config, PrefetchOrigin::EXTERNAL); |
(...skipping 20 matching lines...) Expand all Loading... | |
166 TestIsPrefetchLearning(config); | 208 TestIsPrefetchLearning(config); |
167 } | 209 } |
168 { | 210 { |
169 std::unique_ptr<NetworkChangeNotifier> mock( | 211 std::unique_ptr<NetworkChangeNotifier> mock( |
170 new MockNetworkChangeNotifier4G); | 212 new MockNetworkChangeNotifier4G); |
171 TestIsPrefetchLearning(config); | 213 TestIsPrefetchLearning(config); |
172 } | 214 } |
173 } | 215 } |
174 | 216 |
175 } // namespace predictors | 217 } // namespace predictors |
OLD | NEW |