diff options
author | dewittj@chromium.org <dewittj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-05 19:10:19 +0000 |
---|---|---|
committer | dewittj@chromium.org <dewittj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-05 19:10:19 +0000 |
commit | 35653072a19559aa077fe241c36cd509152f7535 (patch) | |
tree | 8dc2bef7514ad077c5a11dfd9c35f2859b681f3a /chrome/browser/notifications/desktop_notifications_unittest.cc | |
parent | 6737c579fd8e5b2aa81971e5b7b8ceb7e3eb5c13 (diff) | |
download | chromium_src-35653072a19559aa077fe241c36cd509152f7535.zip chromium_src-35653072a19559aa077fe241c36cd509152f7535.tar.gz chromium_src-35653072a19559aa077fe241c36cd509152f7535.tar.bz2 |
Re-home the global MessageCenter to support Ash+Win environments.
In the case where Ash is displayed on Windows, we want a single
message center data structure with multiple UI surfaces for
notifications.
g_browser_process now manages the lifetime of the global Message
Center object, since its lifetime is always longer than Ash::Shell.
This allows us to re-enable the browser tests for message center
on Ash+Win, and stops a crash bug.
BUG=178429
Review URL: https://chromiumcodereview.appspot.com/12375004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186220 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/notifications/desktop_notifications_unittest.cc')
-rw-r--r-- | chrome/browser/notifications/desktop_notifications_unittest.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/chrome/browser/notifications/desktop_notifications_unittest.cc b/chrome/browser/notifications/desktop_notifications_unittest.cc index 85ce0e23..aca84f1 100644 --- a/chrome/browser/notifications/desktop_notifications_unittest.cc +++ b/chrome/browser/notifications/desktop_notifications_unittest.cc @@ -13,6 +13,10 @@ #include "chrome/common/pref_names.h" #include "content/public/common/show_desktop_notification_params.h" +#if defined(ENABLE_MESSAGE_CENTER) +#include "ui/message_center/message_center.h" +#endif + #if defined(USE_ASH) #include "ash/shell.h" #include "ash/test/test_shell_delegate.h" @@ -97,6 +101,11 @@ DesktopNotificationsTest::~DesktopNotificationsTest() { void DesktopNotificationsTest::SetUp() { #if defined(USE_ASH) WebKit::initialize(webkit_platform_support_.Get()); +#if defined(ENABLE_MESSAGE_CENTER) + // The message center is notmally initialized on |g_browser_process| which + // is not created for these tests. + message_center::MessageCenter::Initialize(); +#endif // MockBalloonCollection retrieves information about the screen on creation. // So it is necessary to make sure the desktop gets created first. ash::Shell::CreateInstance(new ash::test::TestShellDelegate); @@ -119,6 +128,11 @@ void DesktopNotificationsTest::TearDown() { #if defined(USE_ASH) active_desktop_monitor_.reset(); ash::Shell::DeleteInstance(); +#if defined(ENABLE_MESSAGE_CENTER) + // The message center is notmally shutdown on |g_browser_process| which + // is not created for these tests. + message_center::MessageCenter::Shutdown(); +#endif aura::Env::DeleteInstance(); WebKit::shutdown(); #endif |