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

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

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 #ifndef CHROME_BROWSER_PREDICTORS_RESOURCE_PREFETCH_PREDICTOR_TEST_UTIL_H_ 4 #ifndef CHROME_BROWSER_PREDICTORS_RESOURCE_PREFETCH_PREDICTOR_TEST_UTIL_H_
5 #define CHROME_BROWSER_PREDICTORS_RESOURCE_PREFETCH_PREDICTOR_TEST_UTIL_H_ 5 #define CHROME_BROWSER_PREDICTORS_RESOURCE_PREFETCH_PREDICTOR_TEST_UTIL_H_
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "chrome/browser/predictors/resource_prefetch_predictor.h" 10 #include "chrome/browser/predictors/resource_prefetch_predictor.h"
11 #include "chrome/browser/predictors/resource_prefetch_predictor_tables.h" 11 #include "chrome/browser/predictors/resource_prefetch_predictor_tables.h"
12 #include "components/sessions/core/session_id.h" 12 #include "components/sessions/core/session_id.h"
13 #include "net/url_request/url_request_context.h"
14 #include "net/url_request/url_request_job.h"
15 #include "net/url_request/url_request_job_factory.h"
13 16
14 namespace predictors { 17 namespace predictors {
15 18
16 void InitializeResourceData(ResourceData* resource, 19 void InitializeResourceData(ResourceData* resource,
17 const std::string& resource_url, 20 const std::string& resource_url,
18 content::ResourceType resource_type, 21 content::ResourceType resource_type,
19 int number_of_hits, 22 int number_of_hits,
20 int number_of_misses, 23 int number_of_misses,
21 int consecutive_misses, 24 int consecutive_misses,
22 double average_position, 25 double average_position,
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 content::ResourceType resource_type = content::RESOURCE_TYPE_MAIN_FRAME, 75 content::ResourceType resource_type = content::RESOURCE_TYPE_MAIN_FRAME,
73 net::RequestPriority priority = net::MEDIUM, 76 net::RequestPriority priority = net::MEDIUM,
74 const std::string& mime_type = std::string(), 77 const std::string& mime_type = std::string(),
75 bool was_cached = false, 78 bool was_cached = false,
76 const std::string& redirect_url = std::string(), 79 const std::string& redirect_url = std::string(),
77 bool has_validators = false, 80 bool has_validators = false,
78 bool always_revalidate = false); 81 bool always_revalidate = false);
79 82
80 void PopulateTestConfig(LoadingPredictorConfig* config, bool small_db = true); 83 void PopulateTestConfig(LoadingPredictorConfig* config, bool small_db = true);
81 84
85 scoped_refptr<net::HttpResponseHeaders> MakeResponseHeaders(
86 const char* headers);
87
88 class MockURLRequestJob : public net::URLRequestJob {
89 public:
90 MockURLRequestJob(net::URLRequest* request,
91 const net::HttpResponseInfo& response_info,
92 const std::string& mime_type);
93
94 bool GetMimeType(std::string* mime_type) const override;
95
96 protected:
97 void Start() override;
98 void GetResponseInfo(net::HttpResponseInfo* info) override;
99
100 private:
101 net::HttpResponseInfo response_info_;
102 std::string mime_type_;
103 };
104
105 class MockURLRequestJobFactory : public net::URLRequestJobFactory {
106 public:
107 MockURLRequestJobFactory();
108 ~MockURLRequestJobFactory() override;
109
110 net::URLRequestJob* MaybeCreateJobWithProtocolHandler(
111 const std::string& scheme,
112 net::URLRequest* request,
113 net::NetworkDelegate* network_delegate) const override;
114
115 net::URLRequestJob* MaybeInterceptRedirect(
116 net::URLRequest* request,
117 net::NetworkDelegate* network_delegate,
118 const GURL& location) const override;
119
120 net::URLRequestJob* MaybeInterceptResponse(
121 net::URLRequest* request,
122 net::NetworkDelegate* network_delegate) const override;
123
124 bool IsHandledProtocol(const std::string& scheme) const override;
125
126 bool IsSafeRedirectTarget(const GURL& location) const override;
127
128 void set_response_info(const net::HttpResponseInfo& response_info);
Benoit L 2017/06/02 12:44:00 nit: you can inline trivial setters.
trevordixon 2017/06/06 13:08:04 Done.
129
130 void set_mime_type(const std::string& mime_type);
131
132 private:
133 net::HttpResponseInfo response_info_;
134 std::string mime_type_;
135 };
136
82 // For printing failures nicely. 137 // For printing failures nicely.
83 std::ostream& operator<<(std::ostream& stream, const PrefetchData& data); 138 std::ostream& operator<<(std::ostream& stream, const PrefetchData& data);
84 std::ostream& operator<<(std::ostream& stream, const ResourceData& resource); 139 std::ostream& operator<<(std::ostream& stream, const ResourceData& resource);
85 std::ostream& operator<<(std::ostream& stream, const RedirectData& data); 140 std::ostream& operator<<(std::ostream& stream, const RedirectData& data);
86 std::ostream& operator<<(std::ostream& stream, const RedirectStat& redirect); 141 std::ostream& operator<<(std::ostream& stream, const RedirectStat& redirect);
87 std::ostream& operator<<( 142 std::ostream& operator<<(
88 std::ostream& stream, 143 std::ostream& stream,
89 const ResourcePrefetchPredictor::PageRequestSummary& summary); 144 const ResourcePrefetchPredictor::PageRequestSummary& summary);
90 std::ostream& operator<<( 145 std::ostream& operator<<(
91 std::ostream& stream, 146 std::ostream& stream,
(...skipping 22 matching lines...) Expand all
114 const PrecacheManifest& manifest); 169 const PrecacheManifest& manifest);
115 std::ostream& operator<<(std::ostream& stream, 170 std::ostream& operator<<(std::ostream& stream,
116 const PrecacheResource& resource); 171 const PrecacheResource& resource);
117 172
118 bool operator==(const PrecacheManifest& lhs, const PrecacheManifest& rhs); 173 bool operator==(const PrecacheManifest& lhs, const PrecacheManifest& rhs);
119 bool operator==(const PrecacheResource& lhs, const PrecacheResource& rhs); 174 bool operator==(const PrecacheResource& lhs, const PrecacheResource& rhs);
120 175
121 } // namespace precache 176 } // namespace precache
122 177
123 #endif // CHROME_BROWSER_PREDICTORS_RESOURCE_PREFETCH_PREDICTOR_TEST_UTIL_H_ 178 #endif // CHROME_BROWSER_PREDICTORS_RESOURCE_PREFETCH_PREDICTOR_TEST_UTIL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698