| 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 |