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

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

Issue 598173003: Run clang-modernize -use-nullptr over src/extensions/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
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 "extensions/browser/event_router.h" 5 #include "extensions/browser/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 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 listener->GetBrowserContext()); 248 listener->GetBrowserContext());
249 std::string base_event_name = GetBaseEventName(listener->event_name()); 249 std::string base_event_name = GetBaseEventName(listener->event_name());
250 ObserverMap::iterator observer = observers_.find(base_event_name); 250 ObserverMap::iterator observer = observers_.find(base_event_name);
251 if (observer != observers_.end()) 251 if (observer != observers_.end())
252 observer->second->OnListenerRemoved(details); 252 observer->second->OnListenerRemoved(details);
253 } 253 }
254 254
255 void EventRouter::AddLazyEventListener(const std::string& event_name, 255 void EventRouter::AddLazyEventListener(const std::string& event_name,
256 const std::string& extension_id) { 256 const std::string& extension_id) {
257 bool is_new = listeners_.AddListener(EventListener::ForExtension( 257 bool is_new = listeners_.AddListener(EventListener::ForExtension(
258 event_name, extension_id, NULL, scoped_ptr<DictionaryValue>())); 258 event_name, extension_id, nullptr, scoped_ptr<DictionaryValue>()));
259 259
260 if (is_new) { 260 if (is_new) {
261 std::set<std::string> events = GetRegisteredEvents(extension_id); 261 std::set<std::string> events = GetRegisteredEvents(extension_id);
262 bool prefs_is_new = events.insert(event_name).second; 262 bool prefs_is_new = events.insert(event_name).second;
263 if (prefs_is_new) 263 if (prefs_is_new)
264 SetRegisteredEvents(extension_id, events); 264 SetRegisteredEvents(extension_id, events);
265 } 265 }
266 } 266 }
267 267
268 void EventRouter::RemoveLazyEventListener(const std::string& event_name, 268 void EventRouter::RemoveLazyEventListener(const std::string& event_name,
269 const std::string& extension_id) { 269 const std::string& extension_id) {
270 scoped_ptr<EventListener> listener = EventListener::ForExtension( 270 scoped_ptr<EventListener> listener = EventListener::ForExtension(
271 event_name, extension_id, NULL, scoped_ptr<DictionaryValue>()); 271 event_name, extension_id, nullptr, scoped_ptr<DictionaryValue>());
272 bool did_exist = listeners_.RemoveListener(listener.get()); 272 bool did_exist = listeners_.RemoveListener(listener.get());
273 273
274 if (did_exist) { 274 if (did_exist) {
275 std::set<std::string> events = GetRegisteredEvents(extension_id); 275 std::set<std::string> events = GetRegisteredEvents(extension_id);
276 bool prefs_did_exist = events.erase(event_name) > 0; 276 bool prefs_did_exist = events.erase(event_name) > 0;
277 DCHECK(prefs_did_exist); 277 DCHECK(prefs_did_exist);
278 SetRegisteredEvents(extension_id, events); 278 SetRegisteredEvents(extension_id, events);
279 } 279 }
280 } 280 }
281 281
282 void EventRouter::AddFilteredEventListener(const std::string& event_name, 282 void EventRouter::AddFilteredEventListener(const std::string& event_name,
283 content::RenderProcessHost* process, 283 content::RenderProcessHost* process,
284 const std::string& extension_id, 284 const std::string& extension_id,
285 const base::DictionaryValue& filter, 285 const base::DictionaryValue& filter,
286 bool add_lazy_listener) { 286 bool add_lazy_listener) {
287 listeners_.AddListener(EventListener::ForExtension( 287 listeners_.AddListener(EventListener::ForExtension(
288 event_name, 288 event_name,
289 extension_id, 289 extension_id,
290 process, 290 process,
291 scoped_ptr<DictionaryValue>(filter.DeepCopy()))); 291 scoped_ptr<DictionaryValue>(filter.DeepCopy())));
292 292
293 if (add_lazy_listener) { 293 if (add_lazy_listener) {
294 bool added = listeners_.AddListener(EventListener::ForExtension( 294 bool added = listeners_.AddListener(EventListener::ForExtension(
295 event_name, 295 event_name,
296 extension_id, 296 extension_id,
297 NULL, 297 nullptr,
298 scoped_ptr<DictionaryValue>(filter.DeepCopy()))); 298 scoped_ptr<DictionaryValue>(filter.DeepCopy())));
299 299
300 if (added) 300 if (added)
301 AddFilterToEvent(event_name, extension_id, &filter); 301 AddFilterToEvent(event_name, extension_id, &filter);
302 } 302 }
303 } 303 }
304 304
305 void EventRouter::RemoveFilteredEventListener( 305 void EventRouter::RemoveFilteredEventListener(
306 const std::string& event_name, 306 const std::string& event_name,
307 content::RenderProcessHost* process, 307 content::RenderProcessHost* process,
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 listener != listeners.end(); ++listener) { 349 listener != listeners.end(); ++listener) {
350 if (listener->extension_id == extension_id) 350 if (listener->extension_id == extension_id)
351 return true; 351 return true;
352 } 352 }
353 return false; 353 return false;
354 } 354 }
355 355
356 std::set<std::string> EventRouter::GetRegisteredEvents( 356 std::set<std::string> EventRouter::GetRegisteredEvents(
357 const std::string& extension_id) { 357 const std::string& extension_id) {
358 std::set<std::string> events; 358 std::set<std::string> events;
359 const ListValue* events_value = NULL; 359 const ListValue* events_value = nullptr;
360 360
361 if (!extension_prefs_ || 361 if (!extension_prefs_ ||
362 !extension_prefs_->ReadPrefAsList( 362 !extension_prefs_->ReadPrefAsList(
363 extension_id, kRegisteredEvents, &events_value)) { 363 extension_id, kRegisteredEvents, &events_value)) {
364 return events; 364 return events;
365 } 365 }
366 366
367 for (size_t i = 0; i < events_value->GetSize(); ++i) { 367 for (size_t i = 0; i < events_value->GetSize(); ++i) {
368 std::string event; 368 std::string event;
369 if (events_value->GetString(i, &event)) 369 if (events_value->GetString(i, &event))
(...skipping 15 matching lines...) Expand all
385 385
386 void EventRouter::AddFilterToEvent(const std::string& event_name, 386 void EventRouter::AddFilterToEvent(const std::string& event_name,
387 const std::string& extension_id, 387 const std::string& extension_id,
388 const DictionaryValue* filter) { 388 const DictionaryValue* filter) {
389 ExtensionPrefs::ScopedDictionaryUpdate update( 389 ExtensionPrefs::ScopedDictionaryUpdate update(
390 extension_prefs_, extension_id, kFilteredEvents); 390 extension_prefs_, extension_id, kFilteredEvents);
391 DictionaryValue* filtered_events = update.Get(); 391 DictionaryValue* filtered_events = update.Get();
392 if (!filtered_events) 392 if (!filtered_events)
393 filtered_events = update.Create(); 393 filtered_events = update.Create();
394 394
395 ListValue* filter_list = NULL; 395 ListValue* filter_list = nullptr;
396 if (!filtered_events->GetList(event_name, &filter_list)) { 396 if (!filtered_events->GetList(event_name, &filter_list)) {
397 filter_list = new ListValue; 397 filter_list = new ListValue;
398 filtered_events->SetWithoutPathExpansion(event_name, filter_list); 398 filtered_events->SetWithoutPathExpansion(event_name, filter_list);
399 } 399 }
400 400
401 filter_list->Append(filter->DeepCopy()); 401 filter_list->Append(filter->DeepCopy());
402 } 402 }
403 403
404 void EventRouter::RemoveFilterFromEvent(const std::string& event_name, 404 void EventRouter::RemoveFilterFromEvent(const std::string& event_name,
405 const std::string& extension_id, 405 const std::string& extension_id,
406 const DictionaryValue* filter) { 406 const DictionaryValue* filter) {
407 ExtensionPrefs::ScopedDictionaryUpdate update( 407 ExtensionPrefs::ScopedDictionaryUpdate update(
408 extension_prefs_, extension_id, kFilteredEvents); 408 extension_prefs_, extension_id, kFilteredEvents);
409 DictionaryValue* filtered_events = update.Get(); 409 DictionaryValue* filtered_events = update.Get();
410 ListValue* filter_list = NULL; 410 ListValue* filter_list = nullptr;
411 if (!filtered_events || 411 if (!filtered_events ||
412 !filtered_events->GetListWithoutPathExpansion(event_name, &filter_list)) { 412 !filtered_events->GetListWithoutPathExpansion(event_name, &filter_list)) {
413 return; 413 return;
414 } 414 }
415 415
416 for (size_t i = 0; i < filter_list->GetSize(); i++) { 416 for (size_t i = 0; i < filter_list->GetSize(); i++) {
417 DictionaryValue* filter = NULL; 417 DictionaryValue* filter = nullptr;
418 CHECK(filter_list->GetDictionary(i, &filter)); 418 CHECK(filter_list->GetDictionary(i, &filter));
419 if (filter->Equals(filter)) { 419 if (filter->Equals(filter)) {
420 filter_list->Remove(i, NULL); 420 filter_list->Remove(i, nullptr);
421 break; 421 break;
422 } 422 }
423 } 423 }
424 } 424 }
425 425
426 const DictionaryValue* EventRouter::GetFilteredEvents( 426 const DictionaryValue* EventRouter::GetFilteredEvents(
427 const std::string& extension_id) { 427 const std::string& extension_id) {
428 const DictionaryValue* events = NULL; 428 const DictionaryValue* events = nullptr;
429 extension_prefs_->ReadPrefAsDictionary( 429 extension_prefs_->ReadPrefAsDictionary(
430 extension_id, kFilteredEvents, &events); 430 extension_id, kFilteredEvents, &events);
431 return events; 431 return events;
432 } 432 }
433 433
434 void EventRouter::BroadcastEvent(scoped_ptr<Event> event) { 434 void EventRouter::BroadcastEvent(scoped_ptr<Event> event) {
435 DispatchEventImpl(std::string(), linked_ptr<Event>(event.release())); 435 DispatchEventImpl(std::string(), linked_ptr<Event>(event.release()));
436 } 436 }
437 437
438 void EventRouter::DispatchEventToExtension(const std::string& extension_id, 438 void EventRouter::DispatchEventToExtension(const std::string& extension_id,
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after
759 const Extension* extension, 759 const Extension* extension,
760 UnloadedExtensionInfo::Reason reason) { 760 UnloadedExtensionInfo::Reason reason) {
761 // Remove all registered lazy listeners from our cache. 761 // Remove all registered lazy listeners from our cache.
762 listeners_.RemoveLazyListenersForExtension(extension->id()); 762 listeners_.RemoveLazyListenersForExtension(extension->id());
763 } 763 }
764 764
765 Event::Event(const std::string& event_name, 765 Event::Event(const std::string& event_name,
766 scoped_ptr<base::ListValue> event_args) 766 scoped_ptr<base::ListValue> event_args)
767 : event_name(event_name), 767 : event_name(event_name),
768 event_args(event_args.Pass()), 768 event_args(event_args.Pass()),
769 restrict_to_browser_context(NULL), 769 restrict_to_browser_context(nullptr),
770 user_gesture(EventRouter::USER_GESTURE_UNKNOWN) { 770 user_gesture(EventRouter::USER_GESTURE_UNKNOWN) {
771 DCHECK(this->event_args.get()); 771 DCHECK(this->event_args.get());
772 } 772 }
773 773
774 Event::Event(const std::string& event_name, 774 Event::Event(const std::string& event_name,
775 scoped_ptr<base::ListValue> event_args, 775 scoped_ptr<base::ListValue> event_args,
776 BrowserContext* restrict_to_browser_context) 776 BrowserContext* restrict_to_browser_context)
777 : event_name(event_name), 777 : event_name(event_name),
778 event_args(event_args.Pass()), 778 event_args(event_args.Pass()),
779 restrict_to_browser_context(restrict_to_browser_context), 779 restrict_to_browser_context(restrict_to_browser_context),
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
813 const std::string& extension_id, 813 const std::string& extension_id,
814 const GURL& listener_url, 814 const GURL& listener_url,
815 content::BrowserContext* browser_context) 815 content::BrowserContext* browser_context)
816 : event_name(event_name), 816 : event_name(event_name),
817 extension_id(extension_id), 817 extension_id(extension_id),
818 listener_url(listener_url), 818 listener_url(listener_url),
819 browser_context(browser_context) { 819 browser_context(browser_context) {
820 } 820 }
821 821
822 } // namespace extensions 822 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698