| Index: chrome/common/notification_service.cc
|
| ===================================================================
|
| --- chrome/common/notification_service.cc (revision 30793)
|
| +++ chrome/common/notification_service.cc (working copy)
|
| @@ -60,8 +60,15 @@
|
| NotificationType type,
|
| const NotificationSource& source) {
|
| DCHECK(type.value < NotificationType::NOTIFICATION_TYPE_COUNT);
|
| - DCHECK(HasKey(observers_[type.value], source));
|
|
|
| + // 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
|
| + // future.
|
| + // NOTE: when this check shows crashes, use ChromeThread::DeleteOnIOThread or
|
| + // other variants as the trait on the object.
|
| + CHECK(HasKey(observers_[type.value], source));
|
| +
|
| NotificationObserverList* observer_list =
|
| observers_[type.value][source.map_key()];
|
| if (observer_list) {
|
|
|