| Index: ui/message_center/views/message_list_view.cc
|
| diff --git a/ui/message_center/views/message_list_view.cc b/ui/message_center/views/message_list_view.cc
|
| index a5f2a70a2fd939df21fed5c11775b6cd8ecf811f..2522d458f0b4aaac13cc9e4a2c5ae03016772301 100644
|
| --- a/ui/message_center/views/message_list_view.cc
|
| +++ b/ui/message_center/views/message_list_view.cc
|
| @@ -23,10 +23,8 @@ namespace {
|
| const int kAnimateClearingNextNotificationDelayMS = 40;
|
| } // namespace
|
|
|
| -MessageListView::MessageListView(MessageCenterView* message_center_view,
|
| - bool top_down)
|
| - : message_center_view_(message_center_view),
|
| - reposition_top_(-1),
|
| +MessageListView::MessageListView(bool top_down)
|
| + : reposition_top_(-1),
|
| fixed_height_(0),
|
| has_deferred_task_(false),
|
| clear_all_started_(false),
|
| @@ -209,12 +207,21 @@ void MessageListView::ClearAllClosableNotifications(
|
| clearing_all_views_.push_back(child);
|
| }
|
| if (clearing_all_views_.empty()) {
|
| - message_center_view()->OnAllNotificationsCleared();
|
| + for (auto& observer : observers_)
|
| + observer.OnAllNotificationsCleared();
|
| } else {
|
| DoUpdateIfPossible();
|
| }
|
| }
|
|
|
| +void MessageListView::AddObserver(MessageListView::Observer* observer) {
|
| + observers_.AddObserver(observer);
|
| +}
|
| +
|
| +void MessageListView::RemoveObserver(MessageListView::Observer* observer) {
|
| + observers_.RemoveObserver(observer);
|
| +}
|
| +
|
| void MessageListView::OnBoundsAnimatorProgressed(
|
| views::BoundsAnimator* animator) {
|
| DCHECK_EQ(&animator_, animator);
|
| @@ -232,7 +239,8 @@ void MessageListView::OnBoundsAnimatorDone(views::BoundsAnimator* animator) {
|
|
|
| if (clear_all_started_) {
|
| clear_all_started_ = false;
|
| - message_center_view()->OnAllNotificationsCleared();
|
| + for (auto& observer : observers_)
|
| + observer.OnAllNotificationsCleared();
|
| }
|
|
|
| if (has_deferred_task_) {
|
|
|