Chromium Code Reviews| Index: chrome/browser/extensions/activity_log/activity_database.cc |
| diff --git a/chrome/browser/extensions/activity_log/activity_database.cc b/chrome/browser/extensions/activity_log/activity_database.cc |
| index 20f4b985b99276d5d22a523cdac13313f212385a..ee055a95d4db38cd83156a79935ea7b7e1b6276e 100644 |
| --- a/chrome/browser/extensions/activity_log/activity_database.cc |
| +++ b/chrome/browser/extensions/activity_log/activity_database.cc |
| @@ -34,8 +34,9 @@ bool SortActionsByTime(const scoped_refptr<extensions::Action> a, |
| namespace extensions { |
| -ActivityDatabase::ActivityDatabase() |
| - : testing_clock_(NULL), |
| +ActivityDatabase::ActivityDatabase(ActivityPolicyCallbacks* callbacks) |
| + : policy_callbacks_(callbacks), |
| + testing_clock_(NULL), |
| valid_db_(false), |
| already_closed_(false), |
| did_init_(false) { |
| @@ -76,16 +77,7 @@ void ActivityDatabase::Init(const base::FilePath& db_name) { |
| db_.Preload(); |
| - // Create the DOMAction database. |
| - if (!DOMAction::InitializeTable(&db_)) |
| - return LogInitFailure(); |
| - |
| - // Create the APIAction database. |
| - if (!APIAction::InitializeTable(&db_)) |
| - return LogInitFailure(); |
| - |
| - // Create the BlockedAction database. |
| - if (!BlockedAction::InitializeTable(&db_)) |
| + if (!policy_callbacks_->DatabaseInitCallback(&db_)) |
| return LogInitFailure(); |
| sql::InitStatus stat = committer.Commit() ? sql::INIT_OK : sql::INIT_FAILURE; |
| @@ -217,6 +209,7 @@ void ActivityDatabase::Close() { |
| timer_.Stop(); |
| if (!already_closed_) { |
| RecordBatchedActions(); |
|
felt
2013/07/09 22:14:51
Is it going to be a problem to call DatabaseCloseC
mvrable
2013/07/09 23:03:22
I think we want this to happen on the database thr
felt
2013/07/10 00:14:36
OK, can you add a comment to ~ActivityLogPolicy()
mvrable
2013/07/10 17:49:17
Done.
|
| + policy_callbacks_->DatabaseCloseCallback(); |
|
felt
2013/07/09 22:14:51
Note that if we've hit a HardFailureClose(), alrea
mvrable
2013/07/09 23:03:22
You are right about already_closed_ and HardFailur
|
| db_.reset_error_callback(); |
| } |
| valid_db_ = false; |