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

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

Issue 2937623007: predictors: Move more methods from ResourcePrefetchPredictor into LoadingDataCollector. (Closed)
Patch Set: Tests migrated into LoadingDataCollectorTest 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..7c1cbcdf9c19f10020aa1dc10982bba6505e8933 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";
+ 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
+ : 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(),
@@ -174,12 +248,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 +261,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