Chromium Code Reviews| Index: chrome/browser/extensions/activity_log/activity_database.h |
| diff --git a/chrome/browser/extensions/activity_log/activity_database.h b/chrome/browser/extensions/activity_log/activity_database.h |
| index f7472e905a7fb2afc217e9156584be95d546a156..e02ff7ce96cc284b891e3f3cc59b315c81a634d2 100644 |
| --- a/chrome/browser/extensions/activity_log/activity_database.h |
| +++ b/chrome/browser/extensions/activity_log/activity_database.h |
| @@ -61,6 +61,9 @@ namespace extensions { |
| // in which case ActivityLogPolicy::Close() should directly delete itself.) |
| class ActivityDatabase { |
| public: |
| + // All the fields that need to be cleaned up when URLs are cleaned. |
| + static const char* kURLFields[]; |
|
felt
2013/07/17 01:55:40
This constant should probably be moved into the Ac
mvrable
2013/07/17 16:41:23
If the history clearing code is in the ActivityDat
|
| + |
| // Interface defining calls that the ActivityDatabase can make into a |
| // ActivityLogPolicy instance to implement policy-specific behavior. Methods |
| // are always invoked on the database thread. Classes other than |
| @@ -121,6 +124,23 @@ class ActivityDatabase { |
| bool is_db_valid() const { return valid_db_; } |
| + // Cleans all instances of particular URLs from the database. Used when user |
| + // cleans particular URLs from history. If the vector is empty then all URLS |
| + // are cleaned from the db. |
| + void RemoveURLs(const std::vector<GURL>& gurls); |
| + |
| + // Removes a single URL from the db. If the top level domain of the gurl is |
| + // empty then it does not attempt to remove anything from the db. |
| + void RemoveURL(const GURL& gurl); |
| + |
| + // Cleans all URL columns from the database. |
| + void RemoveAllURLs(); |
| + |
| + // Constructs an SQL query to clear urls from the database. If url is the |
| + // empty string then constructs a query to remove all urls. |
| + static void ConstructRemoveURLQuery(const std::string& url, |
| + std::string* query); |
| + |
| // For unit testing only. |
| void SetBatchModeForTesting(bool batch_mode); |
| void SetClockForTesting(base::Clock* clock); |
| @@ -150,6 +170,13 @@ class ActivityDatabase { |
| // or changes to it. |
| void SoftFailureClose(); |
| + // Gets the top level domain for the URL and removes a '/' if one is present |
| + // at the end of the URL. |
| + // TODO(karenlees): this is the same code used in the DOMAction::Record |
| + // method. Is there anywhere to put this method so it can be used by parts of |
| + // the code so they are kept in sync? |
| + static std::string ExtractTLD(const GURL& gurl); |
|
felt
2013/07/17 01:55:40
Maybe it could be a static method on the activity_
mvrable
2013/07/17 16:41:23
That would be a good location for it.
|
| + |
| // For unit testing only. |
| void RecordBatchedActionsWhileTesting(); |