Index: extensions/browser/extension_prefs.cc |
diff --git a/extensions/browser/extension_prefs.cc b/extensions/browser/extension_prefs.cc |
index 6741c62daaf978fcc7b28844eb881888ed73567d..e886f0f2bcabf12344201e948df525511990cfff 100644 |
--- a/extensions/browser/extension_prefs.cc |
+++ b/extensions/browser/extension_prefs.cc |
@@ -182,11 +182,6 @@ const char kPrefGeometryCache[] = "geometry_cache"; |
// A preference that indicates when an extension is last launched. |
const char kPrefLastLaunchTime[] = "last_launch_time"; |
-// A preference that marks an ephemeral app that was evicted from the cache. |
-// Their data is retained and garbage collected when inactive for a long period |
-// of time. |
-const char kPrefEvictedEphemeralApp[] = "evicted_ephemeral_app"; |
- |
// A preference indicating whether the extension is an ephemeral app. |
const char kPrefEphemeralApp[] = "ephemeral_app"; |
@@ -237,11 +232,6 @@ bool IsBlacklistBitSet(const base::DictionaryValue* ext) { |
return ext->GetBoolean(kPrefBlacklist, &bool_value) && bool_value; |
} |
-bool IsEvictedEphemeralApp(const base::DictionaryValue* ext) { |
- bool bool_value; |
- return ext->GetBoolean(kPrefEvictedEphemeralApp, &bool_value) && bool_value; |
-} |
- |
void LoadExtensionControlledPrefs(ExtensionPrefs* prefs, |
ExtensionPrefValueMap* value_map, |
const std::string& extension_id, |
@@ -1275,13 +1265,7 @@ void ExtensionPrefs::OnExtensionUninstalled(const std::string& extension_id, |
observer_list_, |
OnExtensionStateChanged(extension_id, false)); |
} else { |
- if (IsEphemeralApp(extension_id)) { |
- // Keep ephemeral apps around, but mark them as evicted. |
- UpdateExtensionPref(extension_id, kPrefEvictedEphemeralApp, |
- new base::FundamentalValue(true)); |
- } else { |
- DeleteExtensionPrefs(extension_id); |
- } |
+ DeleteExtensionPrefs(extension_id); |
} |
} |
@@ -1409,11 +1393,6 @@ scoped_ptr<ExtensionInfo> ExtensionPrefs::GetInstalledExtensionInfo( |
return scoped_ptr<ExtensionInfo>(); |
} |
- if (IsEvictedEphemeralApp(ext)) { |
- // Hide evicted ephemeral apps. |
- return scoped_ptr<ExtensionInfo>(); |
- } |
- |
return GetInstalledInfoHelper(extension_id, ext); |
} |
@@ -1590,55 +1569,7 @@ scoped_ptr<ExtensionPrefs::ExtensionsInfo> ExtensionPrefs:: |
return extensions_info.Pass(); |
} |
-scoped_ptr<ExtensionPrefs::ExtensionsInfo> |
-ExtensionPrefs::GetEvictedEphemeralAppsInfo() const { |
- scoped_ptr<ExtensionsInfo> extensions_info(new ExtensionsInfo); |
- |
- const base::DictionaryValue* extensions = |
- prefs_->GetDictionary(pref_names::kExtensions); |
- for (base::DictionaryValue::Iterator extension_id(*extensions); |
- !extension_id.IsAtEnd(); extension_id.Advance()) { |
- const base::DictionaryValue* ext = NULL; |
- if (!Extension::IdIsValid(extension_id.key()) || |
- !extension_id.value().GetAsDictionary(&ext)) { |
- continue; |
- } |
- |
- if (!IsEvictedEphemeralApp(ext)) |
- continue; |
- |
- scoped_ptr<ExtensionInfo> info = |
- GetInstalledInfoHelper(extension_id.key(), ext); |
- if (info) |
- extensions_info->push_back(linked_ptr<ExtensionInfo>(info.release())); |
- } |
- |
- return extensions_info.Pass(); |
-} |
- |
-scoped_ptr<ExtensionInfo> ExtensionPrefs::GetEvictedEphemeralAppInfo( |
- const std::string& extension_id) const { |
- const base::DictionaryValue* extension_prefs = GetExtensionPref(extension_id); |
- if (!extension_prefs) |
- return scoped_ptr<ExtensionInfo>(); |
- |
- if (!IsEvictedEphemeralApp(extension_prefs)) |
- return scoped_ptr<ExtensionInfo>(); |
- |
- return GetInstalledInfoHelper(extension_id, extension_prefs); |
-} |
- |
-void ExtensionPrefs::RemoveEvictedEphemeralApp( |
- const std::string& extension_id) { |
- if (ReadPrefAsBooleanAndReturn(extension_id, kPrefEvictedEphemeralApp)) |
- DeleteExtensionPrefs(extension_id); |
-} |
- |
bool ExtensionPrefs::IsEphemeralApp(const std::string& extension_id) const { |
- // Hide the data of evicted ephemeral apps. |
- if (ReadPrefAsBooleanAndReturn(extension_id, kPrefEvictedEphemeralApp)) |
- return false; |
- |
if (ReadPrefAsBooleanAndReturn(extension_id, kPrefEphemeralApp)) |
return true; |
@@ -1650,11 +1581,8 @@ bool ExtensionPrefs::IsEphemeralApp(const std::string& extension_id) const { |
void ExtensionPrefs::OnEphemeralAppPromoted(const std::string& extension_id) { |
DCHECK(IsEphemeralApp(extension_id)); |
- ScopedExtensionPrefUpdate update(prefs_, extension_id); |
- update->Set(kPrefEphemeralApp, new base::FundamentalValue(false)); |
- |
- DCHECK(!IsEvictedEphemeralApp(update.Get())); |
- update->Remove(kPrefEvictedEphemeralApp, NULL); |
+ UpdateExtensionPref( |
+ extension_id, kPrefEphemeralApp, new base::FundamentalValue(false)); |
} |
bool ExtensionPrefs::WasAppDraggedByUser(const std::string& extension_id) { |
@@ -2206,9 +2134,6 @@ void ExtensionPrefs::FinishExtensionInfoPrefs( |
// Clear state that may be registered from a previous install. |
extension_dict->Remove(EventRouter::kRegisteredEvents, NULL); |
- // When evicted ephemeral apps are re-installed, this flag must be reset. |
- extension_dict->Remove(kPrefEvictedEphemeralApp, NULL); |
- |
// FYI, all code below here races on sudden shutdown because |extension_dict|, |
// |app_sorting_|, |extension_pref_value_map_|, and (potentially) observers |
// are updated non-transactionally. This is probably not fixable without |