Index: chrome/browser/ui/cocoa/notifications/message_center_tray_bridge.mm |
diff --git a/chrome/browser/ui/cocoa/notifications/message_center_tray_bridge.mm b/chrome/browser/ui/cocoa/notifications/message_center_tray_bridge.mm |
index cf7ab98be114ec149a3c7838a8460cf0ce977686..cc6a6670e952bc132023e40a217bcc04a038c89f 100644 |
--- a/chrome/browser/ui/cocoa/notifications/message_center_tray_bridge.mm |
+++ b/chrome/browser/ui/cocoa/notifications/message_center_tray_bridge.mm |
@@ -16,9 +16,6 @@ |
#include "ui/base/l10n/l10n_util.h" |
#import "ui/base/l10n/l10n_util_mac.h" |
#import "ui/message_center/cocoa/popup_collection.h" |
-#import "ui/message_center/cocoa/status_item_view.h" |
-#import "ui/message_center/cocoa/tray_controller.h" |
-#import "ui/message_center/cocoa/tray_view_controller.h" |
#include "ui/message_center/message_center.h" |
#include "ui/message_center/message_center_tray.h" |
@@ -33,32 +30,12 @@ MessageCenterTrayDelegate* CreateMessageCenterTray() { |
MessageCenterTrayBridge::MessageCenterTrayBridge( |
message_center::MessageCenter* message_center) |
: message_center_(message_center), |
- tray_(new message_center::MessageCenterTray(this, message_center)), |
- status_item_update_pending_(false), |
- weak_ptr_factory_(this) { |
- show_status_item_.Init( |
- prefs::kMessageCenterShowIcon, |
- g_browser_process->local_state(), |
- base::Bind(&MessageCenterTrayBridge::OnShowStatusItemChanged, |
- weak_ptr_factory_.GetWeakPtr())); |
-} |
+ tray_(new message_center::MessageCenterTray(this, message_center)) {} |
MessageCenterTrayBridge::~MessageCenterTrayBridge() { |
- [status_item_view_ removeItem]; |
} |
void MessageCenterTrayBridge::OnMessageCenterTrayChanged() { |
- // Update the status item on the next run of the message loop so that if a |
- // popup is displayed, the item doesn't flash the unread count. |
- if (!status_item_update_pending_) { |
- status_item_update_pending_ = true; |
- base::MessageLoop::current()->PostTask( |
- FROM_HERE, |
- base::Bind(&MessageCenterTrayBridge::HandleMessageCenterTrayChanged, |
- weak_ptr_factory_.GetWeakPtr())); |
- } |
- |
- [tray_controller_ onMessageCenterTrayChanged]; |
} |
bool MessageCenterTrayBridge::ShowPopups() { |
@@ -72,28 +49,17 @@ void MessageCenterTrayBridge::HidePopups() { |
} |
bool MessageCenterTrayBridge::ShowMessageCenter() { |
- if (tray_controller_) |
- return false; |
- |
- OpenTrayWindow(); |
- return true; |
+ return false; |
} |
void MessageCenterTrayBridge::HideMessageCenter() { |
- [status_item_view_ setHighlight:NO]; |
- [tray_controller_ close]; |
- tray_controller_.autorelease(); |
- UpdateStatusItem(); |
} |
bool MessageCenterTrayBridge::ShowNotifierSettings() { |
- // This method needs to be implemented when the context menu of each |
- // notification is ready and it contains 'settings' menu item. |
return false; |
} |
bool MessageCenterTrayBridge::IsContextMenuEnabled() const { |
- // Cocoa message center doesn't support context menu yet. |
return false; |
} |
@@ -101,112 +67,3 @@ message_center::MessageCenterTray* |
MessageCenterTrayBridge::GetMessageCenterTray() { |
return tray_.get(); |
} |
- |
-void MessageCenterTrayBridge::UpdateStatusItem() { |
- // We want a static message center icon while it's visible. |
- if (!status_item_view_ || message_center()->IsMessageCenterVisible()) |
- return; |
- |
- size_t unread_count = message_center_->UnreadNotificationCount(); |
- bool quiet_mode = message_center_->IsQuietMode(); |
- [status_item_view_ setUnreadCount:unread_count withQuietMode:quiet_mode]; |
- |
- if (unread_count > 0) { |
- base::string16 unread_count_string = base::FormatNumber(unread_count); |
- [status_item_view_ setToolTip: |
- l10n_util::GetNSStringF(IDS_MESSAGE_CENTER_TOOLTIP_UNREAD, |
- unread_count_string)]; |
- } else { |
- [status_item_view_ setToolTip: |
- l10n_util::GetNSString(IDS_MESSAGE_CENTER_TOOLTIP)]; |
- } |
-} |
- |
-void MessageCenterTrayBridge::OpenTrayWindow() { |
- DCHECK(!tray_controller_); |
- tray_controller_.reset( |
- [[MCTrayController alloc] initWithMessageCenterTray:tray_.get()]); |
- [[tray_controller_ viewController] setTrayTitle: |
- l10n_util::GetNSStringF(IDS_MESSAGE_CENTER_FOOTER_WITH_PRODUCT_TITLE, |
- l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME))]; |
- |
- UpdateStatusItem(); |
- |
- DCHECK(status_item_view_); |
- [status_item_view_ setHighlight:YES]; |
- NSRect frame = [[status_item_view_ window] frame]; |
- [tray_controller_ showTrayAtRightOf:NSMakePoint(NSMinX(frame), |
- NSMinY(frame)) |
- atLeftOf:NSMakePoint(NSMaxX(frame), |
- NSMinY(frame))]; |
-} |
- |
-bool MessageCenterTrayBridge::CanShowStatusItem() const { |
- return g_browser_process->local_state()->GetBoolean( |
- prefs::kMessageCenterShowIcon); |
-} |
- |
-bool MessageCenterTrayBridge::NeedsStatusItem() const { |
- return status_item_view_ || message_center_->NotificationCount() > 0; |
-} |
- |
-void MessageCenterTrayBridge::ShowStatusItem() { |
- if (status_item_view_) |
- return; |
- status_item_view_.reset([[MCStatusItemView alloc] init]); |
- [status_item_view_ setCallback:^{ |
- tray_->ToggleMessageCenterBubble(); |
- }]; |
-} |
- |
-void MessageCenterTrayBridge::HideStatusItem() { |
- [status_item_view_ removeItem]; |
- status_item_view_.reset(); |
-} |
- |
-void MessageCenterTrayBridge::HandleMessageCenterTrayChanged() { |
- // TODO(erikchen): Remove ScopedTracker below once http://crbug.com/465858 |
Robert Sesek
2015/09/15 22:07:08
WontFix this bug ?
dewittj
2015/09/15 22:52:22
Done.
|
- // is fixed. |
- tracked_objects::ScopedTracker tracking_profile1( |
- FROM_HERE_WITH_EXPLICIT_FUNCTION( |
- "465858 " |
- "MessageCenterTrayBridge::HandleMessageCenterTrayChanged::Start")); |
- status_item_update_pending_ = false; |
- if (CanShowStatusItem() && NeedsStatusItem()) { |
- // TODO(erikchen): Remove ScopedTracker below once http://crbug.com/465858 |
- // is fixed. |
- tracked_objects::ScopedTracker tracking_profile2( |
- FROM_HERE_WITH_EXPLICIT_FUNCTION( |
- "465858 " |
- "MessageCenterTrayBridge::HandleMessageCenterTrayChanged::" |
- "ShowStatusItem")); |
- ShowStatusItem(); |
- |
- // TODO(erikchen): Remove ScopedTracker below once http://crbug.com/465858 |
- // is fixed. |
- tracked_objects::ScopedTracker tracking_profile3( |
- FROM_HERE_WITH_EXPLICIT_FUNCTION( |
- "465858 " |
- "MessageCenterTrayBridge::HandleMessageCenterTrayChanged::" |
- "UpdateStatusItem")); |
- UpdateStatusItem(); |
- } else { |
- // TODO(erikchen): Remove ScopedTracker below once http://crbug.com/465858 |
- // is fixed. |
- tracked_objects::ScopedTracker tracking_profile4( |
- FROM_HERE_WITH_EXPLICIT_FUNCTION( |
- "465858 " |
- "MessageCenterTrayBridge::HandleMessageCenterTrayChanged::" |
- "HideStatusItem")); |
- HideStatusItem(); |
- } |
-} |
- |
-void MessageCenterTrayBridge::OnShowStatusItemChanged() { |
- if (CanShowStatusItem()) { |
- ShowStatusItem(); |
- UpdateStatusItem(); |
- } else { |
- HideStatusItem(); |
- } |
-} |