Chromium Code Reviews| Index: chrome/browser/predictors/loading_test_util.h |
| diff --git a/chrome/browser/predictors/loading_test_util.h b/chrome/browser/predictors/loading_test_util.h |
| index 2d6e1715769d23d13487450cb2ab8af8f8d9addd..2229c641aee7f4606aba8d3714b831e7b5bbd517 100644 |
| --- a/chrome/browser/predictors/loading_test_util.h |
| +++ b/chrome/browser/predictors/loading_test_util.h |
| @@ -4,11 +4,13 @@ |
| #ifndef CHROME_BROWSER_PREDICTORS_LOADING_TEST_UTIL_H_ |
| #define CHROME_BROWSER_PREDICTORS_LOADING_TEST_UTIL_H_ |
| +#include <map> |
| #include <memory> |
| #include <set> |
| #include <string> |
| #include <vector> |
| +#include "chrome/browser/predictors/loading_data_collector.h" |
| #include "chrome/browser/predictors/resource_prefetch_predictor.h" |
| #include "chrome/browser/predictors/resource_prefetch_predictor_tables.h" |
| #include "components/sessions/core/session_id.h" |
| @@ -27,6 +29,12 @@ class MockResourcePrefetchPredictor : public ResourcePrefetchPredictor { |
| Profile* profile); |
| ~MockResourcePrefetchPredictor(); |
| + virtual void RecordPageRequestSummary( |
| + std::unique_ptr<PageRequestSummary> summary) { |
| + LOG(WARNING) << "RecordPageRequestSummary"; |
|
alexilin
2017/06/22 19:39:05
ditto
trevordixon
2017/06/27 21:28:55
Done.
|
| + RecordPageRequestSummaryProxy(summary.get()); |
| + } |
| + |
| MOCK_CONST_METHOD2(GetPrefetchData, |
| bool(const GURL&, ResourcePrefetchPredictor::Prediction*)); |
| MOCK_METHOD0(StartInitialization, void()); |
| @@ -34,6 +42,73 @@ class MockResourcePrefetchPredictor : public ResourcePrefetchPredictor { |
| MOCK_METHOD2(StartPrefetching, |
| void(const GURL&, const ResourcePrefetchPredictor::Prediction&)); |
| MOCK_METHOD1(StopPrefeching, void(const GURL&)); |
| + MOCK_METHOD1(RecordPageRequestSummaryProxy, void(PageRequestSummary*)); |
| +}; |
| + |
| +template <typename T> |
| +class FakeGlowplugKeyValueTable : public GlowplugKeyValueTable<T> { |
| + public: |
| + FakeGlowplugKeyValueTable() : GlowplugKeyValueTable<T>("") {} |
| + void GetAllData(std::map<std::string, T>* data_map, |
| + sql::Connection* db) const override { |
| + *data_map = data_; |
| + } |
| + void UpdateData(const std::string& key, |
| + const T& data, |
| + sql::Connection* db) override { |
| + data_[key] = data; |
| + } |
| + void DeleteData(const std::vector<std::string>& keys, |
| + sql::Connection* db) override { |
| + for (const auto& key : keys) |
| + data_.erase(key); |
| + } |
| + void DeleteAllData(sql::Connection* db) override { data_.clear(); } |
| + |
| + std::map<std::string, T> data_; |
| +}; |
| + |
| +class MockResourcePrefetchPredictorTables |
|
alexilin
2017/06/22 19:39:05
Why did you move it here? As I can see ResourcePre
trevordixon
2017/06/27 21:28:55
You're right, moved back.
|
| + : public ResourcePrefetchPredictorTables { |
| + public: |
| + MockResourcePrefetchPredictorTables(); |
| + |
| + void ScheduleDBTask(const tracked_objects::Location& from_here, |
| + DBTask task) override; |
| + |
| + void ExecuteDBTaskOnDBThread(DBTask task) override; |
| + |
| + GlowplugKeyValueTable<PrefetchData>* url_resource_table() override; |
| + |
| + GlowplugKeyValueTable<RedirectData>* url_redirect_table() override; |
| + |
| + GlowplugKeyValueTable<PrefetchData>* host_resource_table() override; |
| + |
| + GlowplugKeyValueTable<RedirectData>* host_redirect_table() override; |
| + |
| + GlowplugKeyValueTable<precache::PrecacheManifest>* manifest_table() override; |
| + |
| + GlowplugKeyValueTable<OriginData>* origin_table() override; |
| + |
| + FakeGlowplugKeyValueTable<PrefetchData> url_resource_table_; |
| + FakeGlowplugKeyValueTable<RedirectData> url_redirect_table_; |
| + FakeGlowplugKeyValueTable<PrefetchData> host_resource_table_; |
| + FakeGlowplugKeyValueTable<RedirectData> host_redirect_table_; |
| + FakeGlowplugKeyValueTable<precache::PrecacheManifest> manifest_table_; |
| + FakeGlowplugKeyValueTable<OriginData> origin_table_; |
| + |
| + protected: |
| + ~MockResourcePrefetchPredictorTables() override; |
| +}; |
| + |
| +class MockResourcePrefetchPredictorObserver : public TestObserver { |
| + public: |
| + explicit MockResourcePrefetchPredictorObserver( |
| + ResourcePrefetchPredictor* predictor); |
| + ~MockResourcePrefetchPredictorObserver(); |
| + |
| + MOCK_METHOD2(OnNavigationLearned, |
| + void(size_t url_visit_count, const PageRequestSummary& summary)); |
| }; |
| void InitializeResourceData(ResourceData* resource, |
| @@ -82,13 +157,12 @@ OriginData CreateOriginData(const std::string& host, |
| NavigationID CreateNavigationID(SessionID::id_type tab_id, |
| const std::string& main_frame_url); |
| -ResourcePrefetchPredictor::PageRequestSummary CreatePageRequestSummary( |
| +PageRequestSummary CreatePageRequestSummary( |
| const std::string& main_frame_url, |
| const std::string& initial_url, |
| - const std::vector<ResourcePrefetchPredictor::URLRequestSummary>& |
| - subresource_requests); |
| + const std::vector<URLRequestSummary>& subresource_requests); |
| -ResourcePrefetchPredictor::URLRequestSummary CreateURLRequestSummary( |
| +URLRequestSummary CreateURLRequestSummary( |
| SessionID::id_type tab_id, |
| const std::string& main_frame_url, |
| const std::string& resource_url = std::string(), |
| @@ -100,6 +174,11 @@ ResourcePrefetchPredictor::URLRequestSummary CreateURLRequestSummary( |
| bool has_validators = false, |
| bool always_revalidate = false); |
| +URLRequestSummary CreateRedirectRequestSummary( |
| + SessionID::id_type session_id, |
| + const std::string& main_frame_url, |
| + const std::string& redirect_url); |
| + |
| ResourcePrefetchPredictor::Prediction CreatePrediction( |
| const std::string& main_frame_key, |
| std::vector<GURL> subresource_urls); |
| @@ -174,12 +253,10 @@ std::ostream& operator<<(std::ostream& stream, const PrefetchData& data); |
| std::ostream& operator<<(std::ostream& stream, const ResourceData& resource); |
| std::ostream& operator<<(std::ostream& stream, const RedirectData& data); |
| std::ostream& operator<<(std::ostream& stream, const RedirectStat& redirect); |
| -std::ostream& operator<<( |
| - std::ostream& stream, |
| - const ResourcePrefetchPredictor::PageRequestSummary& summary); |
| -std::ostream& operator<<( |
| - std::ostream& stream, |
| - const ResourcePrefetchPredictor::URLRequestSummary& summary); |
| +std::ostream& operator<<(std::ostream& stream, |
| + const PageRequestSummary& summary); |
| +std::ostream& operator<<(std::ostream& stream, |
| + const URLRequestSummary& summary); |
| std::ostream& operator<<(std::ostream& stream, const NavigationID& id); |
| std::ostream& operator<<(std::ostream& os, const OriginData& data); |
| @@ -189,10 +266,8 @@ bool operator==(const PrefetchData& lhs, const PrefetchData& rhs); |
| bool operator==(const ResourceData& lhs, const ResourceData& rhs); |
| bool operator==(const RedirectData& lhs, const RedirectData& rhs); |
| bool operator==(const RedirectStat& lhs, const RedirectStat& rhs); |
| -bool operator==(const ResourcePrefetchPredictor::PageRequestSummary& lhs, |
| - const ResourcePrefetchPredictor::PageRequestSummary& rhs); |
| -bool operator==(const ResourcePrefetchPredictor::URLRequestSummary& lhs, |
| - const ResourcePrefetchPredictor::URLRequestSummary& rhs); |
| +bool operator==(const PageRequestSummary& lhs, const PageRequestSummary& rhs); |
| +bool operator==(const URLRequestSummary& lhs, const URLRequestSummary& rhs); |
| bool operator==(const OriginData& lhs, const OriginData& rhs); |
| bool operator==(const OriginStat& lhs, const OriginStat& rhs); |