| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/content_settings/content_settings_origin_identifier_val
ue_map.h" | 5 #include "chrome/browser/content_settings/content_settings_origin_identifier_val
ue_map.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/values.h" | 8 #include "base/values.h" |
| 9 #include "googleurl/src/gurl.h" | 9 #include "googleurl/src/gurl.h" |
| 10 | 10 |
| 11 namespace content_settings { | 11 namespace content_settings { |
| 12 | 12 |
| 13 OriginIdentifierValueMap::Entry::Entry( | 13 OriginIdentifierValueMap::Entry::Entry( |
| 14 ContentSettingsPattern item_pattern, | 14 ContentSettingsPattern item_pattern, |
| 15 ContentSettingsPattern top_level_frame_pattern, | 15 ContentSettingsPattern top_level_frame_pattern, |
| 16 ContentSettingsType content_type, | 16 ContentSettingsType content_type, |
| 17 OriginIdentifierValueMap::ResourceIdentifier identifier, | 17 OriginIdentifierValueMap::ResourceIdentifier identifier, |
| 18 Value* value) | 18 Value* value) |
| 19 : item_pattern(item_pattern), | 19 : item_pattern(item_pattern), |
| 20 top_level_frame_pattern(top_level_frame_pattern), | 20 top_level_frame_pattern(top_level_frame_pattern), |
| 21 content_type(content_type), | 21 content_type(content_type), |
| 22 identifier(identifier), | 22 identifier(identifier), |
| 23 value(value) { | 23 value(value) { |
| 24 } | 24 } |
| 25 | 25 |
| 26 OriginIdentifierValueMap::Entry::~Entry() {} | 26 OriginIdentifierValueMap::Entry::~Entry() {} |
| 27 | 27 |
| 28 OriginIdentifierValueMap::OriginIdentifierValueMap() {} | 28 OriginIdentifierValueMap::OriginIdentifierValueMap() {} |
| 29 | 29 |
| 30 OriginIdentifierValueMap::~OriginIdentifierValueMap() { | 30 OriginIdentifierValueMap::~OriginIdentifierValueMap() {} |
| 31 Clear(); | |
| 32 } | |
| 33 | 31 |
| 34 bool operator>(const OriginIdentifierValueMap::Entry& first, | 32 bool operator>(const OriginIdentifierValueMap::Entry& first, |
| 35 const OriginIdentifierValueMap::Entry& second) { | 33 const OriginIdentifierValueMap::Entry& second) { |
| 36 // Compare item patterns. | 34 // Compare item patterns. |
| 37 if (first.item_pattern > second.item_pattern) | 35 if (first.item_pattern > second.item_pattern) |
| 38 return true; | 36 return true; |
| 39 if (first.item_pattern < second.item_pattern) | 37 if (first.item_pattern < second.item_pattern) |
| 40 return false; | 38 return false; |
| 41 | 39 |
| 42 // Compare top_level_frame patterns. | 40 // Compare top_level_frame patterns. |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 OriginIdentifierValueMap::iterator entry_to_delete = | 99 OriginIdentifierValueMap::iterator entry_to_delete = |
| 102 FindEntry(item_pattern, | 100 FindEntry(item_pattern, |
| 103 top_level_frame_pattern, | 101 top_level_frame_pattern, |
| 104 content_type, | 102 content_type, |
| 105 resource_identifier); | 103 resource_identifier); |
| 106 if (entry_to_delete != entries_.end()) { | 104 if (entry_to_delete != entries_.end()) { |
| 107 entries_.erase(entry_to_delete); | 105 entries_.erase(entry_to_delete); |
| 108 } | 106 } |
| 109 } | 107 } |
| 110 | 108 |
| 111 void OriginIdentifierValueMap::Clear() { | 109 void OriginIdentifierValueMap::clear() { |
| 112 // Delete all owned value objects. | 110 // Delete all owned value objects. |
| 113 /* | |
| 114 for (OriginIdentifierValueMap::iterator entry = entries_.begin(); | |
| 115 entry != entries_.end(); | |
| 116 ++entry) { | |
| 117 delete entry->value; | |
| 118 } | |
| 119 */ | |
| 120 entries_.clear(); | 111 entries_.clear(); |
| 121 } | 112 } |
| 122 | 113 |
| 123 OriginIdentifierValueMap::iterator OriginIdentifierValueMap::DeleteValue( | 114 OriginIdentifierValueMap::iterator OriginIdentifierValueMap::erase( |
| 124 OriginIdentifierValueMap::iterator entry) { | 115 OriginIdentifierValueMap::iterator entry) { |
| 125 return entries_.erase(entry); | 116 return entries_.erase(entry); |
| 126 } | 117 } |
| 127 | 118 |
| 128 OriginIdentifierValueMap::iterator OriginIdentifierValueMap::FindEntry( | 119 OriginIdentifierValueMap::iterator OriginIdentifierValueMap::FindEntry( |
| 129 const ContentSettingsPattern& item_pattern, | 120 const ContentSettingsPattern& item_pattern, |
| 130 const ContentSettingsPattern& top_level_frame_pattern, | 121 const ContentSettingsPattern& top_level_frame_pattern, |
| 131 ContentSettingsType content_type, | 122 ContentSettingsType content_type, |
| 132 const ResourceIdentifier& resource_identifier) { | 123 const ResourceIdentifier& resource_identifier) { |
| 133 for (OriginIdentifierValueMap::iterator entry = entries_.begin(); | 124 for (OriginIdentifierValueMap::iterator entry = entries_.begin(); |
| 134 entry != entries_.end(); | 125 entry != entries_.end(); |
| 135 ++entry) { | 126 ++entry) { |
| 136 if (item_pattern == entry->item_pattern && | 127 if (item_pattern == entry->item_pattern && |
| 137 top_level_frame_pattern == entry->top_level_frame_pattern && | 128 top_level_frame_pattern == entry->top_level_frame_pattern && |
| 138 content_type == entry->content_type && | 129 content_type == entry->content_type && |
| 139 resource_identifier == entry->identifier) { | 130 resource_identifier == entry->identifier) { |
| 140 return entry; | 131 return entry; |
| 141 } | 132 } |
| 142 } | 133 } |
| 143 return entries_.end(); | 134 return entries_.end(); |
| 144 } | 135 } |
| 145 | 136 |
| 146 } // namespace content_settings | 137 } // namespace content_settings |
| OLD | NEW |