Index: extensions/browser/extension_prefs.cc |
diff --git a/extensions/browser/extension_prefs.cc b/extensions/browser/extension_prefs.cc |
index b50e71606f4ce587a1757ca313e1b6f5e9d1e544..efe3ba419ecf4e82d62b4b8ff5ac80204abbf91b 100644 |
--- a/extensions/browser/extension_prefs.cc |
+++ b/extensions/browser/extension_prefs.cc |
@@ -195,6 +195,8 @@ const char kInstallSignature[] = "extensions.install_signature"; |
// synced. Default value is false. |
const char kPrefDoNotSync[] = "do_not_sync"; |
+const char kCorruptedDisableCount[] = "extensions.corrupted_disable_count"; |
+ |
// Provider of write access to a dictionary storing extension prefs. |
class ScopedExtensionPrefUpdate : public DictionaryPrefUpdate { |
public: |
@@ -1895,6 +1897,15 @@ void ExtensionPrefs::SetInstallParam(const std::string& extension_id, |
new base::StringValue(install_parameter)); |
} |
+int ExtensionPrefs::GetCorruptedDisableCount() { |
+ return prefs_->GetInteger(kCorruptedDisableCount); |
+} |
+ |
+void ExtensionPrefs::IncrementCorruptedDisableCount() { |
+ int count = prefs_->GetInteger(kCorruptedDisableCount); |
+ prefs_->SetInteger(kCorruptedDisableCount, count + 1); |
+} |
+ |
ExtensionPrefs::ExtensionPrefs( |
PrefService* prefs, |
const base::FilePath& root_dir, |
@@ -2002,6 +2013,10 @@ void ExtensionPrefs::RegisterProfilePrefs( |
pref_names::kNativeMessagingUserLevelHosts, |
true, // default value |
user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
+ registry->RegisterIntegerPref( |
+ kCorruptedDisableCount, |
+ 0, // default value |
+ user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
} |
template <class ExtensionIdContainer> |