Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(93)

Unified Diff: chrome/browser/content_settings/content_settings_pref_provider.cc

Issue 8539004: Replace SetContentSetting method of the content_settings::Provider interface with GetWebsiteSetting (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: " Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/content_settings/content_settings_pref_provider.cc
diff --git a/chrome/browser/content_settings/content_settings_pref_provider.cc b/chrome/browser/content_settings/content_settings_pref_provider.cc
index cc6cf8b58a6720fd48d1d420612f2a62b6083389..fa8eaef260ee516d0969cbb4de07ecd3fd30a6f2 100644
--- a/chrome/browser/content_settings/content_settings_pref_provider.cc
+++ b/chrome/browser/content_settings/content_settings_pref_provider.cc
@@ -151,12 +151,12 @@ PrefProvider::PrefProvider(PrefService* prefs,
pref_change_registrar_.Add(prefs::kDesktopNotificationDeniedOrigins, this);
}
-void PrefProvider::SetContentSetting(
+void PrefProvider::SetWebsiteSetting(
const ContentSettingsPattern& primary_pattern,
const ContentSettingsPattern& secondary_pattern,
ContentSettingsType content_type,
const ResourceIdentifier& resource_identifier,
- ContentSetting setting) {
+ const Value* value) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
DCHECK(prefs_);
@@ -167,7 +167,7 @@ void PrefProvider::SetContentSetting(
{
base::AutoLock auto_lock(lock_);
- if (setting == CONTENT_SETTING_DEFAULT) {
+ if (value == NULL) {
map_to_modify->DeleteValue(
primary_pattern,
secondary_pattern,
@@ -179,7 +179,7 @@ void PrefProvider::SetContentSetting(
secondary_pattern,
content_type,
resource_identifier,
- Value::CreateIntegerValue(setting));
+ value->DeepCopy());
}
}
// Update the content settings preference.
@@ -188,7 +188,7 @@ void PrefProvider::SetContentSetting(
secondary_pattern,
content_type,
resource_identifier,
- setting);
+ value);
prefs_->ScheduleSavePersistentPrefs();
}
@@ -225,7 +225,7 @@ void PrefProvider::ClearAllContentSettingsRules(
it->secondary_pattern,
content_type,
"",
- CONTENT_SETTING_DEFAULT);
+ NULL);
}
NotifyObservers(ContentSettingsPattern(),
ContentSettingsPattern(),
@@ -297,7 +297,7 @@ void PrefProvider::UpdatePref(
const ContentSettingsPattern& secondary_pattern,
ContentSettingsType content_type,
const ResourceIdentifier& resource_identifier,
- ContentSetting setting) {
+ const base::Value* value) {
// Ensure that |lock_| is not held by this thread, since this function will
// send out notifications (by |~DictionaryPrefUpdate|).
AssertLockNotHeld();
@@ -311,7 +311,7 @@ void PrefProvider::UpdatePref(
secondary_pattern,
content_type,
resource_identifier,
- setting,
+ value,
pattern_pairs_settings);
}
if (content_type != CONTENT_SETTINGS_TYPE_GEOLOCATION &&
@@ -320,9 +320,12 @@ void PrefProvider::UpdatePref(
secondary_pattern,
content_type,
resource_identifier,
- setting);
+ ValueToContentSetting(value));
} else if (content_type == CONTENT_SETTINGS_TYPE_GEOLOCATION) {
- UpdateObsoleteGeolocationPref(primary_pattern, secondary_pattern, setting);
+ UpdateObsoleteGeolocationPref(
+ primary_pattern,
+ secondary_pattern,
+ ValueToContentSetting(value));
} else if (content_type == CONTENT_SETTINGS_TYPE_NOTIFICATIONS) {
ListPrefUpdate update_allowed_sites(
prefs_, prefs::kDesktopNotificationAllowedOrigins);
@@ -330,7 +333,7 @@ void PrefProvider::UpdatePref(
prefs_, prefs::kDesktopNotificationDeniedOrigins);
UpdateObsoleteNotificationsSettings(primary_pattern,
secondary_pattern,
- setting,
+ ValueToContentSetting(value),
update_allowed_sites.Get(),
update_denied_sites.Get());
}
@@ -507,7 +510,7 @@ void PrefProvider::UpdatePatternPairsSettings(
const ContentSettingsPattern& secondary_pattern,
ContentSettingsType content_type,
const ResourceIdentifier& resource_identifier,
- ContentSetting setting,
+ const base::Value* value,
DictionaryValue* pattern_pairs_settings) {
// Get settings dictionary for the given patterns.
std::string pattern_str(CreatePatternString(primary_pattern,
@@ -516,7 +519,7 @@ void PrefProvider::UpdatePatternPairsSettings(
bool found = pattern_pairs_settings->GetDictionaryWithoutPathExpansion(
pattern_str, &settings_dictionary);
- if (!found && (setting != CONTENT_SETTING_DEFAULT)) {
+ if (!found && (value != NULL)) {
Bernhard Bauer 2011/11/11 14:00:40 Nit: the |!= NULL| is unnecessary.
markusheintz_ 2011/11/14 11:15:10 Done.
settings_dictionary = new DictionaryValue;
pattern_pairs_settings->SetWithoutPathExpansion(
pattern_str, settings_dictionary);
@@ -529,13 +532,13 @@ void PrefProvider::UpdatePatternPairsSettings(
found = settings_dictionary->GetDictionary(
res_dictionary_path, &resource_dictionary);
if (!found) {
- if (setting == CONTENT_SETTING_DEFAULT)
+ if (value == NULL)
return; // Nothing to remove. Exit early.
resource_dictionary = new DictionaryValue;
settings_dictionary->Set(res_dictionary_path, resource_dictionary);
}
// Update resource dictionary.
- if (setting == CONTENT_SETTING_DEFAULT) {
+ if (value == NULL) {
resource_dictionary->RemoveWithoutPathExpansion(resource_identifier,
NULL);
if (resource_dictionary->empty()) {
@@ -544,17 +547,17 @@ void PrefProvider::UpdatePatternPairsSettings(
}
} else {
resource_dictionary->SetWithoutPathExpansion(
- resource_identifier, Value::CreateIntegerValue(setting));
+ resource_identifier, value->DeepCopy());
}
} else {
// Update settings dictionary.
std::string setting_path = GetTypeName(content_type);
- if (setting == CONTENT_SETTING_DEFAULT) {
+ if (value == NULL) {
settings_dictionary->RemoveWithoutPathExpansion(setting_path,
NULL);
} else {
settings_dictionary->SetWithoutPathExpansion(
- setting_path, Value::CreateIntegerValue(setting));
+ setting_path, value->DeepCopy());
}
}
// Remove the settings dictionary if it is empty.
@@ -722,14 +725,14 @@ void PrefProvider::MigrateObsoletePerhostPref() {
setting = FixObsoleteCookiePromptMode(content_type, setting);
setting = ClickToPlayFixup(content_type, setting);
- // TODO(markusheintz): Maybe this check can be removed.
+ scoped_ptr<base::Value> value(Value::CreateIntegerValue(setting));
if (setting != CONTENT_SETTING_DEFAULT) {
- SetContentSetting(
+ SetWebsiteSetting(
pattern,
pattern,
content_type,
"",
- setting);
+ value.get());
}
}
}
@@ -746,11 +749,13 @@ void PrefProvider::MigrateObsoletePopupsPref() {
i != whitelist_pref->end(); ++i) {
std::string host;
(*i)->GetAsString(&host);
- SetContentSetting(ContentSettingsPattern::FromString(host),
+ scoped_ptr<base::Value> value(Value::CreateIntegerValue(
+ CONTENT_SETTING_ALLOW));
+ SetWebsiteSetting(ContentSettingsPattern::FromString(host),
ContentSettingsPattern::FromString(host),
CONTENT_SETTINGS_TYPE_POPUPS,
"",
- CONTENT_SETTING_ALLOW);
+ value.get());
}
prefs_->ClearPref(prefs::kPopupWhitelistedHosts);
}
@@ -931,9 +936,9 @@ void PrefProvider::MigrateObsoleteGeolocationPref() {
GURL secondary_url(secondary_key);
DCHECK(secondary_url.is_valid());
- int setting_value;
- found = requesting_origin_settings->GetIntegerWithoutPathExpansion(
- secondary_key, &setting_value);
+ base::Value* value = NULL;
+ found = requesting_origin_settings->GetWithoutPathExpansion(
+ secondary_key, &value);
DCHECK(found);
ContentSettingsPattern primary_pattern =
@@ -946,7 +951,7 @@ void PrefProvider::MigrateObsoleteGeolocationPref() {
secondary_pattern,
CONTENT_SETTINGS_TYPE_GEOLOCATION,
std::string(),
- IntToContentSetting(setting_value),
+ value,
pattern_pairs_settings);
}
}
@@ -975,11 +980,13 @@ void PrefProvider::MigrateObsoleteNotificationsPrefs() {
ContentSettingsPattern primary_pattern =
ContentSettingsPattern::FromURLNoWildcard(GURL(url_string));
DCHECK(primary_pattern.IsValid());
+ scoped_ptr<base::Value> value(
+ Value::CreateIntegerValue(CONTENT_SETTING_ALLOW));
UpdatePatternPairsSettings(primary_pattern,
ContentSettingsPattern::Wildcard(),
CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
std::string(),
- CONTENT_SETTING_ALLOW,
+ value.get(),
pattern_pairs_settings);
}
@@ -992,11 +999,13 @@ void PrefProvider::MigrateObsoleteNotificationsPrefs() {
ContentSettingsPattern primary_pattern =
ContentSettingsPattern::FromURLNoWildcard(GURL(url_string));
DCHECK(primary_pattern.IsValid());
+ scoped_ptr<base::Value> value(
+ Value::CreateIntegerValue(CONTENT_SETTING_BLOCK));
UpdatePatternPairsSettings(primary_pattern,
ContentSettingsPattern::Wildcard(),
CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
std::string(),
- CONTENT_SETTING_BLOCK,
+ value.get(),
pattern_pairs_settings);
}
}

Powered by Google App Engine
This is Rietveld 408576698