| 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 95933305a0e65f78018174b933611bac208969f6..d2e95909df2e0a4a5ba073b550ce098e40f3fa9e 100644
|
| --- a/ui/message_center/views/message_list_view.cc
|
| +++ b/ui/message_center/views/message_list_view.cc
|
| @@ -191,17 +191,24 @@ void MessageListView::ResetRepositionSession() {
|
| fixed_height_ = 0;
|
| }
|
|
|
| -void MessageListView::ClearAllNotifications(
|
| +void MessageListView::ClearAllClosableNotifications(
|
| const gfx::Rect& visible_scroll_rect) {
|
| for (int i = 0; i < child_count(); ++i) {
|
| - views::View* child = child_at(i);
|
| + // Safe cast since all views in MessageListView are MessageViews.
|
| + MessageView* child = (MessageView*)child_at(i);
|
| if (!child->visible())
|
| continue;
|
| if (gfx::IntersectRects(child->bounds(), visible_scroll_rect).IsEmpty())
|
| continue;
|
| + if (!child->IsClosable())
|
| + continue;
|
| clearing_all_views_.push_back(child);
|
| }
|
| - DoUpdateIfPossible();
|
| + if (clearing_all_views_.empty()) {
|
| + message_center_view()->OnAllNotificationsCleared();
|
| + } else {
|
| + DoUpdateIfPossible();
|
| + }
|
| }
|
|
|
| void MessageListView::OnBoundsAnimatorProgressed(
|
|
|