| Index: chrome/browser/notifications/notification_browsertest.cc
|
| diff --git a/chrome/browser/notifications/notification_browsertest.cc b/chrome/browser/notifications/notification_browsertest.cc
|
| index 5f4462d3158adfbd71cbc2e38c338131e3278200..b8f49418f4afe2ea37861b2ebb4392e807877adb 100644
|
| --- a/chrome/browser/notifications/notification_browsertest.cc
|
| +++ b/chrome/browser/notifications/notification_browsertest.cc
|
| @@ -122,6 +122,7 @@ class NotificationsTest : public InProcessBrowserTest {
|
|
|
| protected:
|
| int GetNotificationCount();
|
| + int GetNotificationPopupCount();
|
|
|
| void CloseBrowserWindow(Browser* browser);
|
| void CrashTab(Browser* browser, int index);
|
| @@ -164,6 +165,10 @@ int NotificationsTest::GetNotificationCount() {
|
| return message_center::MessageCenter::Get()->NotificationCount();
|
| }
|
|
|
| +int NotificationsTest::GetNotificationPopupCount() {
|
| + return message_center::MessageCenter::Get()->GetPopupNotifications().size();
|
| +}
|
| +
|
| void NotificationsTest::CloseBrowserWindow(Browser* browser) {
|
| content::WindowedNotificationObserver observer(
|
| chrome::NOTIFICATION_BROWSER_CLOSED,
|
| @@ -743,17 +748,10 @@ IN_PROC_BROWSER_TEST_F(NotificationsTest,
|
| ASSERT_EQ(1, GetNotificationCount());
|
| }
|
|
|
| -// See http://crbug.com/366539
|
| -#if defined(OS_LINUX)
|
| -#define MAYBE_TestNotificationReplacement DISABLED_TestNotificationReplacement
|
| -#else
|
| -#define MAYBE_TestNotificationReplacement TestNotificationReplacement
|
| -#endif
|
| -
|
| -IN_PROC_BROWSER_TEST_F(NotificationsTest, MAYBE_TestNotificationReplacement) {
|
| +IN_PROC_BROWSER_TEST_F(NotificationsTest, TestNotificationReplacement) {
|
| ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady());
|
|
|
| - // Test that we can replace a notification using the replaceId.
|
| + // Test that we can replace a notification using the tag.
|
| AllowAllOrigins();
|
|
|
| ui_test_utils::NavigateToURL(browser(), GetTestPageURL());
|
| @@ -809,3 +807,35 @@ IN_PROC_BROWSER_TEST_F(NotificationsTest, TestLastUsage) {
|
| .ToDoubleT(),
|
| 13);
|
| }
|
| +
|
| +IN_PROC_BROWSER_TEST_F(NotificationsTest,
|
| + TestNotificationReplacementReappearance) {
|
| + ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady());
|
| +
|
| + // Test that we can replace a notification using the tag, and that it will
|
| + // cause the notification to reappear as a popup again.
|
| + AllowAllOrigins();
|
| +
|
| + ui_test_utils::NavigateToURL(browser(), GetTestPageURL());
|
| +
|
| + ASSERT_EQ(0, GetNotificationPopupCount());
|
| +
|
| + std::string result = CreateNotification(
|
| + browser(), true, "abc.png", "Title1", "Body1", "chat");
|
| + EXPECT_NE("-1", result);
|
| +
|
| + ASSERT_EQ(1, GetNotificationPopupCount());
|
| +
|
| + message_center::NotificationList::Notifications notifications =
|
| + message_center::MessageCenter::Get()->GetVisibleNotifications();
|
| + message_center::MessageCenter::Get()->ClickOnNotification(
|
| + (*notifications.rbegin())->id());
|
| +
|
| + ASSERT_EQ(0, GetNotificationPopupCount());
|
| +
|
| + result = CreateNotification(
|
| + browser(), true, "abc.png", "Title2", "Body2", "chat");
|
| + EXPECT_NE("-1", result);
|
| +
|
| + ASSERT_EQ(1, GetNotificationPopupCount());
|
| +}
|
|
|