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

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

Issue 60013005: Remove safe-browsing false-positive tracking. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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 | Annotate | Revision Log
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 #include "chrome/browser/safe_browsing/safe_browsing_store_file.h" 5 #include "chrome/browser/safe_browsing/safe_browsing_store_file.h"
6 6
7 #include "base/md5.h" 7 #include "base/md5.h"
8 #include "base/metrics/histogram.h" 8 #include "base/metrics/histogram.h"
9 9
10 namespace { 10 namespace {
(...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 return false; 469 return false;
470 470
471 ++chunks_written_; 471 ++chunks_written_;
472 472
473 // Clear everything to save memory. 473 // Clear everything to save memory.
474 return ClearChunkBuffers(); 474 return ClearChunkBuffers();
475 } 475 }
476 476
477 bool SafeBrowsingStoreFile::DoUpdate( 477 bool SafeBrowsingStoreFile::DoUpdate(
478 const std::vector<SBAddFullHash>& pending_adds, 478 const std::vector<SBAddFullHash>& pending_adds,
479 const std::set<SBPrefix>& prefix_misses,
480 SBAddPrefixes* add_prefixes_result, 479 SBAddPrefixes* add_prefixes_result,
481 std::vector<SBAddFullHash>* add_full_hashes_result) { 480 std::vector<SBAddFullHash>* add_full_hashes_result) {
482 DCHECK(file_.get() || empty_); 481 DCHECK(file_.get() || empty_);
483 DCHECK(new_file_.get()); 482 DCHECK(new_file_.get());
484 CHECK(add_prefixes_result); 483 CHECK(add_prefixes_result);
485 CHECK(add_full_hashes_result); 484 CHECK(add_full_hashes_result);
486 485
487 SBAddPrefixes add_prefixes; 486 SBAddPrefixes add_prefixes;
488 SBSubPrefixes sub_prefixes; 487 SBSubPrefixes sub_prefixes;
489 std::vector<SBAddFullHash> add_full_hashes; 488 std::vector<SBAddFullHash> add_full_hashes;
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 new_file_.get(), NULL) || 592 new_file_.get(), NULL) ||
594 !ReadToContainer(&sub_full_hashes, header.sub_hash_count, 593 !ReadToContainer(&sub_full_hashes, header.sub_hash_count,
595 new_file_.get(), NULL)) 594 new_file_.get(), NULL))
596 return false; 595 return false;
597 } 596 }
598 597
599 // Append items from |pending_adds|. 598 // Append items from |pending_adds|.
600 add_full_hashes.insert(add_full_hashes.end(), 599 add_full_hashes.insert(add_full_hashes.end(),
601 pending_adds.begin(), pending_adds.end()); 600 pending_adds.begin(), pending_adds.end());
602 601
603 // Check how often a prefix was checked which wasn't in the
604 // database.
605 SBCheckPrefixMisses(add_prefixes, prefix_misses);
606
607 // Knock the subs from the adds and process deleted chunks. 602 // Knock the subs from the adds and process deleted chunks.
608 SBProcessSubs(&add_prefixes, &sub_prefixes, 603 SBProcessSubs(&add_prefixes, &sub_prefixes,
609 &add_full_hashes, &sub_full_hashes, 604 &add_full_hashes, &sub_full_hashes,
610 add_del_cache_, sub_del_cache_); 605 add_del_cache_, sub_del_cache_);
611 606
612 // We no longer need to track deleted chunks. 607 // We no longer need to track deleted chunks.
613 DeleteChunksFromSet(add_del_cache_, &add_chunks_cache_); 608 DeleteChunksFromSet(add_del_cache_, &add_chunks_cache_);
614 DeleteChunksFromSet(sub_del_cache_, &sub_chunks_cache_); 609 DeleteChunksFromSet(sub_del_cache_, &sub_chunks_cache_);
615 610
616 // Write the new data to new_file_. 611 // Write the new data to new_file_.
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
668 663
669 // Pass the resulting data off to the caller. 664 // Pass the resulting data off to the caller.
670 add_prefixes_result->swap(add_prefixes); 665 add_prefixes_result->swap(add_prefixes);
671 add_full_hashes_result->swap(add_full_hashes); 666 add_full_hashes_result->swap(add_full_hashes);
672 667
673 return true; 668 return true;
674 } 669 }
675 670
676 bool SafeBrowsingStoreFile::FinishUpdate( 671 bool SafeBrowsingStoreFile::FinishUpdate(
677 const std::vector<SBAddFullHash>& pending_adds, 672 const std::vector<SBAddFullHash>& pending_adds,
678 const std::set<SBPrefix>& prefix_misses,
679 SBAddPrefixes* add_prefixes_result, 673 SBAddPrefixes* add_prefixes_result,
680 std::vector<SBAddFullHash>* add_full_hashes_result) { 674 std::vector<SBAddFullHash>* add_full_hashes_result) {
681 DCHECK(add_prefixes_result); 675 DCHECK(add_prefixes_result);
682 DCHECK(add_full_hashes_result); 676 DCHECK(add_full_hashes_result);
683 677
684 bool ret = DoUpdate(pending_adds, prefix_misses, 678 if (!DoUpdate(pending_adds, add_prefixes_result, add_full_hashes_result)) {
685 add_prefixes_result, add_full_hashes_result);
686
687 if (!ret) {
688 CancelUpdate(); 679 CancelUpdate();
689 return false; 680 return false;
690 } 681 }
691 682
692 DCHECK(!new_file_.get()); 683 DCHECK(!new_file_.get());
693 DCHECK(!file_.get()); 684 DCHECK(!file_.get());
694 685
695 return Close(); 686 return Close();
696 } 687 }
697 688
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
751 // With SQLite support gone, one way to get to this code is if the 742 // With SQLite support gone, one way to get to this code is if the
752 // existing file is a SQLite file. Make sure the journal file is 743 // existing file is a SQLite file. Make sure the journal file is
753 // also removed. 744 // also removed.
754 const base::FilePath journal_filename( 745 const base::FilePath journal_filename(
755 basename.value() + FILE_PATH_LITERAL("-journal")); 746 basename.value() + FILE_PATH_LITERAL("-journal"));
756 if (base::PathExists(journal_filename)) 747 if (base::PathExists(journal_filename))
757 base::DeleteFile(journal_filename, false); 748 base::DeleteFile(journal_filename, false);
758 749
759 return true; 750 return true;
760 } 751 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698