| Index: chrome/browser/extensions/activity_log.h
|
| diff --git a/chrome/browser/extensions/activity_log.h b/chrome/browser/extensions/activity_log.h
|
| index 27761a9c334f39de7d2c74c66943ab990bf053d8..c2f7c24275ac144ca55d3927d25360634a0003ba 100644
|
| --- a/chrome/browser/extensions/activity_log.h
|
| +++ b/chrome/browser/extensions/activity_log.h
|
| @@ -36,7 +36,8 @@ class ActivityLog : public ProfileKeyedService,
|
| enum Activity {
|
| ACTIVITY_EXTENSION_API_CALL, // Extension API invocation is called.
|
| ACTIVITY_EXTENSION_API_BLOCK, // Extension API invocation is blocked.
|
| - ACTIVITY_CONTENT_SCRIPT // Content script is executing.
|
| + ACTIVITY_CONTENT_SCRIPT, // Content script is executing.
|
| + ACTIVITY_EVENT_DISPATCH, // Event sent to listener in extension.
|
| };
|
|
|
| // Observers can listen for activity events.
|
| @@ -54,7 +55,12 @@ class ActivityLog : public ProfileKeyedService,
|
|
|
| // Currently, we only want to record actions if the user has opted in to the
|
| // ActivityLog feature.
|
| - bool IsLoggingEnabled();
|
| + static bool IsLogEnabled();
|
| +
|
| + // Recompute whether logging should be enabled (the value of IsLogEnabled is
|
| + // normally cached). WARNING: This may not be thread-safe, and is only
|
| + // really intended for use by unit tests.
|
| + static void RecomputeLoggingIsEnabled();
|
|
|
| // Add/remove observer.
|
| void AddObserver(const Extension* extension, Observer* observer);
|
| @@ -67,14 +73,21 @@ class ActivityLog : public ProfileKeyedService,
|
| // Log a successful API call made by an extension.
|
| // This will create an APIAction for storage in the database.
|
| void LogAPIAction(const Extension* extension,
|
| - const std::string& name, // e.g., chrome.tabs.get
|
| + const std::string& name, // e.g., tabs.get
|
| const ListValue* args, // the argument values e.g. 46
|
| const std::string& extra); // any extra logging info
|
|
|
| + // Log an event notification delivered to an extension.
|
| + // This will create an APIAction for storage in the database.
|
| + void LogEventAction(const Extension* extension,
|
| + const std::string& name, // e.g., tabs.onUpdate
|
| + const ListValue* args, // arguments to the callback
|
| + const std::string& extra); // any extra logging info
|
| +
|
| // Log a blocked API call made by an extension.
|
| // This will create a BlockedAction for storage in the database.
|
| void LogBlockedAction(const Extension* extension,
|
| - const std::string& blocked_call, // eg chrome.tabs.get
|
| + const std::string& blocked_call, // e.g., tabs.get
|
| const ListValue* args, // argument values
|
| const char* reason, // why it's blocked
|
| const std::string& extra); // extra logging info
|
| @@ -84,7 +97,7 @@ class ActivityLog : public ProfileKeyedService,
|
| // The technical message might be the list of content scripts that have been
|
| // injected, or the DOM API call; it's what's shown under "More".
|
| void LogUrlAction(const Extension* extension,
|
| - const UrlAction::UrlActionType verb, // eg XHR
|
| + const UrlAction::UrlActionType verb, // e.g., XHR
|
| const GURL& url, // target URL
|
| const string16& url_title, // title of the URL,
|
| // can be empty string
|
| @@ -186,4 +199,3 @@ class ActivityLogFactory : public ProfileKeyedServiceFactory {
|
| } // namespace extensions
|
|
|
| #endif // CHROME_BROWSER_EXTENSIONS_ACTIVITY_LOG_H_
|
| -
|
|
|