Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1436)

Unified Diff: chrome/browser/ui/cocoa/notifications/message_center_tray_bridge.mm

Issue 1334363002: [Eraser] First pass at removing the notification center panel. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Moar fix Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();
- }
-}

Powered by Google App Engine
This is Rietveld 408576698