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

Side by Side Diff: base/test/scoped_task_scheduler.cc

Issue 2873733003: Introduce SingleThreadTaskRunnerThreadMode (Closed)
Patch Set: Created 3 years, 7 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 "base/test/scoped_task_scheduler.h" 5 #include "base/test/scoped_task_scheduler.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 void Start(const TaskScheduler::InitParams& init_params) override; 53 void Start(const TaskScheduler::InitParams& init_params) override;
54 void PostDelayedTaskWithTraits(const tracked_objects::Location& from_here, 54 void PostDelayedTaskWithTraits(const tracked_objects::Location& from_here,
55 const TaskTraits& traits, 55 const TaskTraits& traits,
56 OnceClosure task, 56 OnceClosure task,
57 TimeDelta delay) override; 57 TimeDelta delay) override;
58 scoped_refptr<TaskRunner> CreateTaskRunnerWithTraits( 58 scoped_refptr<TaskRunner> CreateTaskRunnerWithTraits(
59 const TaskTraits& traits) override; 59 const TaskTraits& traits) override;
60 scoped_refptr<SequencedTaskRunner> CreateSequencedTaskRunnerWithTraits( 60 scoped_refptr<SequencedTaskRunner> CreateSequencedTaskRunnerWithTraits(
61 const TaskTraits& traits) override; 61 const TaskTraits& traits) override;
62 scoped_refptr<SingleThreadTaskRunner> CreateSingleThreadTaskRunnerWithTraits( 62 scoped_refptr<SingleThreadTaskRunner> CreateSingleThreadTaskRunnerWithTraits(
63 const TaskTraits& traits) override; 63 const TaskTraits& traits,
64 SingleThreadTaskRunnerThreadMode thread_mode) override;
64 #if defined(OS_WIN) 65 #if defined(OS_WIN)
65 scoped_refptr<SingleThreadTaskRunner> CreateCOMSTATaskRunnerWithTraits( 66 scoped_refptr<SingleThreadTaskRunner> CreateCOMSTATaskRunnerWithTraits(
66 const TaskTraits& traits) override; 67 const TaskTraits& traits,
68 SingleThreadTaskRunnerThreadMode thread_mode) override;
67 #endif // defined(OS_WIN) 69 #endif // defined(OS_WIN)
68 std::vector<const HistogramBase*> GetHistograms() const override; 70 std::vector<const HistogramBase*> GetHistograms() const override;
69 int GetMaxConcurrentTasksWithTraitsDeprecated( 71 int GetMaxConcurrentTasksWithTraitsDeprecated(
70 const TaskTraits& traits) const override; 72 const TaskTraits& traits) const override;
71 void Shutdown() override; 73 void Shutdown() override;
72 void FlushForTesting() override; 74 void FlushForTesting() override;
73 void JoinForTesting() override; 75 void JoinForTesting() override;
74 76
75 // Posts |task| to this TaskScheduler with |sequence_token|. Returns true on 77 // Posts |task| to this TaskScheduler with |sequence_token|. Returns true on
76 // success. 78 // success.
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 191
190 scoped_refptr<SequencedTaskRunner> 192 scoped_refptr<SequencedTaskRunner>
191 TestTaskScheduler::CreateSequencedTaskRunnerWithTraits( 193 TestTaskScheduler::CreateSequencedTaskRunnerWithTraits(
192 const TaskTraits& traits) { 194 const TaskTraits& traits) {
193 return make_scoped_refptr( 195 return make_scoped_refptr(
194 new TestTaskSchedulerTaskRunner(this, ExecutionMode::SEQUENCED, traits)); 196 new TestTaskSchedulerTaskRunner(this, ExecutionMode::SEQUENCED, traits));
195 } 197 }
196 198
197 scoped_refptr<SingleThreadTaskRunner> 199 scoped_refptr<SingleThreadTaskRunner>
198 TestTaskScheduler::CreateSingleThreadTaskRunnerWithTraits( 200 TestTaskScheduler::CreateSingleThreadTaskRunnerWithTraits(
199 const TaskTraits& traits) { 201 const TaskTraits& traits,
202 SingleThreadTaskRunnerThreadMode thread_mode) {
200 return make_scoped_refptr(new TestTaskSchedulerTaskRunner( 203 return make_scoped_refptr(new TestTaskSchedulerTaskRunner(
201 this, ExecutionMode::SINGLE_THREADED, traits)); 204 this, ExecutionMode::SINGLE_THREADED, traits));
202 } 205 }
203 206
204 #if defined(OS_WIN) 207 #if defined(OS_WIN)
205 scoped_refptr<SingleThreadTaskRunner> 208 scoped_refptr<SingleThreadTaskRunner>
206 TestTaskScheduler::CreateCOMSTATaskRunnerWithTraits(const TaskTraits& traits) { 209 TestTaskScheduler::CreateCOMSTATaskRunnerWithTraits(
210 const TaskTraits& traits,
211 SingleThreadTaskRunnerThreadMode thread_mode) {
207 EnsureCOMSTA(); 212 EnsureCOMSTA();
208 return make_scoped_refptr(new TestTaskSchedulerTaskRunner( 213 return make_scoped_refptr(new TestTaskSchedulerTaskRunner(
209 this, ExecutionMode::SINGLE_THREADED, traits)); 214 this, ExecutionMode::SINGLE_THREADED, traits));
210 } 215 }
211 #endif // defined(OS_WIN) 216 #endif // defined(OS_WIN)
212 217
213 std::vector<const HistogramBase*> TestTaskScheduler::GetHistograms() const { 218 std::vector<const HistogramBase*> TestTaskScheduler::GetHistograms() const {
214 NOTREACHED(); 219 NOTREACHED();
215 return std::vector<const HistogramBase*>(); 220 return std::vector<const HistogramBase*>();
216 } 221 }
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 DCHECK_EQ(task_scheduler_, TaskScheduler::GetInstance()); 336 DCHECK_EQ(task_scheduler_, TaskScheduler::GetInstance());
332 337
333 // Per contract, call JoinForTesting() before deleting the TaskScheduler. 338 // Per contract, call JoinForTesting() before deleting the TaskScheduler.
334 TaskScheduler::GetInstance()->JoinForTesting(); 339 TaskScheduler::GetInstance()->JoinForTesting();
335 340
336 TaskScheduler::SetInstance(nullptr); 341 TaskScheduler::SetInstance(nullptr);
337 } 342 }
338 343
339 } // namespace test 344 } // namespace test
340 } // namespace base 345 } // namespace base
OLDNEW
« base/task_scheduler/task_scheduler.h ('K') | « base/task_scheduler/task_scheduler_impl_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698