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 |