| Index: chrome/browser/extensions/extension_prefs.cc
|
| diff --git a/chrome/browser/extensions/extension_prefs.cc b/chrome/browser/extensions/extension_prefs.cc
|
| index a26f3ad4cd0992ead9258af17b7c3360f6b8181a..83fbb596830c553f4484409b4fe0ea96fe13c33d 100644
|
| --- a/chrome/browser/extensions/extension_prefs.cc
|
| +++ b/chrome/browser/extensions/extension_prefs.cc
|
| @@ -1653,11 +1653,12 @@ scoped_ptr<ExtensionInfo> ExtensionPrefs::GetInstalledExtensionInfo(
|
| if (IsBlacklistBitSet(ext))
|
| return scoped_ptr<ExtensionInfo>();
|
| int state_value;
|
| - if (!ext->GetInteger(kPrefState, &state_value)) {
|
| - // This can legitimately happen if we store preferences for component
|
| - // extensions.
|
| + if (!ext->GetInteger(kPrefState, &state_value) ||
|
| + state_value == Extension::ENABLED_COMPONENT) {
|
| + // Old preferences files may not have kPrefState for component extensions.
|
| return scoped_ptr<ExtensionInfo>();
|
| }
|
| +
|
| if (state_value == Extension::EXTERNAL_EXTENSION_UNINSTALLED) {
|
| LOG(WARNING) << "External extension with id " << extension_id
|
| << " has been uninstalled by the user";
|
|
|