| Index: chrome/browser/extensions/extension_crash_recovery_browsertest.cc
 | 
| diff --git a/chrome/browser/extensions/extension_crash_recovery_browsertest.cc b/chrome/browser/extensions/extension_crash_recovery_browsertest.cc
 | 
| index 51ee2cedcabd38ae69d2f95d9ba2d76d3977f7da..2cfd72e9c679a2e0846094e91c7c081ec6cedda9 100644
 | 
| --- a/chrome/browser/extensions/extension_crash_recovery_browsertest.cc
 | 
| +++ b/chrome/browser/extensions/extension_crash_recovery_browsertest.cc
 | 
| @@ -46,14 +46,6 @@ class ExtensionCrashRecoveryTest : public ExtensionBrowserTest {
 | 
|          process_manager();
 | 
|    }
 | 
|  
 | 
| -  Balloon* GetNotificationDelegate(size_t index) {
 | 
| -    NotificationUIManager* manager =
 | 
| -        g_browser_process->notification_ui_manager();
 | 
| -    BalloonCollection::Balloons balloons =
 | 
| -        manager->balloon_collection()->GetActiveBalloons();
 | 
| -    return balloons.at(index);
 | 
| -  }
 | 
| -
 | 
|    void AcceptNotification(size_t index) {
 | 
|      Balloon* balloon = GetNotificationDelegate(index);
 | 
|      ASSERT_TRUE(balloon);
 | 
| @@ -63,6 +55,7 @@ class ExtensionCrashRecoveryTest : public ExtensionBrowserTest {
 | 
|  
 | 
|    void CancelNotification(size_t index) {
 | 
|      Balloon* balloon = GetNotificationDelegate(index);
 | 
| +    ASSERT_TRUE(balloon);
 | 
|      NotificationUIManager* manager =
 | 
|          g_browser_process->notification_ui_manager();
 | 
|      ASSERT_TRUE(manager->CancelById(balloon->notification().notification_id()));
 | 
| @@ -130,6 +123,15 @@ class ExtensionCrashRecoveryTest : public ExtensionBrowserTest {
 | 
|  
 | 
|    std::string first_extension_id_;
 | 
|    std::string second_extension_id_;
 | 
| +
 | 
| + private:
 | 
| +  Balloon* GetNotificationDelegate(size_t index) {
 | 
| +    NotificationUIManager* manager =
 | 
| +        g_browser_process->notification_ui_manager();
 | 
| +    BalloonCollection::Balloons balloons =
 | 
| +        manager->balloon_collection()->GetActiveBalloons();
 | 
| +    return index < balloons.size() ? balloons.at(index) : NULL;
 | 
| +  }
 | 
|  };
 | 
|  
 | 
|  IN_PROC_BROWSER_TEST_F(ExtensionCrashRecoveryTest, Basic) {
 | 
| @@ -141,7 +143,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionCrashRecoveryTest, Basic) {
 | 
|    ASSERT_EQ(size_before, GetExtensionService()->extensions()->size());
 | 
|    ASSERT_EQ(crash_size_before + 1,
 | 
|              GetExtensionService()->terminated_extensions()->size());
 | 
| -  AcceptNotification(0);
 | 
| +  ASSERT_NO_FATAL_FAILURE(AcceptNotification(0));
 | 
|  
 | 
|    SCOPED_TRACE("after clicking the balloon");
 | 
|    CheckExtensionConsistency(first_extension_id_);
 | 
| @@ -160,7 +162,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionCrashRecoveryTest, CloseAndReload) {
 | 
|    ASSERT_EQ(crash_size_before + 1,
 | 
|              GetExtensionService()->terminated_extensions()->size());
 | 
|  
 | 
| -  CancelNotification(0);
 | 
| +  ASSERT_NO_FATAL_FAILURE(CancelNotification(0));
 | 
|    ReloadExtension(first_extension_id_);
 | 
|  
 | 
|    SCOPED_TRACE("after reloading");
 | 
| @@ -267,7 +269,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionCrashRecoveryTest, TwoExtensionsCrashFirst) {
 | 
|    LoadSecondExtension();
 | 
|    CrashExtension(first_extension_id_);
 | 
|    ASSERT_EQ(size_before + 1, GetExtensionService()->extensions()->size());
 | 
| -  AcceptNotification(0);
 | 
| +  ASSERT_NO_FATAL_FAILURE(AcceptNotification(0));
 | 
|  
 | 
|    SCOPED_TRACE("after clicking the balloon");
 | 
|    CheckExtensionConsistency(first_extension_id_);
 | 
| @@ -280,7 +282,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionCrashRecoveryTest, TwoExtensionsCrashSecond) {
 | 
|    LoadSecondExtension();
 | 
|    CrashExtension(second_extension_id_);
 | 
|    ASSERT_EQ(size_before + 1, GetExtensionService()->extensions()->size());
 | 
| -  AcceptNotification(0);
 | 
| +  ASSERT_NO_FATAL_FAILURE(AcceptNotification(0));
 | 
|  
 | 
|    SCOPED_TRACE("after clicking the balloon");
 | 
|    CheckExtensionConsistency(first_extension_id_);
 | 
| @@ -305,13 +307,13 @@ IN_PROC_BROWSER_TEST_F(ExtensionCrashRecoveryTest,
 | 
|  
 | 
|    {
 | 
|      SCOPED_TRACE("first balloon");
 | 
| -    AcceptNotification(0);
 | 
| +    ASSERT_NO_FATAL_FAILURE(AcceptNotification(0));
 | 
|      CheckExtensionConsistency(first_extension_id_);
 | 
|    }
 | 
|  
 | 
|    {
 | 
|      SCOPED_TRACE("second balloon");
 | 
| -    AcceptNotification(0);
 | 
| +    ASSERT_NO_FATAL_FAILURE(AcceptNotification(0));
 | 
|      CheckExtensionConsistency(first_extension_id_);
 | 
|      CheckExtensionConsistency(second_extension_id_);
 | 
|    }
 | 
| @@ -328,13 +330,13 @@ IN_PROC_BROWSER_TEST_F(ExtensionCrashRecoveryTest, TwoExtensionsOneByOne) {
 | 
|  
 | 
|    {
 | 
|      SCOPED_TRACE("first balloon");
 | 
| -    AcceptNotification(0);
 | 
| +    ASSERT_NO_FATAL_FAILURE(AcceptNotification(0));
 | 
|      CheckExtensionConsistency(first_extension_id_);
 | 
|    }
 | 
|  
 | 
|    {
 | 
|      SCOPED_TRACE("second balloon");
 | 
| -    AcceptNotification(0);
 | 
| +    ASSERT_NO_FATAL_FAILURE(AcceptNotification(0));
 | 
|      CheckExtensionConsistency(first_extension_id_);
 | 
|      CheckExtensionConsistency(second_extension_id_);
 | 
|    }
 | 
| @@ -376,8 +378,8 @@ IN_PROC_BROWSER_TEST_F(ExtensionCrashRecoveryTest,
 | 
|    // Accept notification 1 before canceling notification 0.
 | 
|    // Otherwise, on Linux and Windows, there is a race here, in which
 | 
|    // canceled notifications do not immediately go away.
 | 
| -  AcceptNotification(1);
 | 
| -  CancelNotification(0);
 | 
| +  ASSERT_NO_FATAL_FAILURE(AcceptNotification(1));
 | 
| +  ASSERT_NO_FATAL_FAILURE(CancelNotification(0));
 | 
|  
 | 
|    SCOPED_TRACE("balloons done");
 | 
|    ASSERT_EQ(size_before + 1, GetExtensionService()->extensions()->size());
 | 
| @@ -408,7 +410,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionCrashRecoveryTest,
 | 
|  
 | 
|    {
 | 
|      SCOPED_TRACE("second: balloon");
 | 
| -    AcceptNotification(0);
 | 
| +    ASSERT_NO_FATAL_FAILURE(AcceptNotification(0));
 | 
|      CheckExtensionConsistency(first_extension_id_);
 | 
|      CheckExtensionConsistency(second_extension_id_);
 | 
|    }
 | 
| 
 |