diff options
author | dimich@chromium.org <dimich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-23 19:40:10 +0000 |
---|---|---|
committer | dimich@chromium.org <dimich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-23 19:40:10 +0000 |
commit | 8393aa6c8d53eb07bd1c50293a0eae362581f4f4 (patch) | |
tree | ca1491882fa8cd6fde332eeb73f1e52bfda599e3 /chrome/browser/browser_process_impl.h | |
parent | 90fe5e98b89802195a919e1a1d07e114b37e2550 (diff) | |
download | chromium_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.h | 12 |
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 |