Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(313)

Side by Side Diff: chrome/browser/safe_browsing/safe_browsing_service_browsertest.cc

Issue 2829163004: Remove uses of base::hash_map from //chrome (Closed)
Patch Set: Downloads back Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // This test creates a safebrowsing service using test safebrowsing database 5 // This test creates a safebrowsing service using test safebrowsing database
6 // and a test protocol manager. It is used to test logics in safebrowsing 6 // and a test protocol manager. It is used to test logics in safebrowsing
7 // service. 7 // service.
8 8
9 #include "chrome/browser/safe_browsing/safe_browsing_service.h" 9 #include "chrome/browser/safe_browsing/safe_browsing_service.h"
10 10
11 #include <map>
12 #include <set>
11 #include <utility> 13 #include <utility>
12 14
13 #include "base/bind.h" 15 #include "base/bind.h"
14 #include "base/command_line.h" 16 #include "base/command_line.h"
15 #include "base/files/file_path.h" 17 #include "base/files/file_path.h"
16 #include "base/files/scoped_temp_dir.h" 18 #include "base/files/scoped_temp_dir.h"
17 #include "base/macros.h" 19 #include "base/macros.h"
18 #include "base/memory/ptr_util.h" 20 #include "base/memory/ptr_util.h"
19 #include "base/memory/ref_counted.h" 21 #include "base/memory/ref_counted.h"
20 #include "base/message_loop/message_loop.h" 22 #include "base/message_loop/message_loop.h"
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 std::vector<int> list_ids; 298 std::vector<int> list_ids;
297 std::vector<SBPrefix> prefix_hits; 299 std::vector<SBPrefix> prefix_hits;
298 }; 300 };
299 301
300 bool ContainsUrl(int list_id0, 302 bool ContainsUrl(int list_id0,
301 int list_id1, 303 int list_id1,
302 const std::vector<GURL>& urls, 304 const std::vector<GURL>& urls,
303 std::vector<SBPrefix>* prefix_hits) { 305 std::vector<SBPrefix>* prefix_hits) {
304 bool hit = false; 306 bool hit = false;
305 for (const GURL& url : urls) { 307 for (const GURL& url : urls) {
306 base::hash_map<std::string, Hits>::const_iterator badurls_it = 308 const auto badurls_it = badurls_.find(url.spec());
307 badurls_.find(url.spec());
308
309 if (badurls_it == badurls_.end()) 309 if (badurls_it == badurls_.end())
310 continue; 310 continue;
311 311
312 std::vector<int> list_ids_for_url = badurls_it->second.list_ids; 312 const std::vector<int>& list_ids_for_url = badurls_it->second.list_ids;
313 if (base::ContainsValue(list_ids_for_url, list_id0) || 313 if (base::ContainsValue(list_ids_for_url, list_id0) ||
314 base::ContainsValue(list_ids_for_url, list_id1)) { 314 base::ContainsValue(list_ids_for_url, list_id1)) {
315 prefix_hits->insert(prefix_hits->end(), 315 prefix_hits->insert(prefix_hits->end(),
316 badurls_it->second.prefix_hits.begin(), 316 badurls_it->second.prefix_hits.begin(),
317 badurls_it->second.prefix_hits.end()); 317 badurls_it->second.prefix_hits.end());
318 hit = true; 318 hit = true;
319 } 319 }
320 } 320 }
321 return hit; 321 return hit;
322 } 322 }
(...skipping 19 matching lines...) Expand all
342 if (entry.second == prefix && 342 if (entry.second == prefix &&
343 (entry.first == list_id0 || entry.first == list_id1)) { 343 (entry.first == list_id0 || entry.first == list_id1)) {
344 prefix_hits->push_back(prefix); 344 prefix_hits->push_back(prefix);
345 hit = true; 345 hit = true;
346 } 346 }
347 } 347 }
348 } 348 }
349 return hit; 349 return hit;
350 } 350 }
351 351
352 base::hash_map<std::string, Hits> badurls_; 352 std::map<std::string, Hits> badurls_;
353 base::hash_set<std::pair<int, SBPrefix>> bad_prefixes_; 353 std::set<std::pair<int, SBPrefix>> bad_prefixes_;
354 base::hash_map<std::string, GURL> urls_by_hash_; 354 std::map<std::string, GURL> urls_by_hash_;
355 355
356 DISALLOW_COPY_AND_ASSIGN(TestSafeBrowsingDatabase); 356 DISALLOW_COPY_AND_ASSIGN(TestSafeBrowsingDatabase);
357 }; 357 };
358 358
359 // Factory that creates TestSafeBrowsingDatabase instances. 359 // Factory that creates TestSafeBrowsingDatabase instances.
360 class TestSafeBrowsingDatabaseFactory : public SafeBrowsingDatabaseFactory { 360 class TestSafeBrowsingDatabaseFactory : public SafeBrowsingDatabaseFactory {
361 public: 361 public:
362 TestSafeBrowsingDatabaseFactory() : db_(nullptr) {} 362 TestSafeBrowsingDatabaseFactory() : db_(nullptr) {}
363 ~TestSafeBrowsingDatabaseFactory() override {} 363 ~TestSafeBrowsingDatabaseFactory() override {}
364 364
(...skipping 24 matching lines...) Expand all
389 net::URLRequestContextGetter* request_context_getter, 389 net::URLRequestContextGetter* request_context_getter,
390 const SafeBrowsingProtocolConfig& config) 390 const SafeBrowsingProtocolConfig& config)
391 : SafeBrowsingProtocolManager(delegate, request_context_getter, config) { 391 : SafeBrowsingProtocolManager(delegate, request_context_getter, config) {
392 create_count_++; 392 create_count_++;
393 } 393 }
394 394
395 ~TestProtocolManager() override { delete_count_++; } 395 ~TestProtocolManager() override { delete_count_++; }
396 396
397 // This function is called when there is a prefix hit in local safebrowsing 397 // This function is called when there is a prefix hit in local safebrowsing
398 // database and safebrowsing service issues a get hash request to backends. 398 // database and safebrowsing service issues a get hash request to backends.
399 // We return a result from the prefilled full_hashes_ hash_map to simulate 399 // We return a result from the prefilled full_hashes_ map to simulate
400 // server's response. At the same time, latency is added to simulate real 400 // server's response. At the same time, latency is added to simulate real
401 // life network issues. 401 // life network issues.
402 void GetFullHash(const std::vector<SBPrefix>& prefixes, 402 void GetFullHash(const std::vector<SBPrefix>& prefixes,
403 SafeBrowsingProtocolManager::FullHashCallback callback, 403 SafeBrowsingProtocolManager::FullHashCallback callback,
404 bool is_download, 404 bool is_download,
405 ExtendedReportingLevel reporting_level) override { 405 ExtendedReportingLevel reporting_level) override {
406 BrowserThread::PostDelayedTask( 406 BrowserThread::PostDelayedTask(
407 BrowserThread::IO, FROM_HERE, 407 BrowserThread::IO, FROM_HERE,
408 base::BindOnce(InvokeFullHashCallback, callback, full_hashes_), delay_); 408 base::BindOnce(InvokeFullHashCallback, callback, full_hashes_), delay_);
409 } 409 }
(...skipping 2066 matching lines...) Expand 10 before | Expand all | Expand 10 after
2476 } 2476 }
2477 2477
2478 INSTANTIATE_TEST_CASE_P( 2478 INSTANTIATE_TEST_CASE_P(
2479 MaybeSetMetadata, 2479 MaybeSetMetadata,
2480 V4SafeBrowsingServiceMetadataTest, 2480 V4SafeBrowsingServiceMetadataTest,
2481 testing::Values(ThreatPatternType::NONE, 2481 testing::Values(ThreatPatternType::NONE,
2482 ThreatPatternType::MALWARE_LANDING, 2482 ThreatPatternType::MALWARE_LANDING,
2483 ThreatPatternType::MALWARE_DISTRIBUTION)); 2483 ThreatPatternType::MALWARE_DISTRIBUTION));
2484 2484
2485 } // namespace safe_browsing 2485 } // namespace safe_browsing
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698