Index: ui/message_center/views/message_center_view.cc |
diff --git a/ui/message_center/views/message_center_view.cc b/ui/message_center/views/message_center_view.cc |
index dc6d527d59e5a5b650d3ccc93f3becc2c12b0d97..98f2bf457f7e27538bf9dcb039702cf6d2f54e92 100644 |
--- a/ui/message_center/views/message_center_view.cc |
+++ b/ui/message_center/views/message_center_view.cc |
@@ -255,20 +255,24 @@ void MessageCenterView::SetSettingsVisible(bool visible) { |
button_bar_->SetBackArrowVisible(visible); |
} |
-void MessageCenterView::ClearAllNotifications() { |
+void MessageCenterView::ClearAllClosableNotifications() { |
if (is_closing_) |
return; |
SetViewHierarchyEnabled(scroller_, false); |
button_bar_->SetAllButtonsEnabled(false); |
- message_list_view_->ClearAllNotifications(scroller_->GetVisibleRect()); |
+ message_list_view_->ClearAllClosableNotifications( |
+ scroller_->GetVisibleRect()); |
} |
void MessageCenterView::OnAllNotificationsCleared() { |
SetViewHierarchyEnabled(scroller_, true); |
button_bar_->SetAllButtonsEnabled(true); |
button_bar_->SetCloseAllButtonEnabled(false); |
- message_center_->RemoveAllVisibleNotifications(true); // Action by user. |
+ |
+ // Action by user. |
+ message_center_->RemoveAllNotifications( |
+ true /* by_ser */, message_center::MessageCenter::RemoveType::CLOSABLE); |
dewittj
2016/02/08 18:02:34
nit: by_user
yoshiki
2016/02/09 23:42:25
Done.
|
} |
size_t MessageCenterView::NumMessageViewsForTest() const { |
@@ -588,7 +592,14 @@ void MessageCenterView::NotificationsChanged() { |
scroller_->contents()->AddChildView( |
no_message_views ? empty_list_view_.get() : message_list_view_.get()); |
- button_bar_->SetCloseAllButtonEnabled(!no_message_views); |
+ bool no_closable_views = true; |
+ for (const auto& view : notification_views_) { |
+ if (view.second->IsClosable()) { |
+ no_closable_views = false; |
+ break; |
+ } |
+ } |
+ button_bar_->SetCloseAllButtonEnabled(!no_closable_views); |
scroller_->SetFocusable(!no_message_views); |
if (focus_manager && focused_view) |