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

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

Issue 2896713003: Create LoadingDataCollector class and have observers rely on it instead of ResourcePrefetchPredictor (Closed)
Patch Set: Reset MockURLRequestJobFactory 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/loading_test_util.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 #include <memory>
9
10 #include "content/public/browser/resource_request_info.h"
11 #include "net/http/http_response_headers.h"
12 #include "net/url_request/url_request_test_util.h"
8 13
9 namespace { 14 namespace {
10 15
16 predictors::EmptyURLRequestDelegate empty_url_request_delegate;
Benoit L 2017/06/07 12:01:05 nit: g_empty_url_request_delegate.
17
11 bool AlmostEqual(const double x, const double y) { 18 bool AlmostEqual(const double x, const double y) {
12 return std::fabs(x - y) <= 1e-6; // Arbitrary but close enough. 19 return std::fabs(x - y) <= 1e-6; // Arbitrary but close enough.
13 } 20 }
14 21
15 } // namespace 22 } // namespace
16 23
17 namespace predictors { 24 namespace predictors {
18 25
19 using URLRequestSummary = ResourcePrefetchPredictor::URLRequestSummary; 26 using URLRequestSummary = ResourcePrefetchPredictor::URLRequestSummary;
20 using PageRequestSummary = ResourcePrefetchPredictor::PageRequestSummary; 27 using PageRequestSummary = ResourcePrefetchPredictor::PageRequestSummary;
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 config->max_consecutive_misses = 2; 192 config->max_consecutive_misses = 2;
186 config->max_redirect_consecutive_misses = 2; 193 config->max_redirect_consecutive_misses = 2;
187 config->min_resource_confidence_to_trigger_prefetch = 0.5; 194 config->min_resource_confidence_to_trigger_prefetch = 0.5;
188 } 195 }
189 config->is_url_learning_enabled = true; 196 config->is_url_learning_enabled = true;
190 config->is_manifests_enabled = true; 197 config->is_manifests_enabled = true;
191 config->is_origin_learning_enabled = true; 198 config->is_origin_learning_enabled = true;
192 config->mode = LoadingPredictorConfig::LEARNING; 199 config->mode = LoadingPredictorConfig::LEARNING;
193 } 200 }
194 201
202 scoped_refptr<net::HttpResponseHeaders> MakeResponseHeaders(
203 const char* headers) {
204 return make_scoped_refptr(new net::HttpResponseHeaders(
205 net::HttpUtil::AssembleRawHeaders(headers, strlen(headers))));
206 }
207
208 MockURLRequestJob::MockURLRequestJob(net::URLRequest* request,
209 const net::HttpResponseInfo& response_info,
210 const std::string& mime_type)
211 : net::URLRequestJob(request, nullptr),
212 response_info_(response_info),
213 mime_type_(mime_type) {}
214
215 bool MockURLRequestJob::GetMimeType(std::string* mime_type) const {
216 *mime_type = mime_type_;
217 return true;
218 }
219
220 void MockURLRequestJob::Start() {
221 NotifyHeadersComplete();
222 }
223
224 void MockURLRequestJob::GetResponseInfo(net::HttpResponseInfo* info) {
225 *info = response_info_;
226 }
227
228 MockURLRequestJobFactory::MockURLRequestJobFactory() {}
229 MockURLRequestJobFactory::~MockURLRequestJobFactory() {}
230
231 void MockURLRequestJobFactory::Reset() {
232 response_info_ = net::HttpResponseInfo();
233 mime_type_ = std::string();
234 }
235
236 net::URLRequestJob* MockURLRequestJobFactory::MaybeCreateJobWithProtocolHandler(
237 const std::string& scheme,
238 net::URLRequest* request,
239 net::NetworkDelegate* network_delegate) const {
240 return new MockURLRequestJob(request, response_info_, mime_type_);
241 }
242
243 net::URLRequestJob* MockURLRequestJobFactory::MaybeInterceptRedirect(
244 net::URLRequest* request,
245 net::NetworkDelegate* network_delegate,
246 const GURL& location) const {
247 return nullptr;
248 }
249
250 net::URLRequestJob* MockURLRequestJobFactory::MaybeInterceptResponse(
251 net::URLRequest* request,
252 net::NetworkDelegate* network_delegate) const {
253 return nullptr;
254 }
255
256 bool MockURLRequestJobFactory::IsHandledProtocol(
257 const std::string& scheme) const {
258 return true;
259 }
260
261 bool MockURLRequestJobFactory::IsSafeRedirectTarget(
262 const GURL& location) const {
263 return true;
264 }
265
266 std::unique_ptr<net::URLRequest> CreateURLRequest(
267 const net::TestURLRequestContext& url_request_context,
268 const GURL& url,
269 net::RequestPriority priority,
270 content::ResourceType resource_type,
271 bool is_main_frame) {
272 std::unique_ptr<net::URLRequest> request = url_request_context.CreateRequest(
273 url, priority, &empty_url_request_delegate);
274 request->set_first_party_for_cookies(url);
275 content::ResourceRequestInfo::AllocateForTesting(
276 request.get(), resource_type, nullptr, -1, -1, -1, is_main_frame, false,
277 false, true, content::PREVIEWS_OFF);
278 request->Start();
279 return request;
280 }
281
195 std::ostream& operator<<(std::ostream& os, const PrefetchData& data) { 282 std::ostream& operator<<(std::ostream& os, const PrefetchData& data) {
196 os << "[" << data.primary_key() << "," << data.last_visit_time() << "]" 283 os << "[" << data.primary_key() << "," << data.last_visit_time() << "]"
197 << std::endl; 284 << std::endl;
198 for (const ResourceData& resource : data.resources()) 285 for (const ResourceData& resource : data.resources())
199 os << "\t\t" << resource << std::endl; 286 os << "\t\t" << resource << std::endl;
200 return os; 287 return os;
201 } 288 }
202 289
203 std::ostream& operator<<(std::ostream& os, const ResourceData& resource) { 290 std::ostream& operator<<(std::ostream& os, const ResourceData& resource) {
204 return os << "[" << resource.resource_url() << "," << resource.resource_type() 291 return os << "[" << resource.resource_url() << "," << resource.resource_type()
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 464
378 return equal; 465 return equal;
379 } 466 }
380 467
381 bool operator==(const PrecacheResource& lhs, const PrecacheResource& rhs) { 468 bool operator==(const PrecacheResource& lhs, const PrecacheResource& rhs) {
382 return lhs.url() == rhs.url() && 469 return lhs.url() == rhs.url() &&
383 AlmostEqual(lhs.weight_ratio(), rhs.weight_ratio()); 470 AlmostEqual(lhs.weight_ratio(), rhs.weight_ratio());
384 } 471 }
385 472
386 } // namespace precache 473 } // namespace precache
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698