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

Side by Side Diff: base/task_scheduler/post_task.cc

Issue 2867693004: Snapshot of all changes to get jumbo in blink and content.
Patch Set: Rebased again Created 3 years, 5 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/task_scheduler/post_task.h" 5 #include "base/task_scheduler/post_task.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/task_scheduler/scoped_set_task_priority_for_current_thread.h" 10 #include "base/task_scheduler/scoped_set_task_priority_for_current_thread.h"
11 #include "base/task_scheduler/task_scheduler.h" 11 #include "base/task_scheduler/task_scheduler.h"
12 #include "base/threading/post_task_and_reply_impl.h" 12 #include "base/threading/post_task_and_reply_impl.h"
13 13
14 namespace base { 14 namespace base {
15 15
16 namespace { 16 namespace {
17 17
18 class PostTaskAndReplyTaskRunner : public internal::PostTaskAndReplyImpl { 18 class PostTaskWithTraitsAndReplyTaskRunner :
19 public internal::PostTaskAndReplyImpl {
19 public: 20 public:
20 explicit PostTaskAndReplyTaskRunner(const TaskTraits& traits) 21 explicit PostTaskWithTraitsAndReplyTaskRunner(const TaskTraits& traits)
21 : traits_(traits) {} 22 : traits_(traits) {}
22 23
23 private: 24 private:
24 bool PostTask(const tracked_objects::Location& from_here, 25 bool PostTask(const tracked_objects::Location& from_here,
25 OnceClosure task) override { 26 OnceClosure task) override {
26 PostTaskWithTraits(from_here, traits_, std::move(task)); 27 PostTaskWithTraits(from_here, traits_, std::move(task));
27 return true; 28 return true;
28 } 29 }
29 30
30 const TaskTraits traits_; 31 const TaskTraits traits_;
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 << "Ref. Prerequisite section of post_task.h"; 74 << "Ref. Prerequisite section of post_task.h";
74 TaskScheduler::GetInstance()->PostDelayedTaskWithTraits( 75 TaskScheduler::GetInstance()->PostDelayedTaskWithTraits(
75 from_here, GetTaskTraitsWithExplicitPriority(traits), std::move(task), 76 from_here, GetTaskTraitsWithExplicitPriority(traits), std::move(task),
76 std::move(delay)); 77 std::move(delay));
77 } 78 }
78 79
79 void PostTaskWithTraitsAndReply(const tracked_objects::Location& from_here, 80 void PostTaskWithTraitsAndReply(const tracked_objects::Location& from_here,
80 const TaskTraits& traits, 81 const TaskTraits& traits,
81 OnceClosure task, 82 OnceClosure task,
82 OnceClosure reply) { 83 OnceClosure reply) {
83 PostTaskAndReplyTaskRunner(traits).PostTaskAndReply( 84 PostTaskWithTraitsAndReplyTaskRunner(traits).PostTaskAndReply(
84 from_here, std::move(task), std::move(reply)); 85 from_here, std::move(task), std::move(reply));
85 } 86 }
86 87
87 scoped_refptr<TaskRunner> CreateTaskRunnerWithTraits(const TaskTraits& traits) { 88 scoped_refptr<TaskRunner> CreateTaskRunnerWithTraits(const TaskTraits& traits) {
88 DCHECK(TaskScheduler::GetInstance()) 89 DCHECK(TaskScheduler::GetInstance())
89 << "Ref. Prerequisite section of post_task.h"; 90 << "Ref. Prerequisite section of post_task.h";
90 return TaskScheduler::GetInstance()->CreateTaskRunnerWithTraits( 91 return TaskScheduler::GetInstance()->CreateTaskRunnerWithTraits(
91 GetTaskTraitsWithExplicitPriority(traits)); 92 GetTaskTraitsWithExplicitPriority(traits));
92 } 93 }
93 94
(...skipping 19 matching lines...) Expand all
113 const TaskTraits& traits, 114 const TaskTraits& traits,
114 SingleThreadTaskRunnerThreadMode thread_mode) { 115 SingleThreadTaskRunnerThreadMode thread_mode) {
115 DCHECK(TaskScheduler::GetInstance()) 116 DCHECK(TaskScheduler::GetInstance())
116 << "Ref. Prerequisite section of post_task.h"; 117 << "Ref. Prerequisite section of post_task.h";
117 return TaskScheduler::GetInstance()->CreateCOMSTATaskRunnerWithTraits( 118 return TaskScheduler::GetInstance()->CreateCOMSTATaskRunnerWithTraits(
118 GetTaskTraitsWithExplicitPriority(traits), thread_mode); 119 GetTaskTraitsWithExplicitPriority(traits), thread_mode);
119 } 120 }
120 #endif // defined(OS_WIN) 121 #endif // defined(OS_WIN)
121 122
122 } // namespace base 123 } // namespace base
OLDNEW
« no previous file with comments | « base/memory/discardable_memory_allocator.cc ('k') | base/threading/sequenced_task_runner_handle.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698