| OLD | NEW |
| 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_LOADING_TEST_UTIL_H_ | 4 #ifndef CHROME_BROWSER_PREDICTORS_LOADING_TEST_UTIL_H_ |
| 5 #define CHROME_BROWSER_PREDICTORS_LOADING_TEST_UTIL_H_ | 5 #define CHROME_BROWSER_PREDICTORS_LOADING_TEST_UTIL_H_ |
| 6 | 6 |
| 7 #include <map> |
| 7 #include <memory> | 8 #include <memory> |
| 8 #include <set> | 9 #include <set> |
| 9 #include <string> | 10 #include <string> |
| 10 #include <vector> | 11 #include <vector> |
| 11 | 12 |
| 13 #include "chrome/browser/predictors/loading_data_collector.h" |
| 12 #include "chrome/browser/predictors/resource_prefetch_predictor.h" | 14 #include "chrome/browser/predictors/resource_prefetch_predictor.h" |
| 13 #include "chrome/browser/predictors/resource_prefetch_predictor_tables.h" | 15 #include "chrome/browser/predictors/resource_prefetch_predictor_tables.h" |
| 14 #include "components/sessions/core/session_id.h" | 16 #include "components/sessions/core/session_id.h" |
| 15 #include "net/url_request/url_request_context.h" | 17 #include "net/url_request/url_request_context.h" |
| 16 #include "net/url_request/url_request_job.h" | 18 #include "net/url_request/url_request_job.h" |
| 17 #include "net/url_request/url_request_job_factory.h" | 19 #include "net/url_request/url_request_job_factory.h" |
| 18 #include "net/url_request/url_request_test_util.h" | 20 #include "net/url_request/url_request_test_util.h" |
| 19 #include "testing/gmock/include/gmock/gmock.h" | 21 #include "testing/gmock/include/gmock/gmock.h" |
| 20 | 22 |
| 21 namespace predictors { | 23 namespace predictors { |
| 22 | 24 |
| 23 // Does nothing, controls which URLs are prefetchable. | 25 // Does nothing, controls which URLs are prefetchable. |
| 24 class MockResourcePrefetchPredictor : public ResourcePrefetchPredictor { | 26 class MockResourcePrefetchPredictor : public ResourcePrefetchPredictor { |
| 25 public: | 27 public: |
| 26 MockResourcePrefetchPredictor(const LoadingPredictorConfig& config, | 28 MockResourcePrefetchPredictor(const LoadingPredictorConfig& config, |
| 27 Profile* profile); | 29 Profile* profile); |
| 28 ~MockResourcePrefetchPredictor(); | 30 ~MockResourcePrefetchPredictor(); |
| 29 | 31 |
| 32 virtual void RecordPageRequestSummary( |
| 33 std::unique_ptr<PageRequestSummary> summary) { |
| 34 RecordPageRequestSummaryProxy(summary.get()); |
| 35 } |
| 36 |
| 30 MOCK_CONST_METHOD2(GetPrefetchData, | 37 MOCK_CONST_METHOD2(GetPrefetchData, |
| 31 bool(const GURL&, ResourcePrefetchPredictor::Prediction*)); | 38 bool(const GURL&, ResourcePrefetchPredictor::Prediction*)); |
| 32 MOCK_METHOD0(StartInitialization, void()); | 39 MOCK_METHOD0(StartInitialization, void()); |
| 33 MOCK_METHOD0(Shutdown, void()); | 40 MOCK_METHOD0(Shutdown, void()); |
| 34 MOCK_METHOD2(StartPrefetching, | 41 MOCK_METHOD2(StartPrefetching, |
| 35 void(const GURL&, const ResourcePrefetchPredictor::Prediction&)); | 42 void(const GURL&, const ResourcePrefetchPredictor::Prediction&)); |
| 36 MOCK_METHOD1(StopPrefeching, void(const GURL&)); | 43 MOCK_METHOD1(StopPrefeching, void(const GURL&)); |
| 44 MOCK_METHOD1(RecordPageRequestSummaryProxy, void(PageRequestSummary*)); |
| 37 }; | 45 }; |
| 38 | 46 |
| 39 void InitializeResourceData(ResourceData* resource, | 47 void InitializeResourceData(ResourceData* resource, |
| 40 const std::string& resource_url, | 48 const std::string& resource_url, |
| 41 content::ResourceType resource_type, | 49 content::ResourceType resource_type, |
| 42 int number_of_hits, | 50 int number_of_hits, |
| 43 int number_of_misses, | 51 int number_of_misses, |
| 44 int consecutive_misses, | 52 int consecutive_misses, |
| 45 double average_position, | 53 double average_position, |
| 46 net::RequestPriority priority, | 54 net::RequestPriority priority, |
| (...skipping 18 matching lines...) Expand all Loading... |
| 65 PrefetchData CreatePrefetchData(const std::string& primary_key, | 73 PrefetchData CreatePrefetchData(const std::string& primary_key, |
| 66 uint64_t last_visit_time = 0); | 74 uint64_t last_visit_time = 0); |
| 67 RedirectData CreateRedirectData(const std::string& primary_key, | 75 RedirectData CreateRedirectData(const std::string& primary_key, |
| 68 uint64_t last_visit_time = 0); | 76 uint64_t last_visit_time = 0); |
| 69 OriginData CreateOriginData(const std::string& host, | 77 OriginData CreateOriginData(const std::string& host, |
| 70 uint64_t last_visit_time = 0); | 78 uint64_t last_visit_time = 0); |
| 71 | 79 |
| 72 NavigationID CreateNavigationID(SessionID::id_type tab_id, | 80 NavigationID CreateNavigationID(SessionID::id_type tab_id, |
| 73 const std::string& main_frame_url); | 81 const std::string& main_frame_url); |
| 74 | 82 |
| 75 ResourcePrefetchPredictor::PageRequestSummary CreatePageRequestSummary( | 83 PageRequestSummary CreatePageRequestSummary( |
| 76 const std::string& main_frame_url, | 84 const std::string& main_frame_url, |
| 77 const std::string& initial_url, | 85 const std::string& initial_url, |
| 78 const std::vector<ResourcePrefetchPredictor::URLRequestSummary>& | 86 const std::vector<URLRequestSummary>& subresource_requests); |
| 79 subresource_requests); | |
| 80 | 87 |
| 81 ResourcePrefetchPredictor::URLRequestSummary CreateURLRequestSummary( | 88 URLRequestSummary CreateURLRequestSummary( |
| 82 SessionID::id_type tab_id, | 89 SessionID::id_type tab_id, |
| 83 const std::string& main_frame_url, | 90 const std::string& main_frame_url, |
| 84 const std::string& resource_url = std::string(), | 91 const std::string& resource_url = std::string(), |
| 85 content::ResourceType resource_type = content::RESOURCE_TYPE_MAIN_FRAME, | 92 content::ResourceType resource_type = content::RESOURCE_TYPE_MAIN_FRAME, |
| 86 net::RequestPriority priority = net::MEDIUM, | 93 net::RequestPriority priority = net::MEDIUM, |
| 87 const std::string& mime_type = std::string(), | 94 const std::string& mime_type = std::string(), |
| 88 bool was_cached = false, | 95 bool was_cached = false, |
| 89 const std::string& redirect_url = std::string(), | 96 const std::string& redirect_url = std::string(), |
| 90 bool has_validators = false, | 97 bool has_validators = false, |
| 91 bool always_revalidate = false); | 98 bool always_revalidate = false); |
| 92 | 99 |
| 100 URLRequestSummary CreateRedirectRequestSummary( |
| 101 SessionID::id_type session_id, |
| 102 const std::string& main_frame_url, |
| 103 const std::string& redirect_url); |
| 104 |
| 93 ResourcePrefetchPredictor::Prediction CreatePrediction( | 105 ResourcePrefetchPredictor::Prediction CreatePrediction( |
| 94 const std::string& main_frame_key, | 106 const std::string& main_frame_key, |
| 95 std::vector<GURL> subresource_urls); | 107 std::vector<GURL> subresource_urls); |
| 96 | 108 |
| 97 PreconnectPrediction CreatePreconnectPrediction( | 109 PreconnectPrediction CreatePreconnectPrediction( |
| 98 std::string host, | 110 std::string host, |
| 99 bool is_redirected, | 111 bool is_redirected, |
| 100 std::vector<GURL> preconnect_urls, | 112 std::vector<GURL> preconnect_urls, |
| 101 std::vector<GURL> preresolve_urls); | 113 std::vector<GURL> preresolve_urls); |
| 102 | 114 |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 const GURL& url, | 175 const GURL& url, |
| 164 net::RequestPriority priority, | 176 net::RequestPriority priority, |
| 165 content::ResourceType resource_type, | 177 content::ResourceType resource_type, |
| 166 bool is_main_frame); | 178 bool is_main_frame); |
| 167 | 179 |
| 168 // For printing failures nicely. | 180 // For printing failures nicely. |
| 169 std::ostream& operator<<(std::ostream& stream, const PrefetchData& data); | 181 std::ostream& operator<<(std::ostream& stream, const PrefetchData& data); |
| 170 std::ostream& operator<<(std::ostream& stream, const ResourceData& resource); | 182 std::ostream& operator<<(std::ostream& stream, const ResourceData& resource); |
| 171 std::ostream& operator<<(std::ostream& stream, const RedirectData& data); | 183 std::ostream& operator<<(std::ostream& stream, const RedirectData& data); |
| 172 std::ostream& operator<<(std::ostream& stream, const RedirectStat& redirect); | 184 std::ostream& operator<<(std::ostream& stream, const RedirectStat& redirect); |
| 173 std::ostream& operator<<( | 185 std::ostream& operator<<(std::ostream& stream, |
| 174 std::ostream& stream, | 186 const PageRequestSummary& summary); |
| 175 const ResourcePrefetchPredictor::PageRequestSummary& summary); | 187 std::ostream& operator<<(std::ostream& stream, |
| 176 std::ostream& operator<<( | 188 const URLRequestSummary& summary); |
| 177 std::ostream& stream, | |
| 178 const ResourcePrefetchPredictor::URLRequestSummary& summary); | |
| 179 std::ostream& operator<<(std::ostream& stream, const NavigationID& id); | 189 std::ostream& operator<<(std::ostream& stream, const NavigationID& id); |
| 180 | 190 |
| 181 std::ostream& operator<<(std::ostream& os, const OriginData& data); | 191 std::ostream& operator<<(std::ostream& os, const OriginData& data); |
| 182 std::ostream& operator<<(std::ostream& os, const OriginStat& redirect); | 192 std::ostream& operator<<(std::ostream& os, const OriginStat& redirect); |
| 183 std::ostream& operator<<(std::ostream& os, | 193 std::ostream& operator<<(std::ostream& os, |
| 184 const PreconnectPrediction& prediction); | 194 const PreconnectPrediction& prediction); |
| 185 | 195 |
| 186 bool operator==(const PrefetchData& lhs, const PrefetchData& rhs); | 196 bool operator==(const PrefetchData& lhs, const PrefetchData& rhs); |
| 187 bool operator==(const ResourceData& lhs, const ResourceData& rhs); | 197 bool operator==(const ResourceData& lhs, const ResourceData& rhs); |
| 188 bool operator==(const RedirectData& lhs, const RedirectData& rhs); | 198 bool operator==(const RedirectData& lhs, const RedirectData& rhs); |
| 189 bool operator==(const RedirectStat& lhs, const RedirectStat& rhs); | 199 bool operator==(const RedirectStat& lhs, const RedirectStat& rhs); |
| 190 bool operator==(const ResourcePrefetchPredictor::PageRequestSummary& lhs, | 200 bool operator==(const PageRequestSummary& lhs, const PageRequestSummary& rhs); |
| 191 const ResourcePrefetchPredictor::PageRequestSummary& rhs); | 201 bool operator==(const URLRequestSummary& lhs, const URLRequestSummary& rhs); |
| 192 bool operator==(const ResourcePrefetchPredictor::URLRequestSummary& lhs, | 202 bool operator==(const OriginRequestSummary& lhs, |
| 193 const ResourcePrefetchPredictor::URLRequestSummary& rhs); | 203 const OriginRequestSummary& rhs); |
| 194 bool operator==(const OriginData& lhs, const OriginData& rhs); | 204 bool operator==(const OriginData& lhs, const OriginData& rhs); |
| 195 bool operator==(const OriginStat& lhs, const OriginStat& rhs); | 205 bool operator==(const OriginStat& lhs, const OriginStat& rhs); |
| 196 bool operator==(const PreconnectPrediction& lhs, | 206 bool operator==(const PreconnectPrediction& lhs, |
| 197 const PreconnectPrediction& rhs); | 207 const PreconnectPrediction& rhs); |
| 198 | 208 |
| 199 } // namespace predictors | 209 } // namespace predictors |
| 200 | 210 |
| 201 #endif // CHROME_BROWSER_PREDICTORS_LOADING_TEST_UTIL_H_ | 211 #endif // CHROME_BROWSER_PREDICTORS_LOADING_TEST_UTIL_H_ |
| OLD | NEW |