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

Unified Diff: chrome/browser/predictors/loading_test_util.h

Issue 2937623007: predictors: Move more methods from ResourcePrefetchPredictor into LoadingDataCollector. (Closed)
Patch Set: Undo unneeded added mock class. 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 side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698