summaryrefslogtreecommitdiffstats
path: root/chrome/browser/content_settings/host_content_settings_map.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/content_settings/host_content_settings_map.cc')
-rw-r--r--chrome/browser/content_settings/host_content_settings_map.cc14
1 files changed, 8 insertions, 6 deletions
diff --git a/chrome/browser/content_settings/host_content_settings_map.cc b/chrome/browser/content_settings/host_content_settings_map.cc
index b0e4dae..4bdb243 100644
--- a/chrome/browser/content_settings/host_content_settings_map.cc
+++ b/chrome/browser/content_settings/host_content_settings_map.cc
@@ -58,6 +58,8 @@ typedef std::vector<ProviderPtr>::const_iterator ConstProviderIterator;
typedef content_settings::ProviderInterface::Rules Rules;
+typedef std::pair<std::string, std::string> StringPair;
+
const char* kProviderNames[] = {
"policy",
"extension",
@@ -311,14 +313,14 @@ void HostContentSettingsMap::GetSettingsForOneType(
content_settings_providers_[i]->GetAllContentSettingsRules(
content_type, resource_identifier, &rules);
- // Sort rules according to their primary pattern string using a map.
- std::map<std::string, PatternSettingSourceTuple> settings_map;
+ // Sort rules according to their primary-secondary pattern string pairs
+ // using a map.
+ std::map<StringPair, PatternSettingSourceTuple> settings_map;
for (Rules::iterator rule = rules.begin();
rule != rules.end();
++rule) {
- // We do not support pattern pairs in the UI, so we only display the
- // primary pattern.
- std::string sort_key = rule->primary_pattern.ToString();
+ StringPair sort_key(rule->primary_pattern.ToString(),
+ rule->secondary_pattern.ToString());
settings_map[sort_key] = PatternSettingSourceTuple(
rule->primary_pattern,
rule->secondary_pattern,
@@ -327,7 +329,7 @@ void HostContentSettingsMap::GetSettingsForOneType(
}
// TODO(markusheintz): Only the rules that are applied should be added.
- for (std::map<std::string, PatternSettingSourceTuple>::iterator i(
+ for (std::map<StringPair, PatternSettingSourceTuple>::iterator i(
settings_map.begin());
i != settings_map.end();
++i) {