OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 <memory> | 5 #include <memory> |
6 | 6 |
7 #include "base/callback.h" | 7 #include "base/callback.h" |
8 #include "base/debug/leak_annotations.h" | 8 #include "base/debug/leak_annotations.h" |
9 #include "base/files/file_util.h" | 9 #include "base/files/file_util.h" |
10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
161 | 161 |
162 std::unique_ptr<StoreStateMap> V4Database::GetStoreStateMap() { | 162 std::unique_ptr<StoreStateMap> V4Database::GetStoreStateMap() { |
163 std::unique_ptr<StoreStateMap> store_state_map = | 163 std::unique_ptr<StoreStateMap> store_state_map = |
164 base::MakeUnique<StoreStateMap>(); | 164 base::MakeUnique<StoreStateMap>(); |
165 for (const auto& store_map_iter : *store_map_) { | 165 for (const auto& store_map_iter : *store_map_) { |
166 (*store_state_map)[store_map_iter.first] = store_map_iter.second->state(); | 166 (*store_state_map)[store_map_iter.first] = store_map_iter.second->state(); |
167 } | 167 } |
168 return store_state_map; | 168 return store_state_map; |
169 } | 169 } |
170 | 170 |
171 void V4Database::GetStoresMatchingFullHash( | |
172 const FullHash& full_hash, | |
173 const base::hash_set<UpdateListIdentifier>& stores_to_look, | |
174 MatchedHashPrefixMap* matched_hash_prefix_map) { | |
175 for (const auto& store_pair : *store_map_) { | |
Nathan Parker
2016/07/20 20:44:13
This is sort of NxM complexity with two loops (for
vakh (use Gerrit instead)
2016/07/20 21:10:27
Done.
| |
176 const UpdateListIdentifier& identifier = store_pair.first; | |
177 if (stores_to_look.count(identifier) == 1) { | |
178 const std::unique_ptr<V4Store>& store = store_pair.second; | |
179 | |
180 HashPrefix hash_prefix = store->GetMatchingHashPrefix(full_hash); | |
181 if (!hash_prefix.empty()) { | |
182 (*matched_hash_prefix_map)[identifier] = hash_prefix; | |
183 } | |
184 } | |
185 } | |
186 } | |
187 | |
171 } // namespace safe_browsing | 188 } // namespace safe_browsing |
OLD | NEW |