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

Unified Diff: chrome/browser/predictors/predictor_database.cc

Issue 462423004: Revert CL 117933003. Re-add resource speculative prefetching code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase to fix patch failure Created 6 years, 3 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/predictor_database.cc
diff --git a/chrome/browser/predictors/predictor_database.cc b/chrome/browser/predictors/predictor_database.cc
index eb2bf5cda43a289e2931e9f17f2d574715e6e3b8..9f8460a100f6c0c118ccf810589c75dbae2c2bac 100644
--- a/chrome/browser/predictors/predictor_database.cc
+++ b/chrome/browser/predictors/predictor_database.cc
@@ -12,6 +12,8 @@
#include "base/strings/stringprintf.h"
#include "chrome/browser/predictors/autocomplete_action_predictor_table.h"
#include "chrome/browser/predictors/logged_in_predictor_table.h"
+#include "chrome/browser/predictors/resource_prefetch_predictor.h"
+#include "chrome/browser/predictors/resource_prefetch_predictor_tables.h"
#include "chrome/browser/prerender/prerender_field_trial.h"
#include "chrome/browser/profiles/profile.h"
#include "content/public/browser/browser_thread.h"
@@ -50,6 +52,7 @@ class PredictorDatabaseInternal
// Cancels pending DB transactions. Should only be called on the UI thread.
void SetCancelled();
+ bool is_resource_prefetch_predictor_enabled_;
base::FilePath db_path_;
scoped_ptr<sql::Connection> db_;
@@ -57,6 +60,7 @@ class PredictorDatabaseInternal
// to using a WeakPtr instead.
scoped_refptr<AutocompleteActionPredictorTable> autocomplete_table_;
scoped_refptr<LoggedInPredictorTable> logged_in_table_;
+ scoped_refptr<ResourcePrefetchPredictorTables> resource_prefetch_tables_;
DISALLOW_COPY_AND_ASSIGN(PredictorDatabaseInternal);
};
@@ -66,8 +70,12 @@ PredictorDatabaseInternal::PredictorDatabaseInternal(Profile* profile)
: db_path_(profile->GetPath().Append(kPredictorDatabaseName)),
db_(new sql::Connection()),
autocomplete_table_(new AutocompleteActionPredictorTable()),
- logged_in_table_(new LoggedInPredictorTable()) {
+ logged_in_table_(new LoggedInPredictorTable()),
+ resource_prefetch_tables_(new ResourcePrefetchPredictorTables()) {
db_->set_histogram_tag("Predictor");
+ ResourcePrefetchPredictorConfig config;
+ is_resource_prefetch_predictor_enabled_ =
+ IsSpeculativeResourcePrefetchingEnabled(profile, &config);
}
PredictorDatabaseInternal::~PredictorDatabaseInternal() {
@@ -89,6 +97,7 @@ void PredictorDatabaseInternal::Initialize() {
autocomplete_table_->Initialize(db_.get());
logged_in_table_->Initialize(db_.get());
+ resource_prefetch_tables_->Initialize(db_.get());
LogDatabaseStats();
}
@@ -99,6 +108,7 @@ void PredictorDatabaseInternal::SetCancelled() {
autocomplete_table_->SetCancelled();
logged_in_table_->SetCancelled();
+ resource_prefetch_tables_->SetCancelled();
}
void PredictorDatabaseInternal::LogDatabaseStats() {
@@ -113,6 +123,8 @@ void PredictorDatabaseInternal::LogDatabaseStats() {
autocomplete_table_->LogDatabaseStats();
logged_in_table_->LogDatabaseStats();
+ if (is_resource_prefetch_predictor_enabled_)
+ resource_prefetch_tables_->LogDatabaseStats();
}
PredictorDatabase::PredictorDatabase(Profile* profile)
@@ -138,6 +150,11 @@ scoped_refptr<LoggedInPredictorTable>
return db_->logged_in_table_;
}
+scoped_refptr<ResourcePrefetchPredictorTables>
+ PredictorDatabase::resource_prefetch_tables() {
+ return db_->resource_prefetch_tables_;
+}
+
sql::Connection* PredictorDatabase::GetDatabase() {
return db_->db_.get();
}
« no previous file with comments | « chrome/browser/predictors/predictor_database.h ('k') | chrome/browser/predictors/resource_prefetch_common.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698