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

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

Issue 10380041: Refactoring AutocompleteActionPredictor Database. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 7 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/autocomplete_action_predictor.h
diff --git a/chrome/browser/predictors/autocomplete_action_predictor.h b/chrome/browser/predictors/autocomplete_action_predictor.h
index a6801ac15fcb925b0c0c3d08f2e3764ac225de2c..586a7d7044ff064e48bf6ef61f78e9f61924a4a8 100644
--- a/chrome/browser/predictors/autocomplete_action_predictor.h
+++ b/chrome/browser/predictors/autocomplete_action_predictor.h
@@ -13,7 +13,7 @@
#include "base/memory/weak_ptr.h"
#include "base/string16.h"
#include "chrome/browser/history/history_types.h"
-#include "chrome/browser/predictors/autocomplete_action_predictor_database.h"
+#include "chrome/browser/predictors/autocomplete_action_predictor_table.h"
#include "chrome/browser/profiles/profile_keyed_service.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
@@ -23,18 +23,21 @@ struct AutocompleteLog;
struct AutocompleteMatch;
class AutocompleteResult;
class HistoryService;
+class PredictorsDOMHandler;
class Profile;
namespace history {
class URLDatabase;
}
+namespace predictors {
+
// This class is responsible for determining the correct predictive network
// action to take given for a given AutocompleteMatch and entered text. it uses
-// an AutocompleteActionPredictorDatabase accessed asynchronously on the DB
-// thread to permanently store the data used to make predictions, and keeps
-// local caches of that data to be able to make predictions synchronously on the
-// UI thread where it lives. It can be accessed as a weak pointer so that it can
+// a AutocompleteActionPredictorTable accessed asynchronously on the DB thread
+// to permanently store the data used to make predictions, and keeps local
+// caches of that data to be able to make predictions synchronously on the UI
+// thread where it lives. It can be accessed as a weak pointer so that it can
// safely use PostTaskAndReply without fear of crashes if it is destroyed before
// the reply triggers. This is necessary during initialization.
class AutocompleteActionPredictor
@@ -80,7 +83,7 @@ class AutocompleteActionPredictor
private:
friend class AutocompleteActionPredictorTest;
- friend class AutocompleteActionPredictorDOMHandler;
+ friend class ::PredictorsDOMHandler;
struct TransitionalMatch {
TransitionalMatch();
@@ -114,7 +117,7 @@ class AutocompleteActionPredictor
};
typedef std::map<DBCacheKey, DBCacheValue> DBCacheMap;
- typedef std::map<DBCacheKey, AutocompleteActionPredictorDatabase::Row::Id>
+ typedef std::map<DBCacheKey, AutocompleteActionPredictorTable::Row::Id>
DBIdCacheMap;
static const int kMaximumDaysToKeepEntry;
@@ -139,7 +142,7 @@ class AutocompleteActionPredictor
// |id_list| must not be NULL. Every row id deleted will be added to id_list.
void DeleteOldIdsFromCaches(
history::URLDatabase* url_db,
- std::vector<AutocompleteActionPredictorDatabase::Row::Id>* id_list);
+ std::vector<AutocompleteActionPredictorTable::Row::Id>* id_list);
// Called to delete any old or invalid entries from the database. Called after
// the local caches are created once the history service is available.
@@ -149,7 +152,7 @@ class AutocompleteActionPredictor
// if the history service is available, or registers for the notification of
// it becoming available.
void CreateCaches(
- std::vector<AutocompleteActionPredictorDatabase::Row>* row_buffer);
+ std::vector<AutocompleteActionPredictorTable::Row>* row_buffer);
// Attempts to call DeleteOldEntries if the in-memory database has been loaded
// by |service|. Returns success as a boolean.
@@ -166,13 +169,10 @@ class AutocompleteActionPredictor
// Calculates the confidence for an entry in the DBCacheMap.
double CalculateConfidenceForDbEntry(DBCacheMap::const_iterator iter) const;
- // Adds a row to the database and caches.
- void AddRow(const DBCacheKey& key,
- const AutocompleteActionPredictorDatabase::Row& row);
-
- // Updates a row in the database and the caches.
- void UpdateRow(DBCacheMap::iterator it,
- const AutocompleteActionPredictorDatabase::Row& row);
+ // Adds and updates rows in the database and caches.
+ void AddAndUpdateRows(
+ const AutocompleteActionPredictorTable::Rows& rows_to_add,
+ const AutocompleteActionPredictorTable::Rows& rows_to_update);
// Removes all rows from the database and caches.
void DeleteAllRows();
@@ -180,12 +180,8 @@ class AutocompleteActionPredictor
// Removes rows from the database and caches that contain a URL in |rows|.
void DeleteRowsWithURLs(const history::URLRows& rows);
- // Used to batch operations on the database.
- void BeginTransaction();
- void CommitTransaction();
-
Profile* profile_;
- scoped_refptr<AutocompleteActionPredictorDatabase> db_;
+ scoped_refptr<AutocompleteActionPredictorTable> db_;
dominich 2012/05/08 20:35:28 db_ -> table_
Shishir 2012/05/08 21:49:03 Done.
content::NotificationRegistrar notification_registrar_;
// This is cleared after every Omnibox navigation.
@@ -203,4 +199,6 @@ class AutocompleteActionPredictor
DISALLOW_COPY_AND_ASSIGN(AutocompleteActionPredictor);
};
+} // namespace predictors
+
#endif // CHROME_BROWSER_PREDICTORS_AUTOCOMPLETE_ACTION_PREDICTOR_H_

Powered by Google App Engine
This is Rietveld 408576698