| Index: trunk/src/chrome/browser/extensions/extension_crash_recovery_browsertest.cc
|
| ===================================================================
|
| --- trunk/src/chrome/browser/extensions/extension_crash_recovery_browsertest.cc (revision 199638)
|
| +++ trunk/src/chrome/browser/extensions/extension_crash_recovery_browsertest.cc (working copy)
|
| @@ -25,10 +25,13 @@
|
| #include "content/public/browser/render_view_host.h"
|
| #include "content/public/browser/web_contents.h"
|
| #include "content/public/common/result_codes.h"
|
| +
|
| +#if defined(ENABLE_MESSAGE_CENTER)
|
| +#include "base/command_line.h"
|
| #include "ui/message_center/message_center.h"
|
| #include "ui/message_center/message_center_switches.h"
|
| -#include "ui/message_center/message_center_util.h"
|
| #include "ui/message_center/notification_list.h"
|
| +#endif
|
|
|
| using content::NavigationController;
|
| using content::WebContents;
|
| @@ -114,64 +117,91 @@
|
|
|
| };
|
|
|
| -class MAYBE_ExtensionCrashRecoveryTest
|
| +// TODO(rsesek): Implement and enable these tests. http://crbug.com/179904
|
| +#if defined(ENABLE_MESSAGE_CENTER) && !defined(OS_MACOSX)
|
| +
|
| +class MessageCenterExtensionCrashRecoveryTest
|
| : public ExtensionCrashRecoveryTestBase {
|
| protected:
|
| + virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
|
| + ExtensionCrashRecoveryTestBase::SetUpCommandLine(command_line);
|
| + command_line->AppendSwitch(
|
| + message_center::switches::kEnableRichNotifications);
|
| + }
|
| +
|
| virtual void AcceptNotification(size_t index) OVERRIDE {
|
| - if (message_center::IsRichNotificationEnabled()) {
|
| - message_center::MessageCenter* message_center =
|
| - message_center::MessageCenter::Get();
|
| - ASSERT_GT(message_center->NotificationCount(), index);
|
| - message_center::NotificationList::Notifications::reverse_iterator it =
|
| - message_center->GetNotifications().rbegin();
|
| - for (size_t i=0; i < index; ++i)
|
| - it++;
|
| - std::string id = (*it)->id();
|
| - message_center->ClickOnNotification(id);
|
| - } else {
|
| - Balloon* balloon = GetNotificationDelegate(index);
|
| - ASSERT_TRUE(balloon);
|
| - balloon->OnClick();
|
| - }
|
| + message_center::MessageCenter* message_center =
|
| + message_center::MessageCenter::Get();
|
| + ASSERT_GT(message_center->NotificationCount(), index);
|
| + message_center::NotificationList::Notifications::reverse_iterator it =
|
| + message_center->GetNotifications().rbegin();
|
| + for (size_t i=0; i < index; ++i)
|
| + it++;
|
| + std::string id = (*it)->id();
|
| + message_center->ClickOnNotification(id);
|
| WaitForExtensionLoad();
|
| }
|
|
|
| virtual void CancelNotification(size_t index) OVERRIDE {
|
| - if (message_center::IsRichNotificationEnabled()) {
|
| - message_center::MessageCenter* message_center =
|
| - message_center::MessageCenter::Get();
|
| - ASSERT_GT(message_center->NotificationCount(), index);
|
| - message_center::NotificationList::Notifications::reverse_iterator it =
|
| - message_center->GetNotifications().rbegin();
|
| - for (size_t i=0; i < index; i++) { it++; }
|
| - ASSERT_TRUE(g_browser_process->notification_ui_manager()->
|
| - CancelById((*it)->id()));
|
| - } else {
|
| - Balloon* balloon = GetNotificationDelegate(index);
|
| - ASSERT_TRUE(balloon);
|
| - std::string id = balloon->notification().notification_id();
|
| - ASSERT_TRUE(g_browser_process->notification_ui_manager()->CancelById(id));
|
| - }
|
| + message_center::MessageCenter* message_center =
|
| + message_center::MessageCenter::Get();
|
| + ASSERT_GT(message_center->NotificationCount(), index);
|
| + message_center::NotificationList::Notifications::reverse_iterator it =
|
| + message_center->GetNotifications().rbegin();
|
| + for (size_t i=0; i < index; i++) { it++; }
|
| + ASSERT_TRUE(
|
| + g_browser_process->notification_ui_manager()->CancelById((*it)->id()));
|
| }
|
|
|
| virtual size_t CountBalloons() OVERRIDE {
|
| - if (message_center::IsRichNotificationEnabled())
|
| - return message_center::MessageCenter::Get()->NotificationCount();
|
| + message_center::MessageCenter* message_center =
|
| + message_center::MessageCenter::Get();
|
| + return message_center->NotificationCount();
|
| + }
|
| +};
|
|
|
| - return BalloonNotificationUIManager::GetInstanceForTesting()->
|
| - balloon_collection()->GetActiveBalloons().size();
|
| +typedef MessageCenterExtensionCrashRecoveryTest
|
| + MAYBE_ExtensionCrashRecoveryTest;
|
| +
|
| +#else // defined(ENABLED_MESSAGE_CENTER)
|
| +
|
| +class BalloonExtensionCrashRecoveryTest
|
| + : public ExtensionCrashRecoveryTestBase {
|
| + protected:
|
| + virtual void AcceptNotification(size_t index) OVERRIDE {
|
| + Balloon* balloon = GetNotificationDelegate(index);
|
| + ASSERT_TRUE(balloon);
|
| + balloon->OnClick();
|
| + WaitForExtensionLoad();
|
| }
|
|
|
| -private:
|
| - Balloon* GetNotificationDelegate(size_t index) {
|
| - BalloonNotificationUIManager* manager =
|
| - BalloonNotificationUIManager::GetInstanceForTesting();
|
| - BalloonCollection::Balloons balloons =
|
| - manager->balloon_collection()->GetActiveBalloons();
|
| - return index < balloons.size() ? balloons.at(index) : NULL;
|
| - }
|
| + virtual void CancelNotification(size_t index) OVERRIDE {
|
| + Balloon* balloon = GetNotificationDelegate(index);
|
| + ASSERT_TRUE(balloon);
|
| + std::string id = balloon->notification().notification_id();
|
| + ASSERT_TRUE(g_browser_process->notification_ui_manager()->CancelById(id));
|
| + }
|
| +
|
| + virtual size_t CountBalloons() OVERRIDE {
|
| + BalloonNotificationUIManager* manager =
|
| + BalloonNotificationUIManager::GetInstanceForTesting();
|
| + BalloonCollection::Balloons balloons =
|
| + manager->balloon_collection()->GetActiveBalloons();
|
| + return balloons.size();
|
| + }
|
| + private:
|
| + Balloon* GetNotificationDelegate(size_t index) {
|
| + BalloonNotificationUIManager* manager =
|
| + BalloonNotificationUIManager::GetInstanceForTesting();
|
| + BalloonCollection::Balloons balloons =
|
| + manager->balloon_collection()->GetActiveBalloons();
|
| + return index < balloons.size() ? balloons.at(index) : NULL;
|
| + }
|
| };
|
|
|
| +typedef BalloonExtensionCrashRecoveryTest MAYBE_ExtensionCrashRecoveryTest;
|
| +#endif // defined(ENABLE_MESSAGE_CENTER)
|
| +
|
| IN_PROC_BROWSER_TEST_F(MAYBE_ExtensionCrashRecoveryTest, Basic) {
|
| const size_t size_before = GetExtensionService()->extensions()->size();
|
| const size_t crash_size_before =
|
|
|