| Index: chrome/browser/apps/ephemeral_app_service_browsertest.cc
|
| diff --git a/chrome/browser/apps/ephemeral_app_service_browsertest.cc b/chrome/browser/apps/ephemeral_app_service_browsertest.cc
|
| index 9ecf7a8ad18c4aa5be0251e0854a97b1a28df3ba..9165c030ee7e11d6f41b1c79a60941835e6bf36d 100644
|
| --- a/chrome/browser/apps/ephemeral_app_service_browsertest.cc
|
| +++ b/chrome/browser/apps/ephemeral_app_service_browsertest.cc
|
| @@ -10,11 +10,13 @@
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "content/public/test/test_utils.h"
|
| #include "extensions/browser/extension_prefs.h"
|
| +#include "extensions/browser/extension_registry.h"
|
| #include "extensions/browser/extension_system.h"
|
| #include "extensions/common/manifest.h"
|
|
|
| using extensions::Extension;
|
| using extensions::ExtensionPrefs;
|
| +using extensions::ExtensionRegistry;
|
| using extensions::ExtensionSystem;
|
|
|
| namespace {
|
| @@ -50,6 +52,13 @@ class EphemeralAppServiceBrowserTest : public EphemeralAppTestBase {
|
| ephemeral_service->InitEphemeralAppCount();
|
| }
|
|
|
| + void UnloadEphemeralAppsOnStartup() {
|
| + EphemeralAppService* ephemeral_service =
|
| + EphemeralAppService::Get(browser()->profile());
|
| + ASSERT_TRUE(ephemeral_service);
|
| + ephemeral_service->UnloadEphemeralAppsOnStartup();
|
| + }
|
| +
|
| std::vector<std::string> app_ids_;
|
| };
|
|
|
| @@ -129,3 +138,28 @@ IN_PROC_BROWSER_TEST_F(EphemeralAppServiceBrowserTest,
|
| PromoteEphemeralApp(app);
|
| EXPECT_EQ(0, ephemeral_service->ephemeral_app_count());
|
| }
|
| +
|
| +// Verify that the service will unload and disable ephemeral apps on startup.
|
| +IN_PROC_BROWSER_TEST_F(EphemeralAppServiceBrowserTest,
|
| + UnloadEphemeralAppsOnStartup) {
|
| + const Extension* installed_app = InstallPlatformApp(kNotificationsTestApp);
|
| + const Extension* running_app =
|
| + InstallAndLaunchEphemeralApp(kMessagingReceiverApp);
|
| + const Extension* inactive_app = InstallEphemeralApp(kDispatchEventTestApp);
|
| + ASSERT_TRUE(installed_app);
|
| + ASSERT_TRUE(running_app);
|
| + ASSERT_TRUE(inactive_app);
|
| +
|
| + ExtensionRegistry* registry = ExtensionRegistry::Get(profile());
|
| + DCHECK(registry);
|
| + EXPECT_TRUE(registry->enabled_extensions().Contains(installed_app->id()));
|
| + EXPECT_TRUE(registry->enabled_extensions().Contains(running_app->id()));
|
| + EXPECT_TRUE(registry->enabled_extensions().Contains(inactive_app->id()));
|
| +
|
| + UnloadEphemeralAppsOnStartup();
|
| +
|
| + // Verify that the inactive app is disabled.
|
| + EXPECT_TRUE(registry->enabled_extensions().Contains(installed_app->id()));
|
| + EXPECT_TRUE(registry->enabled_extensions().Contains(running_app->id()));
|
| + EXPECT_TRUE(registry->disabled_extensions().Contains(inactive_app->id()));
|
| +}
|
|
|