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

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

Issue 6542048: Add content_settings::PolicyProvider and a set of new policies to managed content settings. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: " Created 9 years, 10 months 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/host_content_settings_map.cc
diff --git a/chrome/browser/content_settings/host_content_settings_map.cc b/chrome/browser/content_settings/host_content_settings_map.cc
index ab89ac8c1ef1e9ccb652c15c309871868b1ddf78..b07cc79dcae6d8f208966bad03a6dc55176820e2 100644
--- a/chrome/browser/content_settings/host_content_settings_map.cc
+++ b/chrome/browser/content_settings/host_content_settings_map.cc
@@ -100,8 +100,10 @@ HostContentSettingsMap::HostContentSettingsMap(Profile* profile)
// The order in which the content settings providers are created is critical,
// as providers that are further up in the list (i.e. added earlier) override
// providers further down.
- content_settings_providers_.push_back(ProviderPtr(
- new content_settings::PrefProvider(profile)));
+ content_settings_providers_.push_back(
+ ProviderPtr(new content_settings::PolicyProvider(profile)));
Bernhard Bauer 2011/02/23 13:18:53 I think you could just use |make_linked_ptr| inste
markusheintz_ 2011/02/23 18:42:09 ABSOLUTELY!!! DONE But having the ProviderPtr typ
+ content_settings_providers_.push_back(
+ ProviderPtr(new content_settings::PrefProvider(profile)));
pref_change_registrar_.Init(prefs);
pref_change_registrar_.Add(prefs::kBlockThirdPartyCookies, this);
@@ -124,6 +126,7 @@ void HostContentSettingsMap::RegisterUserPrefs(PrefService* prefs) {
content_settings::PrefDefaultProvider::RegisterUserPrefs(prefs);
content_settings::PolicyDefaultProvider::RegisterUserPrefs(prefs);
content_settings::PrefProvider::RegisterUserPrefs(prefs);
+ content_settings::PolicyProvider::RegisterUserPrefs(prefs);
}
ContentSetting HostContentSettingsMap::GetDefaultContentSetting(
@@ -151,8 +154,7 @@ ContentSetting HostContentSettingsMap::GetContentSetting(
ContentSetting setting = GetNonDefaultContentSetting(url,
content_type,
resource_identifier);
- if (setting == CONTENT_SETTING_DEFAULT ||
- IsDefaultContentSettingManaged(content_type)) {
+ if (setting == CONTENT_SETTING_DEFAULT) {
Bernhard Bauer 2011/02/23 13:18:53 You could get rid of the braces, but personally I
markusheintz_ 2011/02/23 18:42:09 Don't care much either. Flipped a coin and deleted
return GetDefaultContentSetting(content_type);
}
return setting;
@@ -173,8 +175,10 @@ ContentSetting HostContentSettingsMap::GetNonDefaultContentSetting(
++provider) {
provided_setting = (*provider)->GetContentSetting(
url, url, content_type, resource_identifier);
- if (provided_setting != CONTENT_SETTING_DEFAULT)
- break;
+ bool isManaged = (*provider)->ContentSettingsTypeIsManaged(content_type);
+ if (provided_setting != CONTENT_SETTING_DEFAULT ||
+ isManaged)
Bernhard Bauer 2011/02/23 13:18:53 Doesn't this fit on one line?
markusheintz_ 2011/02/23 18:42:09 Done.
+ return provided_setting;
}
return provided_setting;
}
@@ -188,9 +192,8 @@ ContentSettings HostContentSettingsMap::GetContentSettings(
for (int j = 0; j < CONTENT_SETTINGS_NUM_TYPES; ++j) {
// A managed default content setting has the highest priority and hence
// will overwrite any previously set value.
- if ((output.settings[j] == CONTENT_SETTING_DEFAULT &&
- j != CONTENT_SETTINGS_TYPE_PLUGINS) ||
- IsDefaultContentSettingManaged(ContentSettingsType(j))) {
+ if (output.settings[j] == CONTENT_SETTING_DEFAULT &&
+ j != CONTENT_SETTINGS_TYPE_PLUGINS) {
output.settings[j] = GetDefaultContentSetting(ContentSettingsType(j));
}
}
@@ -225,8 +228,14 @@ void HostContentSettingsMap::GetSettingsForOneType(
++provider) {
// TODO(markusheintz): Only the rules that are applied should be collected.
// Merge rules.
+ // TODO(markusheintz): GetAllContentSettingsRules should maybe not clear the
+ // passed vector in case rule sets are just unified.
+ Rules rules;
(*provider)->GetAllContentSettingsRules(
- content_type, resource_identifier, &content_settings_rules);
+ content_type, resource_identifier, &rules);
+ content_settings_rules.insert(content_settings_rules.end(),
+ rules.begin(),
+ rules.end());
}
// convert Rules to SettingsForOneType

Powered by Google App Engine
This is Rietveld 408576698