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

Unified Diff: components/safe_browsing_db/v4_database.cc

Issue 2353413002: Store list information in ListInfo (was: StoreIdAndFIleName) (Closed)
Patch Set: sort the members of ListInfo by member name Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/safe_browsing_db/v4_database.h ('k') | components/safe_browsing_db/v4_database_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/safe_browsing_db/v4_database.cc
diff --git a/components/safe_browsing_db/v4_database.cc b/components/safe_browsing_db/v4_database.cc
index 334a262ccc5b7262e838a4797c879fff3148460d..532475b10fc0e193fe1ed3d198f9aa2458819d18 100644
--- a/components/safe_browsing_db/v4_database.cc
+++ b/components/safe_browsing_db/v4_database.cc
@@ -23,24 +23,24 @@ V4StoreFactory* V4Database::factory_ = NULL;
void V4Database::Create(
const scoped_refptr<base::SequencedTaskRunner>& db_task_runner,
const base::FilePath& base_path,
- const StoreIdAndFileNames& store_id_file_names,
+ const ListInfos& list_infos,
NewDatabaseReadyCallback new_db_callback) {
DCHECK(base_path.IsAbsolute());
- DCHECK(!store_id_file_names.empty());
+ DCHECK(!list_infos.empty());
const scoped_refptr<base::SingleThreadTaskRunner>& callback_task_runner =
base::MessageLoop::current()->task_runner();
db_task_runner->PostTask(
FROM_HERE,
base::Bind(&V4Database::CreateOnTaskRunner, db_task_runner, base_path,
- store_id_file_names, callback_task_runner, new_db_callback));
+ list_infos, callback_task_runner, new_db_callback));
}
// static
void V4Database::CreateOnTaskRunner(
const scoped_refptr<base::SequencedTaskRunner>& db_task_runner,
const base::FilePath& base_path,
- const StoreIdAndFileNames& store_id_file_names,
+ const ListInfos& list_infos,
const scoped_refptr<base::SingleThreadTaskRunner>& callback_task_runner,
NewDatabaseReadyCallback new_db_callback) {
DCHECK(db_task_runner->RunsTasksOnCurrentThread());
@@ -55,9 +55,14 @@ void V4Database::CreateOnTaskRunner(
}
std::unique_ptr<StoreMap> store_map = base::MakeUnique<StoreMap>();
- for (const auto& it : store_id_file_names) {
- const base::FilePath store_path = base_path.AppendASCII(it.filename);
- (*store_map)[it.list_id].reset(
+ for (const auto& it : list_infos) {
+ if (!it.fetch_updates()) {
+ // This list doesn't need to be fetched or stored on disk.
+ continue;
+ }
+
+ const base::FilePath store_path = base_path.AppendASCII(it.filename());
+ (*store_map)[it.list_id()].reset(
factory_->CreateV4Store(db_task_runner, store_path));
}
std::unique_ptr<V4Database> v4_database(
@@ -184,12 +189,18 @@ void V4Database::GetStoresMatchingFullHash(
}
}
-StoreIdAndFileName::StoreIdAndFileName(const ListIdentifier& list_id,
- const std::string& filename)
- : list_id(list_id), filename(filename) {
- DCHECK(!filename.empty());
+ListInfo::ListInfo(const bool fetch_updates,
+ const std::string& filename,
+ const ListIdentifier& list_id,
+ const SBThreatType sb_threat_type)
+ : fetch_updates_(fetch_updates),
+ filename_(filename),
+ list_id_(list_id),
+ sb_threat_type_(sb_threat_type) {
+ DCHECK(!fetch_updates_ || !filename_.empty());
+ DCHECK_NE(SB_THREAT_TYPE_SAFE, sb_threat_type_);
}
-StoreIdAndFileName::~StoreIdAndFileName() {}
+ListInfo::~ListInfo() {}
} // namespace safe_browsing
« no previous file with comments | « components/safe_browsing_db/v4_database.h ('k') | components/safe_browsing_db/v4_database_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698