Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5823)

Unified Diff: chrome/browser/apps/ephemeral_app_service_browsertest.cc

Issue 383703002: Clear the ephemeral app cache from Clear Browsing Data (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed review comments for tests Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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());
+}

Powered by Google App Engine
This is Rietveld 408576698