Chromium Code Reviews| Index: extensions/renderer/dispatcher.cc |
| diff --git a/extensions/renderer/dispatcher.cc b/extensions/renderer/dispatcher.cc |
| index d001aef9a645442c23aa295ff60cf0d0884f9abb..b38cbcec8b4f7bf82c8218a288343e45fc4ac508 100644 |
| --- a/extensions/renderer/dispatcher.cc |
| +++ b/extensions/renderer/dispatcher.cc |
| @@ -211,7 +211,8 @@ Dispatcher::Dispatcher(DispatcherDelegate* delegate) |
| source_map_(&ResourceBundle::GetSharedInstance()), |
| v8_schema_registry_(new V8SchemaRegistry), |
| user_script_set_manager_observer_(this), |
| - webrequest_used_(false) { |
| + webrequest_used_(false), |
| + activity_logging_enabled_(false) { |
| const base::CommandLine& command_line = |
| *(base::CommandLine::ForCurrentProcess()); |
| set_idle_notifications_ = |
| @@ -890,8 +891,8 @@ void Dispatcher::RegisterNativeHandlers(ModuleSystem* module_system, |
| module_system->RegisterNativeHandler( |
| "setIcon", std::unique_ptr<NativeHandler>(new SetIconNatives(context))); |
| module_system->RegisterNativeHandler( |
| - "activityLogger", |
| - std::unique_ptr<NativeHandler>(new APIActivityLogger(context))); |
| + "activityLogger", std::unique_ptr<NativeHandler>( |
| + new APIActivityLogger(context, dispatcher))); |
| module_system->RegisterNativeHandler( |
| "renderFrameObserverNatives", |
| std::unique_ptr<NativeHandler>(new RenderFrameObserverNatives(context))); |
| @@ -954,6 +955,8 @@ bool Dispatcher::OnControlMessageReceived(const IPC::Message& message) { |
| IPC_MESSAGE_HANDLER(ExtensionMsg_ClearTabSpecificPermissions, |
| OnClearTabSpecificPermissions) |
| IPC_MESSAGE_HANDLER(ExtensionMsg_UsingWebRequestAPI, OnUsingWebRequestAPI) |
| + IPC_MESSAGE_HANDLER(ExtensionMsg_SetActivityLoggingEnabled, |
| + OnSetActivityLoggingEnabled) |
| IPC_MESSAGE_FORWARD(ExtensionMsg_WatchPages, |
| content_watcher_.get(), |
| ContentWatcher::OnWatchPages) |
| @@ -1015,8 +1018,10 @@ void Dispatcher::OnActivateExtension(const std::string& extension_id) { |
| // handler ticking. |
| RenderThread::Get()->ScheduleIdleHandler(kInitialExtensionIdleHandlerDelayMs); |
| - DOMActivityLogger::AttachToWorld( |
| - DOMActivityLogger::kMainWorldId, extension_id); |
| + if (activity_logging_enabled_) { |
| + DOMActivityLogger::AttachToWorld(DOMActivityLogger::kMainWorldId, |
| + extension_id); |
|
asargent_no_longer_on_chrome
2016/06/23 13:35:56
Does this mean that even after the first activity-
Devlin
2016/06/23 16:59:02
Good point! Added this into OnSetActivityLoggingE
|
| + } |
| InitOriginPermissions(extension); |
| @@ -1255,6 +1260,12 @@ void Dispatcher::OnUsingWebRequestAPI(bool webrequest_used) { |
| webrequest_used_ = webrequest_used; |
| } |
| +void Dispatcher::OnSetActivityLoggingEnabled(bool enabled) { |
| + activity_logging_enabled_ = enabled; |
| + script_injection_manager_->set_activity_logging_enabled(enabled); |
| + user_script_set_manager_->set_activity_logging_enabled(enabled); |
| +} |
| + |
| void Dispatcher::OnUserScriptsUpdated(const std::set<HostID>& changed_hosts, |
| const std::vector<UserScript*>& scripts) { |
| UpdateActiveExtensions(); |