summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_process_impl.h
diff options
context:
space:
mode:
authordimich@chromium.org <dimich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-23 19:40:10 +0000
committerdimich@chromium.org <dimich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-23 19:40:10 +0000
commit8393aa6c8d53eb07bd1c50293a0eae362581f4f4 (patch)
treeca1491882fa8cd6fde332eeb73f1e52bfda599e3 /chrome/browser/browser_process_impl.h
parent90fe5e98b89802195a919e1a1d07e114b37e2550 (diff)
downloadchromium_src-8393aa6c8d53eb07bd1c50293a0eae362581f4f4.zip
chromium_src-8393aa6c8d53eb07bd1c50293a0eae362581f4f4.tar.gz
chromium_src-8393aa6c8d53eb07bd1c50293a0eae362581f4f4.tar.bz2
Start delegating notifications to MessageCenter on Windows.
This is the next step. MessageCeneterNotificationManager now creates MessageCenter and forwards new notificaitons to it. 1. Upon chat with dewittj@, we decided to not trat MessageCenter as Singleton since there are issues on process shutdown (MessageCenter should exist while MessageCeneterNotificationManager does). Changes that. 2. MessageCeneterNotificationManager for now keeps a map of all displayed Notification objects - to make sure NotificationDelegates are invoked and Profiles are tracked. 3. Started to pass ExtensionId into as origin_id from Notification API, to scope the notification updates to a specific app (bug 168924) 4. Additionally scoped update of notifications by profile, since in multiprofile case the update was also not scoped by profile. This does not yet render anything, since there is no rendering Observer set for the MessageCenter. Will coordinate with Justin. Next step would be to land a test for the add/update/remove logic, and also move image download from Balloon_view_ash to NotificationUIManagerImpl, where notifications wait until they are ready to be displayed. BUG=168924,168605 Review URL: https://chromiumcodereview.appspot.com/11958025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@178352 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser_process_impl.h')
-rw-r--r--chrome/browser/browser_process_impl.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h
index 393c25e..fb3901f 100644
--- a/chrome/browser/browser_process_impl.h
+++ b/chrome/browser/browser_process_impl.h
@@ -85,6 +85,9 @@ class BrowserProcessImpl : public BrowserProcess,
virtual extensions::EventRouterForwarder*
extension_event_router_forwarder() OVERRIDE;
virtual NotificationUIManager* notification_ui_manager() OVERRIDE;
+#if defined(ENABLE_MESSAGE_CENTER)
+ virtual message_center::MessageCenter* message_center() OVERRIDE;
+#endif
virtual policy::BrowserPolicyConnector* browser_policy_connector() OVERRIDE;
virtual policy::PolicyService* policy_service() OVERRIDE;
virtual IconManager* icon_manager() OVERRIDE;
@@ -141,6 +144,9 @@ class BrowserProcessImpl : public BrowserProcess,
void CreateIconManager();
void CreateIntranetRedirectDetector();
void CreateNotificationUIManager();
+#if defined(ENABLE_MESSAGE_CENTER) && !defined(USE_ASH)
+ void CreateMessageCenter();
+#endif
void CreateStatusTrayManager();
void CreatePrintPreviewDialogController();
void CreateBackgroundPrintingManager();
@@ -206,6 +212,12 @@ class BrowserProcessImpl : public BrowserProcess,
bool created_notification_ui_manager_;
scoped_ptr<NotificationUIManager> notification_ui_manager_;
+#if defined(ENABLE_MESSAGE_CENTER) && !defined(USE_ASH)
+ // MessageCenter keeps currently displayed UI notifications.
+ scoped_ptr<message_center::MessageCenter> message_center_;
+ bool created_message_center_;
+#endif
+
#if defined(ENABLE_AUTOMATION)
scoped_ptr<AutomationProviderList> automation_provider_list_;
#endif