summaryrefslogtreecommitdiffstats
path: root/chrome/browser/notifications/desktop_notifications_unittest.cc
diff options
context:
space:
mode:
authordewittj@chromium.org <dewittj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-05 19:10:19 +0000
committerdewittj@chromium.org <dewittj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-05 19:10:19 +0000
commit35653072a19559aa077fe241c36cd509152f7535 (patch)
tree8dc2bef7514ad077c5a11dfd9c35f2859b681f3a /chrome/browser/notifications/desktop_notifications_unittest.cc
parent6737c579fd8e5b2aa81971e5b7b8ceb7e3eb5c13 (diff)
downloadchromium_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.cc14
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