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 b0e4daeb306758954528294a91be593ebb5a6189..3920b7d30a0b62a7c45fe8dbda61dc66f6aa2e9c 100644 |
--- a/chrome/browser/content_settings/host_content_settings_map.cc |
+++ b/chrome/browser/content_settings/host_content_settings_map.cc |
@@ -311,23 +311,24 @@ 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 pattern string using a multimap. |
+ std::multimap<std::string, 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(); |
- settings_map[sort_key] = PatternSettingSourceTuple( |
- rule->primary_pattern, |
- rule->secondary_pattern, |
- rule->content_setting, |
- kProviderNames[i]); |
+ std::pair<std::string, PatternSettingSourceTuple> map_entry( |
+ sort_key, |
+ PatternSettingSourceTuple(rule->primary_pattern, |
+ rule->secondary_pattern, |
+ rule->content_setting, |
+ kProviderNames[i])); |
+ |
+ settings_map.insert(map_entry); |
} |
// TODO(markusheintz): Only the rules that are applied should be added. |
- for (std::map<std::string, PatternSettingSourceTuple>::iterator i( |
+ for (std::multimap<std::string, PatternSettingSourceTuple>::iterator i( |
settings_map.begin()); |
i != settings_map.end(); |
++i) { |