OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/notifications/message_center_notification_manager.h" | 5 #include "chrome/browser/notifications/message_center_notification_manager.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "chrome/browser/extensions/extension_service.h" | 9 #include "chrome/browser/extensions/extension_service.h" |
10 #include "chrome/browser/notifications/desktop_notification_service.h" | 10 #include "chrome/browser/notifications/desktop_notification_service.h" |
11 #include "chrome/browser/notifications/desktop_notification_service_factory.h" | 11 #include "chrome/browser/notifications/desktop_notification_service_factory.h" |
12 #include "chrome/browser/notifications/notification.h" | 12 #include "chrome/browser/notifications/notification.h" |
13 #include "chrome/browser/prefs/pref_service.h" | 13 #include "chrome/browser/prefs/pref_service.h" |
14 #include "chrome/browser/profiles/profile.h" | 14 #include "chrome/browser/profiles/profile.h" |
15 #include "chrome/browser/ui/browser_finder.h" | 15 #include "chrome/browser/ui/browser_finder.h" |
16 #include "chrome/browser/ui/chrome_pages.h" | 16 #include "chrome/browser/ui/chrome_pages.h" |
17 #include "chrome/browser/ui/host_desktop.h" | 17 #include "chrome/browser/ui/host_desktop.h" |
18 #include "chrome/common/extensions/extension_set.h" | 18 #include "chrome/common/extensions/extension_set.h" |
19 #include "chrome/common/pref_names.h" | 19 #include "chrome/common/pref_names.h" |
| 20 #include "ui/message_center/message_center_tray.h" |
20 | 21 |
21 MessageCenterNotificationManager::MessageCenterNotificationManager( | 22 MessageCenterNotificationManager::MessageCenterNotificationManager( |
22 message_center::MessageCenter* message_center) | 23 message_center::MessageCenter* message_center) |
23 : message_center_(message_center) { | 24 : message_center_(message_center) { |
24 message_center_->SetDelegate(this); | 25 message_center_->SetDelegate(this); |
| 26 |
| 27 #if !defined(OS_CHROMEOS) |
| 28 // On Windows, the notification manager owns the tray icon and views. Other |
| 29 // platforms have global ownership and Create will return NULL. |
| 30 tray_.reset(message_center::CreateMessageCenterTray()); |
| 31 #endif |
25 } | 32 } |
26 | 33 |
27 MessageCenterNotificationManager::~MessageCenterNotificationManager() { | 34 MessageCenterNotificationManager::~MessageCenterNotificationManager() { |
28 } | 35 } |
29 | 36 |
30 //////////////////////////////////////////////////////////////////////////////// | 37 //////////////////////////////////////////////////////////////////////////////// |
31 // NotificationUIManager | 38 // NotificationUIManager |
32 | 39 |
33 bool MessageCenterNotificationManager::DoesIdExist(const std::string& id) { | 40 bool MessageCenterNotificationManager::DoesIdExist(const std::string& id) { |
34 if (NotificationUIManagerImpl::DoesIdExist(id)) | 41 if (NotificationUIManagerImpl::DoesIdExist(id)) |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 | 261 |
255 MessageCenterNotificationManager::ProfileNotification* | 262 MessageCenterNotificationManager::ProfileNotification* |
256 MessageCenterNotificationManager::FindProfileNotification( | 263 MessageCenterNotificationManager::FindProfileNotification( |
257 const std::string& id) const { | 264 const std::string& id) const { |
258 NotificationMap::const_iterator iter = profile_notifications_.find(id); | 265 NotificationMap::const_iterator iter = profile_notifications_.find(id); |
259 // If the notification is shown in UI, it must be in the map. | 266 // If the notification is shown in UI, it must be in the map. |
260 DCHECK(iter != profile_notifications_.end()); | 267 DCHECK(iter != profile_notifications_.end()); |
261 DCHECK((*iter).second); | 268 DCHECK((*iter).second); |
262 return (*iter).second; | 269 return (*iter).second; |
263 } | 270 } |
OLD | NEW |