| Index: chrome/browser/safe_browsing/safe_browsing_database.h
|
| diff --git a/chrome/browser/safe_browsing/safe_browsing_database.h b/chrome/browser/safe_browsing/safe_browsing_database.h
|
| index 9d22428a1272a4922f32f7af4046af90e978458c..a7010fbdc8c768e2604fe453555d24cd439dcb70 100644
|
| --- a/chrome/browser/safe_browsing/safe_browsing_database.h
|
| +++ b/chrome/browser/safe_browsing/safe_browsing_database.h
|
| @@ -133,7 +133,7 @@ class SafeBrowsingDatabase {
|
| // db.DeleteChunks(chunks_deletes);
|
| //
|
| // // If passed true, processes the collected chunk info and
|
| - // // rebuilds the bloom filter. If passed false, rolls everything
|
| + // // rebuilds the filter. If passed false, rolls everything
|
| // // back.
|
| // db.UpdateFinished(success);
|
| // }
|
| @@ -158,6 +158,9 @@ class SafeBrowsingDatabase {
|
| // The name of the bloom-filter file for the given database file.
|
| static FilePath BloomFilterForFilename(const FilePath& db_filename);
|
|
|
| + // The name of the prefix set file for the given database file.
|
| + static FilePath PrefixSetForFilename(const FilePath& db_filename);
|
| +
|
| // Filename for malware and phishing URL database.
|
| static FilePath BrowseDBFilename(const FilePath& db_base_filename);
|
|
|
| @@ -189,6 +192,11 @@ class SafeBrowsingDatabase {
|
| FAILURE_DOWNLOAD_DATABASE_UPDATE_FINISH,
|
| FAILURE_WHITELIST_DATABASE_UPDATE_BEGIN,
|
| FAILURE_WHITELIST_DATABASE_UPDATE_FINISH,
|
| + FAILURE_DATABASE_PREFIX_SET_MISSING,
|
| + FAILURE_DATABASE_PREFIX_SET_READ,
|
| + FAILURE_DATABASE_PREFIX_SET_WRITE,
|
| + FAILURE_DATABASE_PREFIX_SET_DELETE,
|
| +
|
| // Memory space for histograms is determined by the max. ALWAYS
|
| // ADD NEW VALUES BEFORE THIS ONE.
|
| FAILURE_DATABASE_MAX
|
| @@ -267,11 +275,11 @@ class SafeBrowsingDatabaseNew : public SafeBrowsingDatabase {
|
| // Deletes the files on disk.
|
| bool Delete();
|
|
|
| - // Load the bloom filter off disk, or generates one if it doesn't exist.
|
| - void LoadBloomFilter();
|
| + // Load the prefix set or bloom filter off disk, if available.
|
| + void LoadBloomFilterOrPrefixSet();
|
|
|
| - // Writes the current bloom filter to disk.
|
| - void WriteBloomFilter();
|
| + // Writes the current prefix set to disk.
|
| + void WritePrefixSet();
|
|
|
| // Loads the given full-length hashes to the given whitelist. If the number
|
| // of hashes is too large or if the kill switch URL is on the whitelist
|
| @@ -319,9 +327,9 @@ class SafeBrowsingDatabaseNew : public SafeBrowsingDatabase {
|
| MessageLoop* creation_loop_;
|
|
|
| // Lock for protecting access to variables that may be used on the
|
| - // IO thread. This includes |browse_bloom_filter_|, |full_browse_hashes_|,
|
| - // |pending_browse_hashes_|, |prefix_miss_cache_|, |csd_whitelist_|, and
|
| - // |csd_whitelist_all_urls_|.
|
| + // IO thread. This includes |browse_bloom_filter_|, |prefix_set_|,
|
| + // |full_browse_hashes_|, |pending_browse_hashes_|,
|
| + // |prefix_miss_cache_|, |csd_whitelist_|, and |csd_whitelist_all_urls_|.
|
| base::Lock lookup_lock_;
|
|
|
| // Underlying persistent store for chunk data.
|
| @@ -348,6 +356,7 @@ class SafeBrowsingDatabaseNew : public SafeBrowsingDatabase {
|
|
|
| // Bloom filter generated from the add-prefixes in |browse_store_|.
|
| // Only browse_store_ requires the BloomFilter for fast query.
|
| + // TODO(shess): Do not use, being replaced by prefix_set_.
|
| FilePath bloom_filter_filename_;
|
| scoped_refptr<BloomFilter> browse_bloom_filter_;
|
|
|
| @@ -377,6 +386,7 @@ class SafeBrowsingDatabaseNew : public SafeBrowsingDatabase {
|
| bool change_detected_;
|
|
|
| // Used to check if a prefix was in the database.
|
| + FilePath prefix_set_filename_;
|
| scoped_ptr<safe_browsing::PrefixSet> prefix_set_;
|
| };
|
|
|
|
|