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

Side by Side Diff: components/safe_browsing_db/v4_database.cc

Issue 2375663002: Replace MessageLoop::current()->task_runner() with ThreadTaskRunnerHandle::Get(). (Closed)
Patch Set: rebase Created 4 years, 2 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
OLDNEW
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/debug/leak_annotations.h" 8 #include "base/debug/leak_annotations.h"
9 #include "base/files/file_util.h" 9 #include "base/files/file_util.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
11 #include "base/message_loop/message_loop.h" 11 #include "base/threading/thread_task_runner_handle.h"
12 #include "components/safe_browsing_db/v4_database.h" 12 #include "components/safe_browsing_db/v4_database.h"
13 #include "content/public/browser/browser_thread.h" 13 #include "content/public/browser/browser_thread.h"
14 14
15 using content::BrowserThread; 15 using content::BrowserThread;
16 16
17 namespace safe_browsing { 17 namespace safe_browsing {
18 18
19 // static 19 // static
20 V4StoreFactory* V4Database::factory_ = NULL; 20 V4StoreFactory* V4Database::factory_ = NULL;
21 21
22 // static 22 // static
23 void V4Database::Create( 23 void V4Database::Create(
24 const scoped_refptr<base::SequencedTaskRunner>& db_task_runner, 24 const scoped_refptr<base::SequencedTaskRunner>& db_task_runner,
25 const base::FilePath& base_path, 25 const base::FilePath& base_path,
26 const ListInfos& list_infos, 26 const ListInfos& list_infos,
27 NewDatabaseReadyCallback new_db_callback) { 27 NewDatabaseReadyCallback new_db_callback) {
28 DCHECK(base_path.IsAbsolute()); 28 DCHECK(base_path.IsAbsolute());
29 DCHECK(!list_infos.empty()); 29 DCHECK(!list_infos.empty());
30 30
31 const scoped_refptr<base::SingleThreadTaskRunner>& callback_task_runner = 31 const scoped_refptr<base::SingleThreadTaskRunner> callback_task_runner =
32 base::MessageLoop::current()->task_runner(); 32 base::ThreadTaskRunnerHandle::Get();
33 db_task_runner->PostTask( 33 db_task_runner->PostTask(
34 FROM_HERE, 34 FROM_HERE,
35 base::Bind(&V4Database::CreateOnTaskRunner, db_task_runner, base_path, 35 base::Bind(&V4Database::CreateOnTaskRunner, db_task_runner, base_path,
36 list_infos, callback_task_runner, new_db_callback)); 36 list_infos, callback_task_runner, new_db_callback));
37 } 37 }
38 38
39 // static 39 // static
40 void V4Database::CreateOnTaskRunner( 40 void V4Database::CreateOnTaskRunner(
41 const scoped_refptr<base::SequencedTaskRunner>& db_task_runner, 41 const scoped_refptr<base::SequencedTaskRunner>& db_task_runner,
42 const base::FilePath& base_path, 42 const base::FilePath& base_path,
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 std::unique_ptr<ParsedServerResponse> parsed_server_response, 100 std::unique_ptr<ParsedServerResponse> parsed_server_response,
101 DatabaseUpdatedCallback db_updated_callback) { 101 DatabaseUpdatedCallback db_updated_callback) {
102 DCHECK_CURRENTLY_ON(BrowserThread::IO); 102 DCHECK_CURRENTLY_ON(BrowserThread::IO);
103 DCHECK(!pending_store_updates_); 103 DCHECK(!pending_store_updates_);
104 DCHECK(db_updated_callback_.is_null()); 104 DCHECK(db_updated_callback_.is_null());
105 105
106 db_updated_callback_ = db_updated_callback; 106 db_updated_callback_ = db_updated_callback;
107 107
108 // Post the V4Store update task on the task runner but get the callback on the 108 // Post the V4Store update task on the task runner but get the callback on the
109 // current thread. 109 // current thread.
110 const scoped_refptr<base::SingleThreadTaskRunner>& current_task_runner = 110 const scoped_refptr<base::SingleThreadTaskRunner> current_task_runner =
111 base::MessageLoop::current()->task_runner(); 111 base::ThreadTaskRunnerHandle::Get();
112 for (std::unique_ptr<ListUpdateResponse>& response : 112 for (std::unique_ptr<ListUpdateResponse>& response :
113 *parsed_server_response) { 113 *parsed_server_response) {
114 ListIdentifier identifier(*response); 114 ListIdentifier identifier(*response);
115 StoreMap::const_iterator iter = store_map_->find(identifier); 115 StoreMap::const_iterator iter = store_map_->find(identifier);
116 if (iter != store_map_->end()) { 116 if (iter != store_map_->end()) {
117 const std::unique_ptr<V4Store>& old_store = iter->second; 117 const std::unique_ptr<V4Store>& old_store = iter->second;
118 if (old_store->state() != response->new_client_state()) { 118 if (old_store->state() != response->new_client_state()) {
119 // A different state implies there are updates to process. 119 // A different state implies there are updates to process.
120 pending_store_updates_++; 120 pending_store_updates_++;
121 UpdatedStoreReadyCallback store_ready_callback = base::Bind( 121 UpdatedStoreReadyCallback store_ready_callback = base::Bind(
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 filename_(filename), 197 filename_(filename),
198 list_id_(list_id), 198 list_id_(list_id),
199 sb_threat_type_(sb_threat_type) { 199 sb_threat_type_(sb_threat_type) {
200 DCHECK(!fetch_updates_ || !filename_.empty()); 200 DCHECK(!fetch_updates_ || !filename_.empty());
201 DCHECK_NE(SB_THREAT_TYPE_SAFE, sb_threat_type_); 201 DCHECK_NE(SB_THREAT_TYPE_SAFE, sb_threat_type_);
202 } 202 }
203 203
204 ListInfo::~ListInfo() {} 204 ListInfo::~ListInfo() {}
205 205
206 } // namespace safe_browsing 206 } // namespace safe_browsing
OLDNEW
« no previous file with comments | « components/previews/core/previews_black_list_unittest.cc ('k') | components/test_runner/mock_screen_orientation_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698