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

Side by Side Diff: content/child/worker_thread_registry.cc

Issue 2637843002: Migrate base::TaskRunner from Closure to OnceClosure (Closed)
Patch Set: rebase Created 3 years, 8 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
« no previous file with comments | « content/child/worker_thread_registry.h ('k') | content/public/browser/browser_thread.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "content/child/worker_thread_registry.h" 5 #include "content/child/worker_thread_registry.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 20 matching lines...) Expand all
31 31
32 // A task-runner that refuses to run any tasks. 32 // A task-runner that refuses to run any tasks.
33 class DoNothingTaskRunner : public base::TaskRunner { 33 class DoNothingTaskRunner : public base::TaskRunner {
34 public: 34 public:
35 DoNothingTaskRunner() {} 35 DoNothingTaskRunner() {}
36 36
37 private: 37 private:
38 ~DoNothingTaskRunner() override {} 38 ~DoNothingTaskRunner() override {}
39 39
40 bool PostDelayedTask(const tracked_objects::Location& from_here, 40 bool PostDelayedTask(const tracked_objects::Location& from_here,
41 base::Closure task, 41 base::OnceClosure task,
42 base::TimeDelta delay) override { 42 base::TimeDelta delay) override {
43 return false; 43 return false;
44 } 44 }
45 45
46 bool RunsTasksOnCurrentThread() const override { return false; } 46 bool RunsTasksOnCurrentThread() const override { return false; }
47 }; 47 };
48 48
49 } // namespace 49 } // namespace
50 50
51 // WorkerThread implementation: 51 // WorkerThread implementation:
52 52
53 int WorkerThread::GetCurrentId() { 53 int WorkerThread::GetCurrentId() {
54 if (!g_observers_tls.Pointer()->Get()) 54 if (!g_observers_tls.Pointer()->Get())
55 return 0; 55 return 0;
56 return base::PlatformThread::CurrentId(); 56 return base::PlatformThread::CurrentId();
57 } 57 }
58 58
59 void WorkerThread::PostTask(int id, base::Closure task) { 59 void WorkerThread::PostTask(int id, base::OnceClosure task) {
60 WorkerThreadRegistry::Instance()->PostTask(id, std::move(task)); 60 WorkerThreadRegistry::Instance()->PostTask(id, std::move(task));
61 } 61 }
62 62
63 void WorkerThread::AddObserver(Observer* observer) { 63 void WorkerThread::AddObserver(Observer* observer) {
64 DCHECK(GetCurrentId() > 0); 64 DCHECK(GetCurrentId() > 0);
65 WorkerThreadObservers* observers = g_observers_tls.Pointer()->Get(); 65 WorkerThreadObservers* observers = g_observers_tls.Pointer()->Get();
66 DCHECK(observers); 66 DCHECK(observers);
67 observers->AddObserver(observer); 67 observers->AddObserver(observer);
68 } 68 }
69 69
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 g_observers_tls.Pointer()->Set(nullptr); 118 g_observers_tls.Pointer()->Set(nullptr);
119 } 119 }
120 120
121 base::TaskRunner* WorkerThreadRegistry::GetTaskRunnerFor(int worker_id) { 121 base::TaskRunner* WorkerThreadRegistry::GetTaskRunnerFor(int worker_id) {
122 base::AutoLock locker(task_runner_map_lock_); 122 base::AutoLock locker(task_runner_map_lock_);
123 return base::ContainsKey(task_runner_map_, worker_id) 123 return base::ContainsKey(task_runner_map_, worker_id)
124 ? task_runner_map_[worker_id] 124 ? task_runner_map_[worker_id]
125 : task_runner_for_dead_worker_.get(); 125 : task_runner_for_dead_worker_.get();
126 } 126 }
127 127
128 bool WorkerThreadRegistry::PostTask(int id, base::Closure closure) { 128 bool WorkerThreadRegistry::PostTask(int id, base::OnceClosure closure) {
129 DCHECK(id > 0); 129 DCHECK(id > 0);
130 base::AutoLock locker(task_runner_map_lock_); 130 base::AutoLock locker(task_runner_map_lock_);
131 IDToTaskRunnerMap::iterator found = task_runner_map_.find(id); 131 IDToTaskRunnerMap::iterator found = task_runner_map_.find(id);
132 if (found == task_runner_map_.end()) 132 if (found == task_runner_map_.end())
133 return false; 133 return false;
134 return found->second->PostTask(FROM_HERE, std::move(closure)); 134 return found->second->PostTask(FROM_HERE, std::move(closure));
135 } 135 }
136 136
137 } // namespace content 137 } // namespace content
OLDNEW
« no previous file with comments | « content/child/worker_thread_registry.h ('k') | content/public/browser/browser_thread.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698