Chromium Code Reviews| 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 |