| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/extensions/extension_prefs.h" | 5 #include "chrome/browser/extensions/extension_prefs.h" |
| 6 | 6 |
| 7 #include "base/string_util.h" | 7 #include "base/string_util.h" |
| 8 #include "base/string_number_conversions.h" | 8 #include "base/string_number_conversions.h" |
| 9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
| 10 #include "chrome/browser/prefs/pref_notifier.h" | 10 #include "chrome/browser/prefs/pref_notifier.h" |
| (...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 327 for (std::set<std::string>::const_iterator iter = new_value.begin(); | 327 for (std::set<std::string>::const_iterator iter = new_value.begin(); |
| 328 iter != new_value.end(); ++iter) | 328 iter != new_value.end(); ++iter) |
| 329 value->Append(Value::CreateStringValue(*iter)); | 329 value->Append(Value::CreateStringValue(*iter)); |
| 330 | 330 |
| 331 UpdateExtensionPref(extension_id, pref_key, value); | 331 UpdateExtensionPref(extension_id, pref_key, value); |
| 332 prefs_->ScheduleSavePersistentPrefs(); | 332 prefs_->ScheduleSavePersistentPrefs(); |
| 333 } | 333 } |
| 334 | 334 |
| 335 void ExtensionPrefs::SavePrefsAndNotify() { | 335 void ExtensionPrefs::SavePrefsAndNotify() { |
| 336 prefs_->ScheduleSavePersistentPrefs(); | 336 prefs_->ScheduleSavePersistentPrefs(); |
| 337 prefs_->pref_notifier()->OnUserPreferenceSet(kExtensionsPref); | 337 // TODO(mnissler, danno): Don't use pref_notifier() here, but tell the |
| 338 // PrefService by some other means that we changed the pref value. |
| 339 prefs_->pref_notifier()->OnPreferenceChanged(kExtensionsPref); |
| 338 } | 340 } |
| 339 | 341 |
| 340 bool ExtensionPrefs::IsBlacklistBitSet(DictionaryValue* ext) { | 342 bool ExtensionPrefs::IsBlacklistBitSet(DictionaryValue* ext) { |
| 341 return ReadBooleanFromPref(ext, kPrefBlacklist); | 343 return ReadBooleanFromPref(ext, kPrefBlacklist); |
| 342 } | 344 } |
| 343 | 345 |
| 344 bool ExtensionPrefs::IsExtensionBlacklisted(const std::string& extension_id) { | 346 bool ExtensionPrefs::IsExtensionBlacklisted(const std::string& extension_id) { |
| 345 return ReadExtensionPrefBoolean(extension_id, kPrefBlacklist); | 347 return ReadExtensionPrefBoolean(extension_id, kPrefBlacklist); |
| 346 } | 348 } |
| 347 | 349 |
| (...skipping 887 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1235 extension_pref_store->prefs()->Get(pref_key, &old_value); | 1237 extension_pref_store->prefs()->Get(pref_key, &old_value); |
| 1236 bool changed = !Value::Equals(winning_pref_value, old_value); | 1238 bool changed = !Value::Equals(winning_pref_value, old_value); |
| 1237 | 1239 |
| 1238 if (winning_pref_value) { | 1240 if (winning_pref_value) { |
| 1239 extension_pref_store->prefs()->Set(pref_key, | 1241 extension_pref_store->prefs()->Set(pref_key, |
| 1240 winning_pref_value->DeepCopy()); | 1242 winning_pref_value->DeepCopy()); |
| 1241 } else { | 1243 } else { |
| 1242 extension_pref_store->prefs()->Remove(pref_key, NULL); | 1244 extension_pref_store->prefs()->Remove(pref_key, NULL); |
| 1243 } | 1245 } |
| 1244 | 1246 |
| 1245 if (changed) { | 1247 if (changed) |
| 1246 pref_service()->pref_notifier()->OnPreferenceSet( | 1248 pref_service()->pref_notifier()->OnPreferenceChanged(pref_key.c_str()); |
| 1247 pref_key.c_str(), PrefNotifier::EXTENSION_STORE); | |
| 1248 } | |
| 1249 } | 1249 } |
| 1250 | 1250 |
| 1251 void ExtensionPrefs::SetExtensionControlledPref(const std::string& extension_id, | 1251 void ExtensionPrefs::SetExtensionControlledPref(const std::string& extension_id, |
| 1252 const std::string& pref_key, | 1252 const std::string& pref_key, |
| 1253 Value* value) { | 1253 Value* value) { |
| 1254 DCHECK(pref_service()->FindPreference(pref_key.c_str())) | 1254 DCHECK(pref_service()->FindPreference(pref_key.c_str())) |
| 1255 << "Extension controlled preference key " << pref_key | 1255 << "Extension controlled preference key " << pref_key |
| 1256 << " not registered."; | 1256 << " not registered."; |
| 1257 DictionaryValue* extension_preferences = | 1257 DictionaryValue* extension_preferences = |
| 1258 GetExtensionControlledPrefs(extension_id); | 1258 GetExtensionControlledPrefs(extension_id); |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1298 void ExtensionPrefs::RegisterUserPrefs(PrefService* prefs) { | 1298 void ExtensionPrefs::RegisterUserPrefs(PrefService* prefs) { |
| 1299 prefs->RegisterDictionaryPref(kExtensionsPref); | 1299 prefs->RegisterDictionaryPref(kExtensionsPref); |
| 1300 prefs->RegisterListPref(kExtensionToolbar); | 1300 prefs->RegisterListPref(kExtensionToolbar); |
| 1301 prefs->RegisterIntegerPref(prefs::kExtensionToolbarSize, -1); | 1301 prefs->RegisterIntegerPref(prefs::kExtensionToolbarSize, -1); |
| 1302 prefs->RegisterDictionaryPref(kExtensionsBlacklistUpdate); | 1302 prefs->RegisterDictionaryPref(kExtensionsBlacklistUpdate); |
| 1303 prefs->RegisterListPref(prefs::kExtensionInstallAllowList); | 1303 prefs->RegisterListPref(prefs::kExtensionInstallAllowList); |
| 1304 prefs->RegisterListPref(prefs::kExtensionInstallDenyList); | 1304 prefs->RegisterListPref(prefs::kExtensionInstallDenyList); |
| 1305 prefs->RegisterListPref(prefs::kExtensionInstallForceList); | 1305 prefs->RegisterListPref(prefs::kExtensionInstallForceList); |
| 1306 prefs->RegisterStringPref(kWebStoreLogin, std::string() /* default_value */); | 1306 prefs->RegisterStringPref(kWebStoreLogin, std::string() /* default_value */); |
| 1307 } | 1307 } |
| OLD | NEW |