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

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

Issue 19610: Safe browsing cleanup:... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 10 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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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_database_bloom.h" 5 #include "chrome/browser/safe_browsing/safe_browsing_database_bloom.h"
6 6
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 24 matching lines...) Expand all
35 35
36 // When we awake from a low power state, we try to avoid doing expensive disk 36 // When we awake from a low power state, we try to avoid doing expensive disk
37 // operations for a few minutes to let the system page itself in and settle 37 // operations for a few minutes to let the system page itself in and settle
38 // down. 38 // down.
39 static const int kOnResumeHoldupMs = 5 * 60 * 1000; // 5 minutes. 39 static const int kOnResumeHoldupMs = 5 * 60 * 1000; // 5 minutes.
40 40
41 // The maximum staleness for a cached entry. 41 // The maximum staleness for a cached entry.
42 static const int kMaxStalenessMinutes = 45; 42 static const int kMaxStalenessMinutes = 45;
43 43
44 // The bloom filter based file name suffix. 44 // The bloom filter based file name suffix.
45 static const wchar_t kBloomFilterFileSuffix[] = L" Bloom"; 45 static const FilePath::CharType kBloomFilterFileSuffix[] =
46 FILE_PATH_LITERAL(" Bloom");
46 47
47 48
48 // Implementation -------------------------------------------------------------- 49 // Implementation --------------------------------------------------------------
49 50
50 SafeBrowsingDatabaseBloom::SafeBrowsingDatabaseBloom() 51 SafeBrowsingDatabaseBloom::SafeBrowsingDatabaseBloom()
51 : db_(NULL), 52 : db_(NULL),
52 init_(false), 53 init_(false),
53 ALLOW_THIS_IN_INITIALIZER_LIST(reset_factory_(this)), 54 ALLOW_THIS_IN_INITIALIZER_LIST(reset_factory_(this)),
54 ALLOW_THIS_IN_INITIALIZER_LIST(resume_factory_(this)), 55 ALLOW_THIS_IN_INITIALIZER_LIST(resume_factory_(this)),
55 add_count_(0), 56 add_count_(0),
56 did_resume_(false) { 57 did_resume_(false) {
57 } 58 }
58 59
59 SafeBrowsingDatabaseBloom::~SafeBrowsingDatabaseBloom() { 60 SafeBrowsingDatabaseBloom::~SafeBrowsingDatabaseBloom() {
60 Close(); 61 Close();
61 } 62 }
62 63
63 bool SafeBrowsingDatabaseBloom::Init(const std::wstring& filename, 64 bool SafeBrowsingDatabaseBloom::Init(const FilePath& filename,
64 Callback0::Type* chunk_inserted_callback) { 65 Callback0::Type* chunk_inserted_callback) {
65 DCHECK(!init_ && filename_.empty()); 66 DCHECK(!init_ && filename_.empty());
66 67
67 filename_ = filename + kBloomFilterFileSuffix; 68 filename_ = FilePath(filename.value() + kBloomFilterFileSuffix);
68 bloom_filter_filename_ = BloomFilterFilename(filename_); 69 bloom_filter_filename_ = BloomFilterFilename(filename_);
69 70
70 hash_cache_.reset(new HashCache); 71 hash_cache_.reset(new HashCache);
71 72
72 LoadBloomFilter(); 73 LoadBloomFilter();
73 74
74 init_ = true; 75 init_ = true;
75 chunk_inserted_callback_.reset(chunk_inserted_callback); 76 chunk_inserted_callback_.reset(chunk_inserted_callback);
76 77
77 return true; 78 return true;
(...skipping 26 matching lines...) Expand all
104 SB_DLOG(INFO) << "SafeBrowsingDatabase read bloom filter in " 105 SB_DLOG(INFO) << "SafeBrowsingDatabase read bloom filter in "
105 << (Time::Now() - before).InMilliseconds() << " ms"; 106 << (Time::Now() - before).InMilliseconds() << " ms";
106 107
107 bloom_filter_ = new BloomFilter(data, size); 108 bloom_filter_ = new BloomFilter(data, size);
108 } 109 }
109 110
110 bool SafeBrowsingDatabaseBloom::Open() { 111 bool SafeBrowsingDatabaseBloom::Open() {
111 if (db_) 112 if (db_)
112 return true; 113 return true;
113 114
114 if (sqlite3_open(WideToUTF8(filename_).c_str(), &db_) != SQLITE_OK) { 115 if (OpenSqliteDb(filename_, &db_) != SQLITE_OK) {
115 sqlite3_close(db_); 116 sqlite3_close(db_);
116 db_ = NULL; 117 db_ = NULL;
117 return false; 118 return false;
118 } 119 }
119 120
120 // Run the database in exclusive mode. Nobody else should be accessing the 121 // Run the database in exclusive mode. Nobody else should be accessing the
121 // database while we're running, and this will give somewhat improved perf. 122 // database while we're running, and this will give somewhat improved perf.
122 sqlite3_exec(db_, "PRAGMA locking_mode=EXCLUSIVE", NULL, NULL, NULL); 123 sqlite3_exec(db_, "PRAGMA locking_mode=EXCLUSIVE", NULL, NULL, NULL);
123 124
124 statement_cache_.reset(new SqliteStatementCache(db_)); 125 statement_cache_.reset(new SqliteStatementCache(db_));
(...skipping 1361 matching lines...) Expand 10 before | Expand all | Expand 10 after
1486 if (did_resume_) { 1487 if (did_resume_) {
1487 PlatformThread::Sleep(kOnResumeHoldupMs); 1488 PlatformThread::Sleep(kOnResumeHoldupMs);
1488 did_resume_ = false; 1489 did_resume_ = false;
1489 } 1490 }
1490 } 1491 }
1491 1492
1492 // This database is always synchronous since we don't need to worry about 1493 // This database is always synchronous since we don't need to worry about
1493 // blocking any incoming reads. 1494 // blocking any incoming reads.
1494 void SafeBrowsingDatabaseBloom::SetSynchronous() { 1495 void SafeBrowsingDatabaseBloom::SetSynchronous() {
1495 } 1496 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698