| Index: chrome/browser/extensions/activity_log/activity_log.h
|
| diff --git a/chrome/browser/extensions/activity_log/activity_log.h b/chrome/browser/extensions/activity_log/activity_log.h
|
| index b934d97e3ee82d31ebf71258f2a37eb638ecac00..54b6fa2c772ba6a742655131850fd40ae5d5aa36 100644
|
| --- a/chrome/browser/extensions/activity_log/activity_log.h
|
| +++ b/chrome/browser/extensions/activity_log/activity_log.h
|
| @@ -9,8 +9,6 @@
|
| #include <string>
|
| #include <vector>
|
|
|
| -#include "base/bind.h"
|
| -#include "base/bind_helpers.h"
|
| #include "base/callback.h"
|
| #include "base/hash_tables.h"
|
| #include "base/memory/singleton.h"
|
| @@ -24,13 +22,13 @@
|
| #include "components/browser_context_keyed_service/browser_context_dependency_manager.h"
|
| #include "components/browser_context_keyed_service/browser_context_keyed_service.h"
|
| #include "components/browser_context_keyed_service/browser_context_keyed_service_factory.h"
|
| -#include "content/public/browser/browser_thread.h"
|
|
|
| class Profile;
|
| using content::BrowserThread;
|
|
|
| namespace extensions {
|
| class Extension;
|
| +class ActivityLogPolicy;
|
|
|
| // A utility for tracing interesting activity for each extension.
|
| // It writes to an ActivityDatabase on a separate thread to record the activity.
|
| @@ -95,7 +93,7 @@ class ActivityLog : public ProfileKeyedService,
|
| void LogBlockedAction(const Extension* extension,
|
| const std::string& blocked_call, // e.g., tabs.get
|
| ListValue* args, // argument values
|
| - const BlockedAction::Reason reason, // why it's blocked
|
| + BlockedAction::Reason reason, // why it's blocked
|
| const std::string& extra); // extra logging info
|
|
|
| // Log an interaction between an extension and a URL.
|
| @@ -127,10 +125,6 @@ class ActivityLog : public ProfileKeyedService,
|
| <void(scoped_ptr<std::vector<scoped_refptr<Action> > >)>&
|
| callback);
|
|
|
| - // An error has happened; we want to rollback and close the db.
|
| - // Needs to be public so the error delegate can call it.
|
| - void KillActivityLogDatabase();
|
| -
|
| // For unit tests only.
|
| void SetArgumentLoggingForTesting(bool log_arguments);
|
|
|
| @@ -167,51 +161,17 @@ class ActivityLog : public ProfileKeyedService,
|
| int32 page_id,
|
| const GURL& on_url) OVERRIDE;
|
|
|
| - // The callback when initializing the database.
|
| - void OnDBInitComplete();
|
| -
|
| static const char* ActivityToString(Activity activity);
|
|
|
| - // The Schedule methods dispatch the calls to the database on a
|
| - // separate thread. We dispatch to the UI thread if the DB thread doesn't
|
| - // exist, which should only happen in tests where there is no DB thread.
|
| - template<typename DatabaseFunc>
|
| - void ScheduleAndForget(DatabaseFunc func) {
|
| - BrowserThread::PostTask(dispatch_thread_,
|
| - FROM_HERE,
|
| - base::Bind(func, base::Unretained(db_)));
|
| - }
|
| -
|
| - template<typename DatabaseFunc, typename ArgA>
|
| - void ScheduleAndForget(DatabaseFunc func, ArgA a) {
|
| - BrowserThread::PostTask(dispatch_thread_,
|
| - FROM_HERE,
|
| - base::Bind(func, base::Unretained(db_), a));
|
| - }
|
| -
|
| - template<typename DatabaseFunc, typename ArgA, typename ArgB>
|
| - void ScheduleAndForget(DatabaseFunc func, ArgA a, ArgB b) {
|
| - BrowserThread::PostTask(dispatch_thread_,
|
| - FROM_HERE,
|
| - base::Bind(func, base::Unretained(db_), a, b));
|
| - }
|
| -
|
| typedef ObserverListThreadSafe<Observer> ObserverList;
|
| typedef std::map<const Extension*, scoped_refptr<ObserverList> >
|
| ObserverMap;
|
| // A map of extensions to activity observers for that extension.
|
| ObserverMap observers_;
|
|
|
| - // The database wrapper that does the actual database I/O.
|
| - // We initialize this on the same thread as the ActivityLog, but then
|
| - // subsequent operations occur on the DB thread. Instead of destructing the
|
| - // ActivityDatabase, we call its Close() method on the DB thread and it
|
| - // commits suicide.
|
| - extensions::ActivityDatabase* db_;
|
| -
|
| - // Normally the DB thread. In some cases (tests), it might not exist
|
| - // we dispatch to the UI thread.
|
| - BrowserThread::ID dispatch_thread_;
|
| + // The policy object takes care of data summarization, compression, and
|
| + // logging
|
| + extensions::ActivityLogPolicy* policy_;
|
|
|
| // Whether to log activity to stdout or the UI. These are set by switches.
|
| bool log_activity_to_stdout_;
|
|
|