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

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

Issue 18286004: Move PathExists to base namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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 | 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 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 // static 172 // static
173 void SafeBrowsingStoreFile::RecordFormatEvent(FormatEventType event_type) { 173 void SafeBrowsingStoreFile::RecordFormatEvent(FormatEventType event_type) {
174 UMA_HISTOGRAM_ENUMERATION("SB2.FormatEvent", event_type, FORMAT_EVENT_MAX); 174 UMA_HISTOGRAM_ENUMERATION("SB2.FormatEvent", event_type, FORMAT_EVENT_MAX);
175 } 175 }
176 176
177 // static 177 // static
178 void SafeBrowsingStoreFile::CheckForOriginalAndDelete( 178 void SafeBrowsingStoreFile::CheckForOriginalAndDelete(
179 const base::FilePath& current_filename) { 179 const base::FilePath& current_filename) {
180 const base::FilePath original_filename( 180 const base::FilePath original_filename(
181 current_filename.DirName().AppendASCII("Safe Browsing")); 181 current_filename.DirName().AppendASCII("Safe Browsing"));
182 if (file_util::PathExists(original_filename)) { 182 if (base::PathExists(original_filename)) {
183 int64 size = 0; 183 int64 size = 0;
184 if (file_util::GetFileSize(original_filename, &size)) { 184 if (file_util::GetFileSize(original_filename, &size)) {
185 UMA_HISTOGRAM_COUNTS("SB2.OldDatabaseKilobytes", 185 UMA_HISTOGRAM_COUNTS("SB2.OldDatabaseKilobytes",
186 static_cast<int>(size / 1024)); 186 static_cast<int>(size / 1024));
187 } 187 }
188 188
189 if (base::Delete(original_filename, false)) { 189 if (base::Delete(original_filename, false)) {
190 RecordFormatEvent(FORMAT_EVENT_DELETED_ORIGINAL); 190 RecordFormatEvent(FORMAT_EVENT_DELETED_ORIGINAL);
191 } else { 191 } else {
192 RecordFormatEvent(FORMAT_EVENT_DELETED_ORIGINAL_FAILED); 192 RecordFormatEvent(FORMAT_EVENT_DELETED_ORIGINAL_FAILED);
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 const base::FilePath new_filename = TemporaryFileForFilename(filename_); 399 const base::FilePath new_filename = TemporaryFileForFilename(filename_);
400 file_util::ScopedFILE new_file(file_util::OpenFile(new_filename, "wb+")); 400 file_util::ScopedFILE new_file(file_util::OpenFile(new_filename, "wb+"));
401 if (new_file.get() == NULL) 401 if (new_file.get() == NULL)
402 return false; 402 return false;
403 403
404 file_util::ScopedFILE file(file_util::OpenFile(filename_, "rb")); 404 file_util::ScopedFILE file(file_util::OpenFile(filename_, "rb"));
405 empty_ = (file.get() == NULL); 405 empty_ = (file.get() == NULL);
406 if (empty_) { 406 if (empty_) {
407 // If the file exists but cannot be opened, try to delete it (not 407 // If the file exists but cannot be opened, try to delete it (not
408 // deleting directly, the bloom filter needs to be deleted, too). 408 // deleting directly, the bloom filter needs to be deleted, too).
409 if (file_util::PathExists(filename_)) 409 if (base::PathExists(filename_))
410 return OnCorruptDatabase(); 410 return OnCorruptDatabase();
411 411
412 new_file_.swap(new_file); 412 new_file_.swap(new_file);
413 return true; 413 return true;
414 } 414 }
415 415
416 FileHeader header; 416 FileHeader header;
417 if (!ReadItem(&header, file.get(), NULL)) 417 if (!ReadItem(&header, file.get(), NULL))
418 return OnCorruptDatabase(); 418 return OnCorruptDatabase();
419 419
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
648 if (!WriteItem(digest, new_file_.get(), NULL)) 648 if (!WriteItem(digest, new_file_.get(), NULL))
649 return false; 649 return false;
650 650
651 // Trim any excess left over from the temporary chunk data. 651 // Trim any excess left over from the temporary chunk data.
652 if (!file_util::TruncateFile(new_file_.get())) 652 if (!file_util::TruncateFile(new_file_.get()))
653 return false; 653 return false;
654 654
655 // Close the file handle and swizzle the file into place. 655 // Close the file handle and swizzle the file into place.
656 new_file_.reset(); 656 new_file_.reset();
657 if (!base::Delete(filename_, false) && 657 if (!base::Delete(filename_, false) &&
658 file_util::PathExists(filename_)) 658 base::PathExists(filename_))
659 return false; 659 return false;
660 660
661 const base::FilePath new_filename = TemporaryFileForFilename(filename_); 661 const base::FilePath new_filename = TemporaryFileForFilename(filename_);
662 if (!base::Move(new_filename, filename_)) 662 if (!base::Move(new_filename, filename_))
663 return false; 663 return false;
664 664
665 // Record counts before swapping to caller. 665 // Record counts before swapping to caller.
666 UMA_HISTOGRAM_COUNTS("SB2.AddPrefixes", add_prefixes.size()); 666 UMA_HISTOGRAM_COUNTS("SB2.AddPrefixes", add_prefixes.size());
667 UMA_HISTOGRAM_COUNTS("SB2.SubPrefixes", sub_prefixes.size()); 667 UMA_HISTOGRAM_COUNTS("SB2.SubPrefixes", sub_prefixes.size());
668 668
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
729 add_del_cache_.insert(chunk_id); 729 add_del_cache_.insert(chunk_id);
730 } 730 }
731 731
732 void SafeBrowsingStoreFile::DeleteSubChunk(int32 chunk_id) { 732 void SafeBrowsingStoreFile::DeleteSubChunk(int32 chunk_id) {
733 sub_del_cache_.insert(chunk_id); 733 sub_del_cache_.insert(chunk_id);
734 } 734 }
735 735
736 // static 736 // static
737 bool SafeBrowsingStoreFile::DeleteStore(const base::FilePath& basename) { 737 bool SafeBrowsingStoreFile::DeleteStore(const base::FilePath& basename) {
738 if (!base::Delete(basename, false) && 738 if (!base::Delete(basename, false) &&
739 file_util::PathExists(basename)) { 739 base::PathExists(basename)) {
740 NOTREACHED(); 740 NOTREACHED();
741 return false; 741 return false;
742 } 742 }
743 743
744 const base::FilePath new_filename = TemporaryFileForFilename(basename); 744 const base::FilePath new_filename = TemporaryFileForFilename(basename);
745 if (!base::Delete(new_filename, false) && 745 if (!base::Delete(new_filename, false) &&
746 file_util::PathExists(new_filename)) { 746 base::PathExists(new_filename)) {
747 NOTREACHED(); 747 NOTREACHED();
748 return false; 748 return false;
749 } 749 }
750 750
751 // With SQLite support gone, one way to get to this code is if the 751 // 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 752 // existing file is a SQLite file. Make sure the journal file is
753 // also removed. 753 // also removed.
754 const base::FilePath journal_filename( 754 const base::FilePath journal_filename(
755 basename.value() + FILE_PATH_LITERAL("-journal")); 755 basename.value() + FILE_PATH_LITERAL("-journal"));
756 if (file_util::PathExists(journal_filename)) 756 if (base::PathExists(journal_filename))
757 base::Delete(journal_filename, false); 757 base::Delete(journal_filename, false);
758 758
759 return true; 759 return true;
760 } 760 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698