Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1188)

Side by Side Diff: chrome/browser/extensions/event_router.cc

Issue 13726026: Added ActivityLog tests and associated bugfixes/extra logging. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added message passing test and logging Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/event_router.h" 5 #include "chrome/browser/extensions/event_router.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 observers_.erase(iters_to_remove[i]); 229 observers_.erase(iters_to_remove[i]);
230 } 230 }
231 231
232 void EventRouter::OnListenerAdded(const EventListener* listener) { 232 void EventRouter::OnListenerAdded(const EventListener* listener) {
233 const std::string& event_name = listener->event_name; 233 const std::string& event_name = listener->event_name;
234 const EventListenerInfo details(event_name, listener->extension_id); 234 const EventListenerInfo details(event_name, listener->extension_id);
235 ObserverMap::iterator observer = observers_.find(event_name); 235 ObserverMap::iterator observer = observers_.find(event_name);
236 if (observer != observers_.end()) 236 if (observer != observers_.end())
237 observer->second->OnListenerAdded(details); 237 observer->second->OnListenerAdded(details);
238 238
239 #if 0
240 // TODO(felt): Experimentally determine if these are needed, or if they
241 // can be permanently removed. Temporarily removing for now to reduce log
242 // size while under investigation.
239 const Extension* extension = extensions::ExtensionSystem::Get(profile_)-> 243 const Extension* extension = extensions::ExtensionSystem::Get(profile_)->
240 extension_service()->GetExtensionById(listener->extension_id, 244 extension_service()->GetExtensionById(listener->extension_id,
241 ExtensionService::INCLUDE_ENABLED); 245 ExtensionService::INCLUDE_ENABLED);
242 if (extension) { 246 if (extension) {
243 scoped_ptr<ListValue> args(new ListValue()); 247 scoped_ptr<ListValue> args(new ListValue());
244 if (listener->filter) 248 if (listener->filter)
245 args->Append(listener->filter->DeepCopy()); 249 args->Append(listener->filter->DeepCopy());
246 activity_log_->LogAPIAction(extension, 250 activity_log_->LogAPIAction(extension,
247 event_name + ".addListener", 251 event_name + ".addListener",
248 args.get(), 252 args.get(),
249 ""); 253 "");
250 } 254 }
255 #endif
251 } 256 }
252 257
253 void EventRouter::OnListenerRemoved(const EventListener* listener) { 258 void EventRouter::OnListenerRemoved(const EventListener* listener) {
254 const std::string& event_name = listener->event_name; 259 const std::string& event_name = listener->event_name;
255 const EventListenerInfo details(event_name, listener->extension_id); 260 const EventListenerInfo details(event_name, listener->extension_id);
256 ObserverMap::iterator observer = observers_.find(event_name); 261 ObserverMap::iterator observer = observers_.find(event_name);
257 if (observer != observers_.end()) 262 if (observer != observers_.end())
258 observer->second->OnListenerRemoved(details); 263 observer->second->OnListenerRemoved(details);
259 264
260 void* profile = 265 void* profile =
261 listener->process 266 listener->process
262 ? Profile::FromBrowserContext(listener->process->GetBrowserContext()) 267 ? Profile::FromBrowserContext(listener->process->GetBrowserContext())
263 : NULL; 268 : NULL;
264 BrowserThread::PostTask( 269 BrowserThread::PostTask(
265 BrowserThread::IO, FROM_HERE, 270 BrowserThread::IO, FROM_HERE,
266 base::Bind(&NotifyEventListenerRemovedOnIOThread, 271 base::Bind(&NotifyEventListenerRemovedOnIOThread,
267 profile, listener->extension_id, event_name)); 272 profile, listener->extension_id, event_name));
268 273 #if 0
274 // TODO(felt): Experimentally determine if these are needed, or if they
275 // can be permanently removed. Temporarily removing for now to reduce log
276 // size while under investigation.
269 const Extension* extension = extensions::ExtensionSystem::Get(profile_)-> 277 const Extension* extension = extensions::ExtensionSystem::Get(profile_)->
270 extension_service()->GetExtensionById(listener->extension_id, 278 extension_service()->GetExtensionById(listener->extension_id,
271 ExtensionService::INCLUDE_ENABLED); 279 ExtensionService::INCLUDE_ENABLED);
272 if (extension) { 280 if (extension) {
273 scoped_ptr<ListValue> args(new ListValue()); 281 scoped_ptr<ListValue> args(new ListValue());
274 activity_log_->LogAPIAction(extension, 282 activity_log_->LogAPIAction(extension,
275 event_name + ".removeListener", 283 event_name + ".removeListener",
276 args.get(), 284 args.get(),
277 ""); 285 "");
278 } 286 }
287 #endif
279 } 288 }
280 289
281 void EventRouter::AddLazyEventListener(const std::string& event_name, 290 void EventRouter::AddLazyEventListener(const std::string& event_name,
282 const std::string& extension_id) { 291 const std::string& extension_id) {
283 scoped_ptr<EventListener> listener(new EventListener( 292 scoped_ptr<EventListener> listener(new EventListener(
284 event_name, extension_id, NULL, scoped_ptr<DictionaryValue>())); 293 event_name, extension_id, NULL, scoped_ptr<DictionaryValue>()));
285 bool is_new = listeners_.AddListener(listener.Pass()); 294 bool is_new = listeners_.AddListener(listener.Pass());
286 295
287 if (is_new) { 296 if (is_new) {
288 ExtensionPrefs* prefs = extensions::ExtensionSystem::Get(profile_)-> 297 ExtensionPrefs* prefs = extensions::ExtensionSystem::Get(profile_)->
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after
720 copy->will_dispatch_callback = will_dispatch_callback; 729 copy->will_dispatch_callback = will_dispatch_callback;
721 return copy; 730 return copy;
722 } 731 }
723 732
724 EventListenerInfo::EventListenerInfo(const std::string& event_name, 733 EventListenerInfo::EventListenerInfo(const std::string& event_name,
725 const std::string& extension_id) 734 const std::string& extension_id)
726 : event_name(event_name), 735 : event_name(event_name),
727 extension_id(extension_id) {} 736 extension_id(extension_id) {}
728 737
729 } // namespace extensions 738 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698