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

Side by Side Diff: media/base/bind_to_loop.h

Issue 65803002: Replace MessageLoopProxy with SingleThreadTaskRunner for media/filters/ + associated code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years 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 | Annotate | Revision Log
« no previous file with comments | « content/renderer/media/webmediaplayer_impl.cc ('k') | media/base/bind_to_loop.h.pump » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // This file was GENERATED by command: 1 // This file was GENERATED by command:
2 // pump.py bind_to_loop.h.pump 2 // pump.py bind_to_loop.h.pump
3 // DO NOT EDIT BY HAND!!! 3 // DO NOT EDIT BY HAND!!!
4 4
5 5
6 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 6 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
7 // Use of this source code is governed by a BSD-style license that can be 7 // Use of this source code is governed by a BSD-style license that can be
8 // found in the LICENSE file. 8 // found in the LICENSE file.
9 9
10 #ifndef MEDIA_BASE_BIND_TO_LOOP_H_ 10 #ifndef MEDIA_BASE_BIND_TO_LOOP_H_
11 #define MEDIA_BASE_BIND_TO_LOOP_H_ 11 #define MEDIA_BASE_BIND_TO_LOOP_H_
12 12
13 #include "base/bind.h" 13 #include "base/bind.h"
14 #include "base/location.h" 14 #include "base/location.h"
15 #include "base/message_loop/message_loop_proxy.h" 15 #include "base/message_loop/message_loop_proxy.h"
16 #include "base/single_thread_task_runner.h"
16 17
17 // This is a helper utility for base::Bind()ing callbacks on to particular 18 // This is a helper utility for base::Bind()ing callbacks on to particular
18 // MessageLoops. A typical use is when |a| (of class |A|) wants to hand a 19 // MessageLoops. A typical use is when |a| (of class |A|) wants to hand a
19 // callback such as base::Bind(&A::AMethod, a) to |b|, but needs to ensure that 20 // callback such as base::Bind(&A::AMethod, a) to |b|, but needs to ensure that
20 // when |b| executes the callback, it does so on a particular MessageLoop. 21 // when |b| executes the callback, it does so on a particular MessageLoop.
21 // 22 //
22 // Typical usage: request to be called back on the current thread: 23 // Typical usage: request to be called back on the current thread:
23 // other->StartAsyncProcessAndCallMeBack( 24 // other->StartAsyncProcessAndCallMeBack(
24 // media::BindToLoop(MessageLoopProxy::current(), 25 // media::BindToLoop(MessageLoopProxy::current(),
25 // base::Bind(&MyClass::MyMethod, this))); 26 // base::Bind(&MyClass::MyMethod, this)));
(...skipping 20 matching lines...) Expand all
46 47
47 template <typename T> 48 template <typename T>
48 base::internal::PassedWrapper<ScopedVector<T> > TrampolineForward( 49 base::internal::PassedWrapper<ScopedVector<T> > TrampolineForward(
49 ScopedVector<T>& p) { return base::Passed(&p); } 50 ScopedVector<T>& p) { return base::Passed(&p); }
50 51
51 template <typename T> struct TrampolineHelper; 52 template <typename T> struct TrampolineHelper;
52 53
53 template <> 54 template <>
54 struct TrampolineHelper<void()> { 55 struct TrampolineHelper<void()> {
55 static void Run( 56 static void Run(
56 const scoped_refptr<base::MessageLoopProxy>& loop, 57 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
57 const base::Callback<void()>& cb) { 58 const base::Callback<void()>& cb) {
58 loop->PostTask(FROM_HERE, base::Bind(cb)); 59 task_runner->PostTask(FROM_HERE, base::Bind(cb));
59 } 60 }
60 }; 61 };
61 62
62 63
63 template <typename A1> 64 template <typename A1>
64 struct TrampolineHelper<void(A1)> { 65 struct TrampolineHelper<void(A1)> {
65 static void Run( 66 static void Run(
66 const scoped_refptr<base::MessageLoopProxy>& loop, 67 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
67 const base::Callback<void(A1)>& cb, A1 a1) { 68 const base::Callback<void(A1)>& cb, A1 a1) {
68 loop->PostTask(FROM_HERE, base::Bind(cb, internal::TrampolineForward(a1))); 69 task_runner->PostTask(FROM_HERE, base::Bind(cb,
70 internal::TrampolineForward(a1)));
69 } 71 }
70 }; 72 };
71 73
72 74
73 template <typename A1, typename A2> 75 template <typename A1, typename A2>
74 struct TrampolineHelper<void(A1, A2)> { 76 struct TrampolineHelper<void(A1, A2)> {
75 static void Run( 77 static void Run(
76 const scoped_refptr<base::MessageLoopProxy>& loop, 78 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
77 const base::Callback<void(A1, A2)>& cb, A1 a1, A2 a2) { 79 const base::Callback<void(A1, A2)>& cb, A1 a1, A2 a2) {
78 loop->PostTask(FROM_HERE, base::Bind(cb, internal::TrampolineForward(a1), 80 task_runner->PostTask(FROM_HERE, base::Bind(cb,
79 internal::TrampolineForward(a2))); 81 internal::TrampolineForward(a1), internal::TrampolineForward(a2)));
80 } 82 }
81 }; 83 };
82 84
83 85
84 template <typename A1, typename A2, typename A3> 86 template <typename A1, typename A2, typename A3>
85 struct TrampolineHelper<void(A1, A2, A3)> { 87 struct TrampolineHelper<void(A1, A2, A3)> {
86 static void Run( 88 static void Run(
87 const scoped_refptr<base::MessageLoopProxy>& loop, 89 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
88 const base::Callback<void(A1, A2, A3)>& cb, A1 a1, A2 a2, A3 a3) { 90 const base::Callback<void(A1, A2, A3)>& cb, A1 a1, A2 a2, A3 a3) {
89 loop->PostTask(FROM_HERE, base::Bind(cb, internal::TrampolineForward(a1), 91 task_runner->PostTask(FROM_HERE, base::Bind(cb,
90 internal::TrampolineForward(a2), internal::TrampolineForward(a3))); 92 internal::TrampolineForward(a1), internal::TrampolineForward(a2),
93 internal::TrampolineForward(a3)));
91 } 94 }
92 }; 95 };
93 96
94 97
95 template <typename A1, typename A2, typename A3, typename A4> 98 template <typename A1, typename A2, typename A3, typename A4>
96 struct TrampolineHelper<void(A1, A2, A3, A4)> { 99 struct TrampolineHelper<void(A1, A2, A3, A4)> {
97 static void Run( 100 static void Run(
98 const scoped_refptr<base::MessageLoopProxy>& loop, 101 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
99 const base::Callback<void(A1, A2, A3, A4)>& cb, A1 a1, A2 a2, A3 a3, 102 const base::Callback<void(A1, A2, A3, A4)>& cb, A1 a1, A2 a2, A3 a3,
100 A4 a4) { 103 A4 a4) {
101 loop->PostTask(FROM_HERE, base::Bind(cb, internal::TrampolineForward(a1), 104 task_runner->PostTask(FROM_HERE, base::Bind(cb,
102 internal::TrampolineForward(a2), internal::TrampolineForward(a3), 105 internal::TrampolineForward(a1), internal::TrampolineForward(a2),
103 internal::TrampolineForward(a4))); 106 internal::TrampolineForward(a3), internal::TrampolineForward(a4)));
104 } 107 }
105 }; 108 };
106 109
107 110
108 template <typename A1, typename A2, typename A3, typename A4, typename A5> 111 template <typename A1, typename A2, typename A3, typename A4, typename A5>
109 struct TrampolineHelper<void(A1, A2, A3, A4, A5)> { 112 struct TrampolineHelper<void(A1, A2, A3, A4, A5)> {
110 static void Run( 113 static void Run(
111 const scoped_refptr<base::MessageLoopProxy>& loop, 114 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
112 const base::Callback<void(A1, A2, A3, A4, A5)>& cb, A1 a1, A2 a2, A3 a3, 115 const base::Callback<void(A1, A2, A3, A4, A5)>& cb, A1 a1, A2 a2, A3 a3,
113 A4 a4, A5 a5) { 116 A4 a4, A5 a5) {
114 loop->PostTask(FROM_HERE, base::Bind(cb, internal::TrampolineForward(a1), 117 task_runner->PostTask(FROM_HERE, base::Bind(cb,
115 internal::TrampolineForward(a2), internal::TrampolineForward(a3), 118 internal::TrampolineForward(a1), internal::TrampolineForward(a2),
116 internal::TrampolineForward(a4), internal::TrampolineForward(a5))); 119 internal::TrampolineForward(a3), internal::TrampolineForward(a4),
120 internal::TrampolineForward(a5)));
117 } 121 }
118 }; 122 };
119 123
120 124
121 template <typename A1, typename A2, typename A3, typename A4, typename A5, 125 template <typename A1, typename A2, typename A3, typename A4, typename A5,
122 typename A6> 126 typename A6>
123 struct TrampolineHelper<void(A1, A2, A3, A4, A5, A6)> { 127 struct TrampolineHelper<void(A1, A2, A3, A4, A5, A6)> {
124 static void Run( 128 static void Run(
125 const scoped_refptr<base::MessageLoopProxy>& loop, 129 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
126 const base::Callback<void(A1, A2, A3, A4, A5, A6)>& cb, A1 a1, A2 a2, 130 const base::Callback<void(A1, A2, A3, A4, A5, A6)>& cb, A1 a1, A2 a2,
127 A3 a3, A4 a4, A5 a5, A6 a6) { 131 A3 a3, A4 a4, A5 a5, A6 a6) {
128 loop->PostTask(FROM_HERE, base::Bind(cb, internal::TrampolineForward(a1), 132 task_runner->PostTask(FROM_HERE, base::Bind(cb,
129 internal::TrampolineForward(a2), internal::TrampolineForward(a3), 133 internal::TrampolineForward(a1), internal::TrampolineForward(a2),
130 internal::TrampolineForward(a4), internal::TrampolineForward(a5), 134 internal::TrampolineForward(a3), internal::TrampolineForward(a4),
131 internal::TrampolineForward(a6))); 135 internal::TrampolineForward(a5), internal::TrampolineForward(a6)));
132 } 136 }
133 }; 137 };
134 138
135 139
136 template <typename A1, typename A2, typename A3, typename A4, typename A5, 140 template <typename A1, typename A2, typename A3, typename A4, typename A5,
137 typename A6, typename A7> 141 typename A6, typename A7>
138 struct TrampolineHelper<void(A1, A2, A3, A4, A5, A6, A7)> { 142 struct TrampolineHelper<void(A1, A2, A3, A4, A5, A6, A7)> {
139 static void Run( 143 static void Run(
140 const scoped_refptr<base::MessageLoopProxy>& loop, 144 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
141 const base::Callback<void(A1, A2, A3, A4, A5, A6, A7)>& cb, A1 a1, A2 a2, 145 const base::Callback<void(A1, A2, A3, A4, A5, A6, A7)>& cb, A1 a1, A2 a2,
142 A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) { 146 A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) {
143 loop->PostTask(FROM_HERE, base::Bind(cb, internal::TrampolineForward(a1), 147 task_runner->PostTask(FROM_HERE, base::Bind(cb,
144 internal::TrampolineForward(a2), internal::TrampolineForward(a3), 148 internal::TrampolineForward(a1), internal::TrampolineForward(a2),
145 internal::TrampolineForward(a4), internal::TrampolineForward(a5), 149 internal::TrampolineForward(a3), internal::TrampolineForward(a4),
146 internal::TrampolineForward(a6), internal::TrampolineForward(a7))); 150 internal::TrampolineForward(a5), internal::TrampolineForward(a6),
151 internal::TrampolineForward(a7)));
147 } 152 }
148 }; 153 };
149 154
150 155
151 } // namespace internal 156 } // namespace internal
152 157
153 template<typename T> 158 template<typename T>
154 static base::Callback<T> BindToLoop( 159 static base::Callback<T> BindToLoop(
155 const scoped_refptr<base::MessageLoopProxy>& loop, 160 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
156 const base::Callback<T>& cb) { 161 const base::Callback<T>& cb) {
157 return base::Bind(&internal::TrampolineHelper<T>::Run, loop, cb); 162 return base::Bind(&internal::TrampolineHelper<T>::Run, task_runner, cb);
158 } 163 }
159 164
160 template<typename T> 165 template<typename T>
161 static base::Callback<T> BindToCurrentLoop( 166 static base::Callback<T> BindToCurrentLoop(
162 const base::Callback<T>& cb) { 167 const base::Callback<T>& cb) {
163 return BindToLoop(base::MessageLoopProxy::current(), cb); 168 return BindToLoop(base::MessageLoopProxy::current(), cb);
164 } 169 }
165 170
166 } // namespace media 171 } // namespace media
167 172
168 #endif // MEDIA_BASE_BIND_TO_LOOP_H_ 173 #endif // MEDIA_BASE_BIND_TO_LOOP_H_
OLDNEW
« no previous file with comments | « content/renderer/media/webmediaplayer_impl.cc ('k') | media/base/bind_to_loop.h.pump » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698