OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 <memory> | 5 #include <memory> |
6 | 6 |
7 #include "base/callback.h" | 7 #include "base/callback.h" |
8 #include "base/files/file_util.h" | 8 #include "base/files/file_util.h" |
9 #include "base/lazy_instance.h" | 9 #include "base/lazy_instance.h" |
10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 } | 58 } |
59 | 59 |
60 // static | 60 // static |
61 void V4Database::CreateOnTaskRunner( | 61 void V4Database::CreateOnTaskRunner( |
62 const scoped_refptr<base::SequencedTaskRunner>& db_task_runner, | 62 const scoped_refptr<base::SequencedTaskRunner>& db_task_runner, |
63 const base::FilePath& base_path, | 63 const base::FilePath& base_path, |
64 const ListInfos& list_infos, | 64 const ListInfos& list_infos, |
65 const scoped_refptr<base::SingleThreadTaskRunner>& callback_task_runner, | 65 const scoped_refptr<base::SingleThreadTaskRunner>& callback_task_runner, |
66 NewDatabaseReadyCallback new_db_callback, | 66 NewDatabaseReadyCallback new_db_callback, |
67 const TimeTicks create_start_time) { | 67 const TimeTicks create_start_time) { |
68 DCHECK(db_task_runner->RunsTasksOnCurrentThread()); | 68 DCHECK(db_task_runner->RunsTasksInCurrentSequence()); |
69 | 69 |
70 if (!g_store_factory.Get()) | 70 if (!g_store_factory.Get()) |
71 g_store_factory.Get() = base::MakeUnique<V4StoreFactory>(); | 71 g_store_factory.Get() = base::MakeUnique<V4StoreFactory>(); |
72 | 72 |
73 if (!base::CreateDirectory(base_path)) | 73 if (!base::CreateDirectory(base_path)) |
74 NOTREACHED(); | 74 NOTREACHED(); |
75 | 75 |
76 std::unique_ptr<StoreMap> store_map = base::MakeUnique<StoreMap>(); | 76 std::unique_ptr<StoreMap> store_map = base::MakeUnique<StoreMap>(); |
77 for (const auto& it : list_infos) { | 77 for (const auto& it : list_infos) { |
78 if (!it.fetch_updates()) { | 78 if (!it.fetch_updates()) { |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 g_store_factory.Get() = std::move(factory); | 112 g_store_factory.Get() = std::move(factory); |
113 } | 113 } |
114 | 114 |
115 V4Database::V4Database( | 115 V4Database::V4Database( |
116 const scoped_refptr<base::SequencedTaskRunner>& db_task_runner, | 116 const scoped_refptr<base::SequencedTaskRunner>& db_task_runner, |
117 std::unique_ptr<StoreMap> store_map) | 117 std::unique_ptr<StoreMap> store_map) |
118 : store_map_(std::move(store_map)), | 118 : store_map_(std::move(store_map)), |
119 db_task_runner_(db_task_runner), | 119 db_task_runner_(db_task_runner), |
120 pending_store_updates_(0), | 120 pending_store_updates_(0), |
121 weak_factory_on_io_(this) { | 121 weak_factory_on_io_(this) { |
122 DCHECK(db_task_runner->RunsTasksOnCurrentThread()); | 122 DCHECK(db_task_runner->RunsTasksInCurrentSequence()); |
123 } | 123 } |
124 | 124 |
125 // static | 125 // static |
126 void V4Database::Destroy(std::unique_ptr<V4Database> v4_database) { | 126 void V4Database::Destroy(std::unique_ptr<V4Database> v4_database) { |
127 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 127 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
128 V4Database* v4_database_raw = v4_database.release(); | 128 V4Database* v4_database_raw = v4_database.release(); |
129 if (v4_database_raw) { | 129 if (v4_database_raw) { |
130 v4_database_raw->weak_factory_on_io_.InvalidateWeakPtrs(); | 130 v4_database_raw->weak_factory_on_io_.InvalidateWeakPtrs(); |
131 v4_database_raw->db_task_runner_->DeleteSoon(FROM_HERE, v4_database_raw); | 131 v4_database_raw->db_task_runner_->DeleteSoon(FROM_HERE, v4_database_raw); |
132 } | 132 } |
133 } | 133 } |
134 | 134 |
135 V4Database::~V4Database() { | 135 V4Database::~V4Database() { |
136 DCHECK(db_task_runner_->RunsTasksOnCurrentThread()); | 136 DCHECK(db_task_runner_->RunsTasksInCurrentSequence()); |
137 } | 137 } |
138 | 138 |
139 void V4Database::ApplyUpdate( | 139 void V4Database::ApplyUpdate( |
140 std::unique_ptr<ParsedServerResponse> parsed_server_response, | 140 std::unique_ptr<ParsedServerResponse> parsed_server_response, |
141 DatabaseUpdatedCallback db_updated_callback) { | 141 DatabaseUpdatedCallback db_updated_callback) { |
142 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 142 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
143 DCHECK(!pending_store_updates_); | 143 DCHECK(!pending_store_updates_); |
144 DCHECK(db_updated_callback_.is_null()); | 144 DCHECK(db_updated_callback_.is_null()); |
145 | 145 |
146 db_updated_callback_ = db_updated_callback; | 146 db_updated_callback_ = db_updated_callback; |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
310 filename_(filename), | 310 filename_(filename), |
311 list_id_(list_id), | 311 list_id_(list_id), |
312 sb_threat_type_(sb_threat_type) { | 312 sb_threat_type_(sb_threat_type) { |
313 DCHECK(!fetch_updates_ || !filename_.empty()); | 313 DCHECK(!fetch_updates_ || !filename_.empty()); |
314 DCHECK_NE(SB_THREAT_TYPE_SAFE, sb_threat_type_); | 314 DCHECK_NE(SB_THREAT_TYPE_SAFE, sb_threat_type_); |
315 } | 315 } |
316 | 316 |
317 ListInfo::~ListInfo() {} | 317 ListInfo::~ListInfo() {} |
318 | 318 |
319 } // namespace safe_browsing | 319 } // namespace safe_browsing |
OLD | NEW |