Index: chrome/browser/extensions/extension_prefs.cc |
diff --git a/chrome/browser/extensions/extension_prefs.cc b/chrome/browser/extensions/extension_prefs.cc |
index 890ba9970794457cd678d4eed6094c107e240ac9..68070c68ad3bf1a61d22a58b1313940ca46a1520 100644 |
--- a/chrome/browser/extensions/extension_prefs.cc |
+++ b/chrome/browser/extensions/extension_prefs.cc |
@@ -1543,6 +1543,23 @@ void ExtensionPrefs::GetExtensions(ExtensionIdSet* out) { |
} |
} |
+// static |
+void ExtensionPrefs::GetExtensionsFrom( |
+ const base::DictionaryValue* extension_prefs, |
+ ExtensionIdSet* out) { |
+ CHECK(out); |
+ for (base::DictionaryValue::key_iterator it = extension_prefs->begin_keys(); |
+ it != extension_prefs->end_keys(); ++it) { |
+ DictionaryValue* ext; |
+ if (!extension_prefs->GetDictionaryWithoutPathExpansion(*it, &ext)) { |
+ NOTREACHED() << "Invalid pref for extension " << *it; |
+ continue; |
+ } |
+ if (!IsBlacklistBitSet(ext)) |
+ out->push_back(*it); |
+ } |
+} |
+ |
void ExtensionPrefs::FixMissingPrefs(const ExtensionIdSet& extension_ids) { |
// Fix old entries that did not get an installation time entry when they |
// were installed or don't have a preferences field. |