Index: content/common/notification_service.cc |
=================================================================== |
--- content/common/notification_service.cc (revision 91771) |
+++ content/common/notification_service.cc (working copy) |
@@ -24,18 +24,12 @@ |
NotificationService::NotificationService() { |
DCHECK(current() == NULL); |
-#ifndef NDEBUG |
- memset(observer_counts_, 0, sizeof(observer_counts_)); |
-#endif |
- |
lazy_tls_ptr.Pointer()->Set(this); |
} |
void NotificationService::AddObserver(NotificationObserver* observer, |
NotificationType type, |
const NotificationSource& source) { |
- DCHECK(type.value < NotificationType::NOTIFICATION_TYPE_COUNT); |
- |
// We have gotten some crashes where the observer pointer is NULL. The problem |
// is that this happens when we actually execute a notification, so have no |
// way of knowing who the bad observer was. We want to know when this happens |
@@ -60,8 +54,6 @@ |
void NotificationService::RemoveObserver(NotificationObserver* observer, |
NotificationType type, |
const NotificationSource& source) { |
- DCHECK(type.value < NotificationType::NOTIFICATION_TYPE_COUNT); |
- |
// This is a very serious bug. An object is most likely being deleted on |
// the wrong thread, and as a result another thread's NotificationService |
// has its deleted pointer in its map. A garbge object will be called in the |
@@ -87,7 +79,6 @@ |
const NotificationDetails& details) { |
DCHECK(type.value > NotificationType::ALL) << |
"Allowed for observing, but not posting."; |
- DCHECK(type.value < NotificationType::NOTIFICATION_TYPE_COUNT); |
// There's no particular reason for the order in which the different |
// classes of observers get notified here. |
@@ -128,7 +119,7 @@ |
lazy_tls_ptr.Pointer()->Set(NULL); |
#ifndef NDEBUG |
- for (int i = 0; i < NotificationType::NOTIFICATION_TYPE_COUNT; i++) { |
+ for (size_t i = 0; i < observer_counts_.size(); i++) { |
if (observer_counts_[i] > 0) { |
// This may not be completely fixable -- see |
// http://code.google.com/p/chromium/issues/detail?id=11010 . |
@@ -138,7 +129,7 @@ |
} |
#endif |
- for (int i = 0; i < NotificationType::NOTIFICATION_TYPE_COUNT; i++) { |
+ for (size_t i = 0; i < observers_.size(); i++) { |
NotificationSourceMap omap = observers_[i]; |
for (NotificationSourceMap::iterator it = omap.begin(); |
it != omap.end(); ++it) |