Index: chrome/browser/extensions/extension_gcm_app_handler_unittest.cc |
diff --git a/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc b/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc |
index 81e9c7c88f4f098d9f9928a534f354b56e74eed1..0ed9f17033a2d3e9e34c1c88f1b9c0a712f0a8f9 100644 |
--- a/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc |
+++ b/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc |
@@ -20,6 +20,7 @@ |
#include "chrome/browser/extensions/test_extension_service.h" |
#include "chrome/browser/extensions/test_extension_system.h" |
#include "chrome/browser/profiles/profile.h" |
+#include "chrome/browser/services/gcm/fake_gcm_app_handler.h" |
#include "chrome/browser/services/gcm/fake_gcm_client.h" |
#include "chrome/browser/services/gcm/fake_gcm_client_factory.h" |
#include "chrome/browser/services/gcm/fake_signin_manager.h" |
@@ -377,11 +378,19 @@ TEST_F(ExtensionGCMAppHandlerTest, UnregisterOnExtensionUninstall) { |
waiter()->WaitUntilCompleted(); |
EXPECT_EQ(gcm::GCMClient::SUCCESS, registration_result()); |
+ // Add another app handler in order to prevent the GCM service from being |
+ // stopped when the extension is uninstalled. This is needed because otherwise |
+ // we are not able to receive the unregistration result. |
+ GetGCMDriver()->AddAppHandler("Foo", gcm_app_handler()); |
+ |
// Unregistration should be triggered when the extension is uninstalled. |
UninstallExtension(extension); |
waiter()->WaitUntilCompleted(); |
EXPECT_EQ(gcm::GCMClient::SUCCESS, |
gcm_app_handler()->unregistration_result()); |
+ |
+ // Clean up. |
+ GetGCMDriver()->RemoveAppHandler("Foo"); |
} |
} // namespace extensions |