OLD | NEW |
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 #include "chrome/browser/safe_browsing/local_database_manager.h" | 5 #include "chrome/browser/safe_browsing/local_database_manager.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
473 queued_checks_.push_back(queued_check); | 473 queued_checks_.push_back(queued_check); |
474 return false; | 474 return false; |
475 } | 475 } |
476 | 476 |
477 // Cache hits should, in general, be the same for both (ignoring potential | 477 // Cache hits should, in general, be the same for both (ignoring potential |
478 // cache evictions in the second call for entries that were just about to be | 478 // cache evictions in the second call for entries that were just about to be |
479 // evicted in the first call). | 479 // evicted in the first call). |
480 // TODO(gab): Refactor SafeBrowsingDatabase to avoid depending on this here. | 480 // TODO(gab): Refactor SafeBrowsingDatabase to avoid depending on this here. |
481 std::vector<SBFullHashResult> cache_hits; | 481 std::vector<SBFullHashResult> cache_hits; |
482 | 482 |
| 483 std::vector<SBFullHash> full_hashes; |
| 484 UrlToFullHashes(url, false, &full_hashes); |
| 485 |
483 std::vector<SBPrefix> browse_prefix_hits; | 486 std::vector<SBPrefix> browse_prefix_hits; |
484 bool browse_prefix_match = database_->ContainsBrowseUrl( | 487 bool browse_prefix_match = database_->ContainsBrowseHashes( |
485 url, &browse_prefix_hits, &cache_hits); | 488 full_hashes, &browse_prefix_hits, &cache_hits); |
486 | 489 |
487 std::vector<SBPrefix> unwanted_prefix_hits; | 490 std::vector<SBPrefix> unwanted_prefix_hits; |
488 std::vector<SBFullHashResult> unused_cache_hits; | 491 std::vector<SBFullHashResult> unused_cache_hits; |
489 bool unwanted_prefix_match = database_->ContainsUnwantedSoftwareUrl( | 492 bool unwanted_prefix_match = database_->ContainsUnwantedSoftwareHashes( |
490 url, &unwanted_prefix_hits, &unused_cache_hits); | 493 full_hashes, &unwanted_prefix_hits, &unused_cache_hits); |
491 | 494 |
492 // Merge the two pre-sorted prefix hits lists. | 495 // Merge the two pre-sorted prefix hits lists. |
493 // TODO(gab): Refactor SafeBrowsingDatabase for it to return this merged list | 496 // TODO(gab): Refactor SafeBrowsingDatabase for it to return this merged list |
494 // by default rather than building it here. | 497 // by default rather than building it here. |
495 std::vector<SBPrefix> prefix_hits(browse_prefix_hits.size() + | 498 std::vector<SBPrefix> prefix_hits(browse_prefix_hits.size() + |
496 unwanted_prefix_hits.size()); | 499 unwanted_prefix_hits.size()); |
497 std::merge(browse_prefix_hits.begin(), | 500 std::merge(browse_prefix_hits.begin(), |
498 browse_prefix_hits.end(), | 501 browse_prefix_hits.end(), |
499 unwanted_prefix_hits.begin(), | 502 unwanted_prefix_hits.begin(), |
500 unwanted_prefix_hits.end(), | 503 unwanted_prefix_hits.end(), |
(...skipping 689 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1190 FROM_HERE, base::Bind(&LocalSafeBrowsingDatabaseManager::TimeoutCallback, | 1193 FROM_HERE, base::Bind(&LocalSafeBrowsingDatabaseManager::TimeoutCallback, |
1191 check->weak_ptr_factory_->GetWeakPtr(), check), | 1194 check->weak_ptr_factory_->GetWeakPtr(), check), |
1192 check_timeout_); | 1195 check_timeout_); |
1193 } | 1196 } |
1194 | 1197 |
1195 bool LocalSafeBrowsingDatabaseManager::download_protection_enabled() const { | 1198 bool LocalSafeBrowsingDatabaseManager::download_protection_enabled() const { |
1196 return enable_download_protection_; | 1199 return enable_download_protection_; |
1197 } | 1200 } |
1198 | 1201 |
1199 } // namespace safe_browsing | 1202 } // namespace safe_browsing |
OLD | NEW |