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 |