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

Side by Side Diff: chrome/browser/predictors/resource_prefetch_predictor_test_util.cc

Issue 2896713003: Create LoadingDataCollector class and have observers rely on it instead of ResourcePrefetchPredictor (Closed)
Patch Set: Tests + rebase Created 3 years, 6 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "chrome/browser/predictors/resource_prefetch_predictor_test_util.h" 5 #include "chrome/browser/predictors/resource_prefetch_predictor_test_util.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 #include "net/http/http_response_headers.h"
8 9
9 namespace { 10 namespace {
10 11
11 bool AlmostEqual(const double x, const double y) { 12 bool AlmostEqual(const double x, const double y) {
12 return std::fabs(x - y) <= 1e-6; // Arbitrary but close enough. 13 return std::fabs(x - y) <= 1e-6; // Arbitrary but close enough.
13 } 14 }
14 15
15 } // namespace 16 } // namespace
16 17
17 namespace predictors { 18 namespace predictors {
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 config->max_consecutive_misses = 2; 186 config->max_consecutive_misses = 2;
186 config->max_redirect_consecutive_misses = 2; 187 config->max_redirect_consecutive_misses = 2;
187 config->min_resource_confidence_to_trigger_prefetch = 0.5; 188 config->min_resource_confidence_to_trigger_prefetch = 0.5;
188 } 189 }
189 config->is_url_learning_enabled = true; 190 config->is_url_learning_enabled = true;
190 config->is_manifests_enabled = true; 191 config->is_manifests_enabled = true;
191 config->is_origin_learning_enabled = true; 192 config->is_origin_learning_enabled = true;
192 config->mode = LoadingPredictorConfig::LEARNING; 193 config->mode = LoadingPredictorConfig::LEARNING;
193 } 194 }
194 195
196 scoped_refptr<net::HttpResponseHeaders> MakeResponseHeaders(
197 const char* headers) {
198 return make_scoped_refptr(new net::HttpResponseHeaders(
199 net::HttpUtil::AssembleRawHeaders(headers, strlen(headers))));
200 }
201
202 MockURLRequestJob::MockURLRequestJob(net::URLRequest* request,
203 const net::HttpResponseInfo& response_info,
204 const std::string& mime_type)
205 : net::URLRequestJob(request, nullptr),
206 response_info_(response_info),
207 mime_type_(mime_type) {}
208
209 bool MockURLRequestJob::GetMimeType(std::string* mime_type) const {
210 *mime_type = mime_type_;
211 return true;
212 }
213
214 void MockURLRequestJob::Start() {
215 NotifyHeadersComplete();
216 }
217 void MockURLRequestJob::GetResponseInfo(net::HttpResponseInfo* info) {
218 *info = response_info_;
219 }
220
221 MockURLRequestJobFactory::MockURLRequestJobFactory() {}
222 MockURLRequestJobFactory::~MockURLRequestJobFactory() {}
223
224 net::URLRequestJob* MockURLRequestJobFactory::MaybeCreateJobWithProtocolHandler(
225 const std::string& scheme,
226 net::URLRequest* request,
227 net::NetworkDelegate* network_delegate) const {
228 return new MockURLRequestJob(request, response_info_, mime_type_);
229 }
230
231 net::URLRequestJob* MockURLRequestJobFactory::MaybeInterceptRedirect(
232 net::URLRequest* request,
233 net::NetworkDelegate* network_delegate,
234 const GURL& location) const {
235 return nullptr;
236 }
237
238 net::URLRequestJob* MockURLRequestJobFactory::MaybeInterceptResponse(
239 net::URLRequest* request,
240 net::NetworkDelegate* network_delegate) const {
241 return nullptr;
242 }
243
244 bool MockURLRequestJobFactory::IsHandledProtocol(
245 const std::string& scheme) const {
246 return true;
247 }
248
249 bool MockURLRequestJobFactory::IsSafeRedirectTarget(
250 const GURL& location) const {
251 return true;
252 }
253
254 void MockURLRequestJobFactory::set_response_info(
255 const net::HttpResponseInfo& response_info) {
256 response_info_ = response_info;
257 }
258
259 void MockURLRequestJobFactory::set_mime_type(const std::string& mime_type) {
260 mime_type_ = mime_type;
261 }
262
195 std::ostream& operator<<(std::ostream& os, const PrefetchData& data) { 263 std::ostream& operator<<(std::ostream& os, const PrefetchData& data) {
196 os << "[" << data.primary_key() << "," << data.last_visit_time() << "]" 264 os << "[" << data.primary_key() << "," << data.last_visit_time() << "]"
197 << std::endl; 265 << std::endl;
198 for (const ResourceData& resource : data.resources()) 266 for (const ResourceData& resource : data.resources())
199 os << "\t\t" << resource << std::endl; 267 os << "\t\t" << resource << std::endl;
200 return os; 268 return os;
201 } 269 }
202 270
203 std::ostream& operator<<(std::ostream& os, const ResourceData& resource) { 271 std::ostream& operator<<(std::ostream& os, const ResourceData& resource) {
204 return os << "[" << resource.resource_url() << "," << resource.resource_type() 272 return os << "[" << resource.resource_url() << "," << resource.resource_type()
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 445
378 return equal; 446 return equal;
379 } 447 }
380 448
381 bool operator==(const PrecacheResource& lhs, const PrecacheResource& rhs) { 449 bool operator==(const PrecacheResource& lhs, const PrecacheResource& rhs) {
382 return lhs.url() == rhs.url() && 450 return lhs.url() == rhs.url() &&
383 AlmostEqual(lhs.weight_ratio(), rhs.weight_ratio()); 451 AlmostEqual(lhs.weight_ratio(), rhs.weight_ratio());
384 } 452 }
385 453
386 } // namespace precache 454 } // namespace precache
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698