| 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..c1b8c2db7a5e77e0cc65499f800651b6977130de 100644
|
| --- a/chrome/browser/apps/ephemeral_app_service_browsertest.cc
|
| +++ b/chrome/browser/apps/ephemeral_app_service_browsertest.cc
|
| @@ -6,16 +6,15 @@
|
|
|
| #include "chrome/browser/apps/ephemeral_app_browsertest.h"
|
| #include "chrome/browser/apps/ephemeral_app_service.h"
|
| -#include "chrome/browser/extensions/extension_service.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "content/public/test/test_utils.h"
|
| #include "extensions/browser/extension_prefs.h"
|
| -#include "extensions/browser/extension_system.h"
|
| +#include "extensions/browser/extension_registry.h"
|
| #include "extensions/common/manifest.h"
|
|
|
| using extensions::Extension;
|
| using extensions::ExtensionPrefs;
|
| -using extensions::ExtensionSystem;
|
| +using extensions::ExtensionRegistry;
|
|
|
| namespace {
|
|
|
| @@ -89,18 +88,18 @@ IN_PROC_BROWSER_TEST_F(EphemeralAppServiceBrowserTest,
|
| GarbageCollectEphemeralApps();
|
| uninstall_signal.Wait();
|
|
|
| - ExtensionService* service = ExtensionSystem::Get(browser()->profile())
|
| - ->extension_service();
|
| - ASSERT_TRUE(service);
|
| - EXPECT_FALSE(service->GetInstalledExtension(inactive_app_id));
|
| - EXPECT_TRUE(service->GetInstalledExtension(active_app_id));
|
| + ExtensionRegistry* registry = ExtensionRegistry::Get(profile());
|
| + ASSERT_TRUE(registry);
|
| + EXPECT_FALSE(registry->GetExtensionById(inactive_app_id,
|
| + ExtensionRegistry::EVERYTHING));
|
| + EXPECT_TRUE(
|
| + registry->GetExtensionById(active_app_id, ExtensionRegistry::EVERYTHING));
|
|
|
| EXPECT_EQ(1, ephemeral_service->ephemeral_app_count());
|
| }
|
|
|
| // Verify that the count of ephemeral apps is maintained correctly.
|
| -IN_PROC_BROWSER_TEST_F(EphemeralAppServiceBrowserTest,
|
| - EphemeralAppCount) {
|
| +IN_PROC_BROWSER_TEST_F(EphemeralAppServiceBrowserTest, EphemeralAppCount) {
|
| EphemeralAppService* ephemeral_service =
|
| EphemeralAppService::Get(browser()->profile());
|
| ASSERT_TRUE(ephemeral_service);
|
| @@ -129,3 +128,31 @@ IN_PROC_BROWSER_TEST_F(EphemeralAppServiceBrowserTest,
|
| PromoteEphemeralApp(app);
|
| EXPECT_EQ(0, ephemeral_service->ephemeral_app_count());
|
| }
|
| +
|
| +// Verify that the cache of ephemeral apps is correctly cleared. Running apps
|
| +// should not be removed.
|
| +IN_PROC_BROWSER_TEST_F(EphemeralAppServiceBrowserTest, ClearCachedApps) {
|
| + const Extension* running_app =
|
| + InstallAndLaunchEphemeralApp(kMessagingReceiverApp);
|
| + const Extension* inactive_app =
|
| + InstallAndLaunchEphemeralApp(kDispatchEventTestApp);
|
| + std::string inactive_app_id = inactive_app->id();
|
| + std::string running_app_id = running_app->id();
|
| + CloseApp(inactive_app_id);
|
| +
|
| + EphemeralAppService* ephemeral_service =
|
| + EphemeralAppService::Get(browser()->profile());
|
| + ASSERT_TRUE(ephemeral_service);
|
| + EXPECT_EQ(2, ephemeral_service->ephemeral_app_count());
|
| +
|
| + ephemeral_service->ClearCachedApps();
|
| +
|
| + ExtensionRegistry* registry = ExtensionRegistry::Get(profile());
|
| + ASSERT_TRUE(registry);
|
| + EXPECT_FALSE(registry->GetExtensionById(inactive_app_id,
|
| + ExtensionRegistry::EVERYTHING));
|
| + EXPECT_TRUE(registry->GetExtensionById(running_app_id,
|
| + ExtensionRegistry::EVERYTHING));
|
| +
|
| + EXPECT_EQ(1, ephemeral_service->ephemeral_app_count());
|
| +}
|
|
|