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()); |
+} |