| Index: chrome/browser/extensions/activity_log/activity_log.cc
|
| diff --git a/chrome/browser/extensions/activity_log/activity_log.cc b/chrome/browser/extensions/activity_log/activity_log.cc
|
| index 50a007d6479da4d2f5afc5a73a4c33c6dbec3d55..b0cd4c2d75882aee15ce0a4615a9d14930ab4205 100644
|
| --- a/chrome/browser/extensions/activity_log/activity_log.cc
|
| +++ b/chrome/browser/extensions/activity_log/activity_log.cc
|
| @@ -20,18 +20,22 @@
|
| #include "chrome/browser/extensions/extension_service.h"
|
| #include "chrome/browser/extensions/extension_system_factory.h"
|
| #include "chrome/browser/extensions/extension_tab_util.h"
|
| +#include "chrome/browser/extensions/install_tracker.h"
|
| #include "chrome/browser/extensions/install_tracker_factory.h"
|
| #include "chrome/browser/prefs/pref_service_syncable.h"
|
| #include "chrome/browser/prerender/prerender_manager.h"
|
| #include "chrome/browser/prerender/prerender_manager_factory.h"
|
| #include "chrome/browser/profiles/incognito_helpers.h"
|
| +#include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/ui/browser.h"
|
| #include "chrome/common/chrome_constants.h"
|
| #include "chrome/common/chrome_switches.h"
|
| #include "chrome/common/pref_names.h"
|
| #include "components/browser_context_keyed_service/browser_context_dependency_manager.h"
|
| +#include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/web_contents.h"
|
| #include "extensions/browser/extension_system.h"
|
| +#include "extensions/browser/extensions_browser_client.h"
|
| #include "extensions/common/extension.h"
|
| #include "third_party/re2/re2/re2.h"
|
| #include "url/gurl.h"
|
| @@ -46,6 +50,7 @@ namespace {
|
|
|
| using extensions::Action;
|
| using constants::kArgUrlPlaceholder;
|
| +using content::BrowserThread;
|
|
|
| // If DOM API methods start with this string, we flag them as being of type
|
| // DomActionType::XHR.
|
| @@ -393,10 +398,6 @@ ActivityLog::ActivityLog(Profile* profile)
|
| FROM_HERE,
|
| base::Bind(&ActivityLog::InitInstallTracker, base::Unretained(this)));
|
|
|
| - EventRouter* event_router = ExtensionSystem::Get(profile_)->event_router();
|
| - if (event_router)
|
| - event_router->SetEventDispatchObserver(this);
|
| -
|
| // None of this should run on Android since the AL is behind ENABLE_EXTENSION
|
| // checks. However, UmaPolicy can't even compile on Android because it uses
|
| // BrowserList and related classes that aren't compiled for Android.
|
| @@ -617,12 +618,27 @@ void ActivityLog::OnScriptsExecuted(
|
| }
|
| }
|
|
|
| -void ActivityLog::OnWillDispatchEvent(scoped_ptr<EventDispatchInfo> details) {
|
| - scoped_refptr<Action> action = new Action(details->extension_id,
|
| +void ActivityLog::OnApiEventDispatched(const std::string& extension_id,
|
| + const std::string& event_name,
|
| + scoped_ptr<base::ListValue> event_args) {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| + scoped_refptr<Action> action = new Action(extension_id,
|
| base::Time::Now(),
|
| Action::ACTION_API_EVENT,
|
| - details->event_name);
|
| - action->set_args(details->event_args.Pass());
|
| + event_name);
|
| + action->set_args(event_args.Pass());
|
| + LogAction(action);
|
| +}
|
| +
|
| +void ActivityLog::OnApiFunctionCalled(const std::string& extension_id,
|
| + const std::string& api_name,
|
| + scoped_ptr<base::ListValue> args) {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| + scoped_refptr<Action> action = new Action(extension_id,
|
| + base::Time::Now(),
|
| + Action::ACTION_API_CALL,
|
| + api_name);
|
| + action->set_args(args.Pass());
|
| LogAction(action);
|
| }
|
|
|
|
|