#include "base/bind.h"
#include "base/bind_helpers.h"
#include "base/command_line.h"
-#include "base/file_util.h"
#include "base/files/file_path.h"
+#include "base/files/file_util.h"
#include "base/files/scoped_temp_dir.h"
#include "base/location.h"
#include "base/logging.h"
#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
+#include "chromeos/dbus/dbus_thread_manager.h"
#endif
namespace extensions {
// This is needed to create extension service under CrOS.
#if defined(OS_CHROMEOS)
test_user_manager_.reset(new chromeos::ScopedTestUserManager());
+ // Creating a DBus thread manager setter has the side effect of
+ // creating a DBusThreadManager, which is needed for testing.
+ // We don't actually need the setter so we ignore the return value.
+ chromeos::DBusThreadManager::GetSetterForTesting();
#endif
// Create a new profile.
scoped_refptr<Extension> extension(CreateExtension());
// App handler is added when extension is loaded.
- LoadExtension(extension);
+ LoadExtension(extension.get());
waiter()->PumpUILoop();
EXPECT_TRUE(HasAppHandlers(extension->id()));
// App handler is removed when extension is unloaded.
- DisableExtension(extension);
+ DisableExtension(extension.get());
waiter()->PumpUILoop();
EXPECT_FALSE(HasAppHandlers(extension->id()));
// App handler is added when extension is reloaded.
- EnableExtension(extension);
+ EnableExtension(extension.get());
waiter()->PumpUILoop();
EXPECT_TRUE(HasAppHandlers(extension->id()));
// App handler is removed when extension is uninstalled.
- UninstallExtension(extension);
+ UninstallExtension(extension.get());
waiter()->PumpUILoop();
EXPECT_FALSE(HasAppHandlers(extension->id()));
}
TEST_F(ExtensionGCMAppHandlerTest, UnregisterOnExtensionUninstall) {
scoped_refptr<Extension> extension(CreateExtension());
- LoadExtension(extension);
+ LoadExtension(extension.get());
// Sign-in is needed for registration.
SignIn(kTestingUsername);
GetGCMDriver()->AddAppHandler("Foo", gcm_app_handler());
// Unregistration should be triggered when the extension is uninstalled.
- UninstallExtension(extension);
+ UninstallExtension(extension.get());
waiter()->WaitUntilCompleted();
EXPECT_EQ(gcm::GCMClient::SUCCESS,
gcm_app_handler()->unregistration_result());
scoped_refptr<Extension> extension(CreateExtension());
// App handler is added when the extension is loaded.
- LoadExtension(extension);
+ LoadExtension(extension.get());
waiter()->PumpUILoop();
EXPECT_TRUE(HasAppHandlers(extension->id()));
// App handler count should not drop to zero when the extension is updated.
- UpdateExtension(extension, "gcm2.crx");
+ UpdateExtension(extension.get(), "gcm2.crx");
waiter()->PumpUILoop();
EXPECT_FALSE(gcm_app_handler()->app_handler_count_drop_to_zero());
EXPECT_TRUE(HasAppHandlers(extension->id()));
scoped_refptr<Extension> extension(CreateExtension());
// App handler is added when the extension is loaded.
- LoadExtension(extension);
+ LoadExtension(extension.get());
waiter()->PumpUILoop();
EXPECT_TRUE(HasAppHandlers(extension->id()));
// App handler is removed when the extension is updated to the version that
// has GCM permission removed.
- UpdateExtension(extension, "good2.crx");
+ UpdateExtension(extension.get(), "good2.crx");
waiter()->PumpUILoop();
EXPECT_TRUE(gcm_app_handler()->app_handler_count_drop_to_zero());
EXPECT_FALSE(HasAppHandlers(extension->id()));