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

Side by Side Diff: ui/ozone/platform/drm/mus_thread_proxy.cc

Issue 2875823005: Convert ozone/drm to OnceCallback (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 "ui/ozone/platform/drm/mus_thread_proxy.h" 5 #include "ui/ozone/platform/drm/mus_thread_proxy.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/single_thread_task_runner.h" 8 #include "base/single_thread_task_runner.h"
9 #include "base/task_runner.h" 9 #include "base/task_runner.h"
10 #include "base/threading/thread_task_runner_handle.h" 10 #include "base/threading/thread_task_runner_handle.h"
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 DCHECK(on_window_server_thread_.CalledOnValidThread()); 179 DCHECK(on_window_server_thread_.CalledOnValidThread());
180 overlay_manager_ = nullptr; 180 overlay_manager_ = nullptr;
181 } 181 }
182 182
183 bool MusThreadProxy::GpuCheckOverlayCapabilities( 183 bool MusThreadProxy::GpuCheckOverlayCapabilities(
184 gfx::AcceleratedWidget widget, 184 gfx::AcceleratedWidget widget,
185 const std::vector<OverlayCheck_Params>& overlays) { 185 const std::vector<OverlayCheck_Params>& overlays) {
186 DCHECK(drm_thread_->IsRunning()); 186 DCHECK(drm_thread_->IsRunning());
187 DCHECK(on_window_server_thread_.CalledOnValidThread()); 187 DCHECK(on_window_server_thread_.CalledOnValidThread());
188 auto callback = 188 auto callback =
189 base::Bind(&MusThreadProxy::GpuCheckOverlayCapabilitiesCallback, 189 base::BindOnce(&MusThreadProxy::GpuCheckOverlayCapabilitiesCallback,
190 weak_ptr_factory_.GetWeakPtr()); 190 weak_ptr_factory_.GetWeakPtr());
191 auto safe_callback = CreateSafeOnceCallback(std::move(callback));
191 drm_thread_->task_runner()->PostTask( 192 drm_thread_->task_runner()->PostTask(
192 FROM_HERE, base::Bind(&DrmThread::CheckOverlayCapabilities, 193 FROM_HERE, base::BindOnce(&DrmThread::CheckOverlayCapabilities,
193 base::Unretained(drm_thread_), widget, overlays, 194 base::Unretained(drm_thread_), widget, overlays,
194 CreateSafeCallback(callback))); 195 std::move(safe_callback)));
195 return true; 196 return true;
196 } 197 }
197 198
198 bool MusThreadProxy::GpuRefreshNativeDisplays() { 199 bool MusThreadProxy::GpuRefreshNativeDisplays() {
199 DCHECK(drm_thread_->IsRunning()); 200 DCHECK(drm_thread_->IsRunning());
200 DCHECK(on_window_server_thread_.CalledOnValidThread()); 201 DCHECK(on_window_server_thread_.CalledOnValidThread());
201 auto callback = base::Bind(&MusThreadProxy::GpuRefreshNativeDisplaysCallback, 202 auto callback =
202 weak_ptr_factory_.GetWeakPtr()); 203 base::BindOnce(&MusThreadProxy::GpuRefreshNativeDisplaysCallback,
204 weak_ptr_factory_.GetWeakPtr());
205 auto safe_callback = CreateSafeOnceCallback(std::move(callback));
203 drm_thread_->task_runner()->PostTask( 206 drm_thread_->task_runner()->PostTask(
204 FROM_HERE, 207 FROM_HERE,
205 base::Bind(&DrmThread::RefreshNativeDisplays, 208 base::BindOnce(&DrmThread::RefreshNativeDisplays,
206 base::Unretained(drm_thread_), CreateSafeCallback(callback))); 209 base::Unretained(drm_thread_), std::move(safe_callback)));
207 return true; 210 return true;
208 } 211 }
209 212
210 bool MusThreadProxy::GpuConfigureNativeDisplay(int64_t id, 213 bool MusThreadProxy::GpuConfigureNativeDisplay(int64_t id,
211 const DisplayMode_Params& mode, 214 const DisplayMode_Params& mode,
212 const gfx::Point& origin) { 215 const gfx::Point& origin) {
213 DCHECK(drm_thread_->IsRunning()); 216 DCHECK(drm_thread_->IsRunning());
214 DCHECK(on_window_server_thread_.CalledOnValidThread()); 217 DCHECK(on_window_server_thread_.CalledOnValidThread());
215 218
216 auto callback = base::Bind(&MusThreadProxy::GpuConfigureNativeDisplayCallback, 219 auto callback =
217 weak_ptr_factory_.GetWeakPtr()); 220 base::BindOnce(&MusThreadProxy::GpuConfigureNativeDisplayCallback,
221 weak_ptr_factory_.GetWeakPtr());
222 auto safe_callback = CreateSafeOnceCallback(std::move(callback));
218 drm_thread_->task_runner()->PostTask( 223 drm_thread_->task_runner()->PostTask(
219 FROM_HERE, base::Bind(&DrmThread::ConfigureNativeDisplay, 224 FROM_HERE, base::BindOnce(&DrmThread::ConfigureNativeDisplay,
220 base::Unretained(drm_thread_), id, mode, origin, 225 base::Unretained(drm_thread_), id, mode, origin,
221 CreateSafeCallback(callback))); 226 std::move(safe_callback)));
222 return true; 227 return true;
223 } 228 }
224 229
225 bool MusThreadProxy::GpuDisableNativeDisplay(int64_t id) { 230 bool MusThreadProxy::GpuDisableNativeDisplay(int64_t id) {
226 DCHECK(drm_thread_->IsRunning()); 231 DCHECK(drm_thread_->IsRunning());
227 DCHECK(on_window_server_thread_.CalledOnValidThread()); 232 DCHECK(on_window_server_thread_.CalledOnValidThread());
228 auto callback = base::Bind(&MusThreadProxy::GpuDisableNativeDisplayCallback, 233 auto callback =
229 weak_ptr_factory_.GetWeakPtr()); 234 base::BindOnce(&MusThreadProxy::GpuDisableNativeDisplayCallback,
235 weak_ptr_factory_.GetWeakPtr());
236 auto safe_callback = CreateSafeOnceCallback(std::move(callback));
230 drm_thread_->task_runner()->PostTask( 237 drm_thread_->task_runner()->PostTask(
231 FROM_HERE, base::Bind(&DrmThread::DisableNativeDisplay, 238 FROM_HERE, base::BindOnce(&DrmThread::DisableNativeDisplay,
232 base::Unretained(drm_thread_), id, 239 base::Unretained(drm_thread_), id,
233 CreateSafeCallback(callback))); 240 std::move(safe_callback)));
234 return true; 241 return true;
235 } 242 }
236 243
237 bool MusThreadProxy::GpuTakeDisplayControl() { 244 bool MusThreadProxy::GpuTakeDisplayControl() {
238 DCHECK(drm_thread_->IsRunning()); 245 DCHECK(drm_thread_->IsRunning());
239 DCHECK(on_window_server_thread_.CalledOnValidThread()); 246 DCHECK(on_window_server_thread_.CalledOnValidThread());
240 auto callback = base::Bind(&MusThreadProxy::GpuTakeDisplayControlCallback, 247 auto callback = base::BindOnce(&MusThreadProxy::GpuTakeDisplayControlCallback,
241 weak_ptr_factory_.GetWeakPtr()); 248 weak_ptr_factory_.GetWeakPtr());
249 auto safe_callback = CreateSafeOnceCallback(std::move(callback));
242 drm_thread_->task_runner()->PostTask( 250 drm_thread_->task_runner()->PostTask(
243 FROM_HERE, 251 FROM_HERE,
244 base::Bind(&DrmThread::TakeDisplayControl, base::Unretained(drm_thread_), 252 base::BindOnce(&DrmThread::TakeDisplayControl,
245 CreateSafeCallback(callback))); 253 base::Unretained(drm_thread_), std::move(safe_callback)));
246 return true; 254 return true;
247 } 255 }
248 256
249 bool MusThreadProxy::GpuRelinquishDisplayControl() { 257 bool MusThreadProxy::GpuRelinquishDisplayControl() {
250 DCHECK(drm_thread_->IsRunning()); 258 DCHECK(drm_thread_->IsRunning());
251 DCHECK(on_window_server_thread_.CalledOnValidThread()); 259 DCHECK(on_window_server_thread_.CalledOnValidThread());
252 auto callback = 260 auto callback =
253 base::Bind(&MusThreadProxy::GpuRelinquishDisplayControlCallback, 261 base::BindOnce(&MusThreadProxy::GpuRelinquishDisplayControlCallback,
254 weak_ptr_factory_.GetWeakPtr()); 262 weak_ptr_factory_.GetWeakPtr());
263 auto safe_callback = CreateSafeOnceCallback(std::move(callback));
255 drm_thread_->task_runner()->PostTask( 264 drm_thread_->task_runner()->PostTask(
256 FROM_HERE, 265 FROM_HERE,
257 base::Bind(&DrmThread::RelinquishDisplayControl, 266 base::BindOnce(&DrmThread::RelinquishDisplayControl,
258 base::Unretained(drm_thread_), CreateSafeCallback(callback))); 267 base::Unretained(drm_thread_), std::move(safe_callback)));
259 return true; 268 return true;
260 } 269 }
261 270
262 bool MusThreadProxy::GpuAddGraphicsDevice(const base::FilePath& path, 271 bool MusThreadProxy::GpuAddGraphicsDevice(const base::FilePath& path,
263 const base::FileDescriptor& fd) { 272 const base::FileDescriptor& fd) {
264 DCHECK(drm_thread_->IsRunning()); 273 DCHECK(drm_thread_->IsRunning());
265 DCHECK(on_window_server_thread_.CalledOnValidThread()); 274 DCHECK(on_window_server_thread_.CalledOnValidThread());
266 drm_thread_->task_runner()->PostTask( 275 drm_thread_->task_runner()->PostTask(
267 FROM_HERE, base::Bind(&DrmThread::AddGraphicsDevice, 276 FROM_HERE, base::Bind(&DrmThread::AddGraphicsDevice,
268 base::Unretained(drm_thread_), path, fd)); 277 base::Unretained(drm_thread_), path, fd));
269 return true; 278 return true;
270 } 279 }
271 280
272 bool MusThreadProxy::GpuRemoveGraphicsDevice(const base::FilePath& path) { 281 bool MusThreadProxy::GpuRemoveGraphicsDevice(const base::FilePath& path) {
273 DCHECK(drm_thread_->IsRunning()); 282 DCHECK(drm_thread_->IsRunning());
274 DCHECK(on_window_server_thread_.CalledOnValidThread()); 283 DCHECK(on_window_server_thread_.CalledOnValidThread());
275 drm_thread_->task_runner()->PostTask( 284 drm_thread_->task_runner()->PostTask(
276 FROM_HERE, base::Bind(&DrmThread::RemoveGraphicsDevice, 285 FROM_HERE, base::Bind(&DrmThread::RemoveGraphicsDevice,
277 base::Unretained(drm_thread_), path)); 286 base::Unretained(drm_thread_), path));
278 return true; 287 return true;
279 } 288 }
280 289
281 bool MusThreadProxy::GpuGetHDCPState(int64_t display_id) { 290 bool MusThreadProxy::GpuGetHDCPState(int64_t display_id) {
282 DCHECK(drm_thread_->IsRunning()); 291 DCHECK(drm_thread_->IsRunning());
283 DCHECK(on_window_server_thread_.CalledOnValidThread()); 292 DCHECK(on_window_server_thread_.CalledOnValidThread());
284 auto callback = base::Bind(&MusThreadProxy::GpuGetHDCPStateCallback, 293 auto callback = base::BindOnce(&MusThreadProxy::GpuGetHDCPStateCallback,
285 weak_ptr_factory_.GetWeakPtr()); 294 weak_ptr_factory_.GetWeakPtr());
295 auto safe_callback = CreateSafeOnceCallback(std::move(callback));
286 drm_thread_->task_runner()->PostTask( 296 drm_thread_->task_runner()->PostTask(
287 FROM_HERE, 297 FROM_HERE,
288 base::Bind(&DrmThread::GetHDCPState, base::Unretained(drm_thread_), 298 base::BindOnce(&DrmThread::GetHDCPState, base::Unretained(drm_thread_),
289 display_id, CreateSafeCallback(callback))); 299 display_id, std::move(safe_callback)));
290 return true; 300 return true;
291 } 301 }
292 302
293 bool MusThreadProxy::GpuSetHDCPState(int64_t display_id, 303 bool MusThreadProxy::GpuSetHDCPState(int64_t display_id,
294 display::HDCPState state) { 304 display::HDCPState state) {
295 DCHECK(on_window_server_thread_.CalledOnValidThread()); 305 DCHECK(on_window_server_thread_.CalledOnValidThread());
296 DCHECK(drm_thread_->IsRunning()); 306 DCHECK(drm_thread_->IsRunning());
297 auto callback = base::Bind(&MusThreadProxy::GpuSetHDCPStateCallback, 307 auto callback = base::BindOnce(&MusThreadProxy::GpuSetHDCPStateCallback,
298 weak_ptr_factory_.GetWeakPtr()); 308 weak_ptr_factory_.GetWeakPtr());
309 auto safe_callback = CreateSafeOnceCallback(std::move(callback));
299 drm_thread_->task_runner()->PostTask( 310 drm_thread_->task_runner()->PostTask(
300 FROM_HERE, 311 FROM_HERE,
301 base::Bind(&DrmThread::SetHDCPState, base::Unretained(drm_thread_), 312 base::BindOnce(&DrmThread::SetHDCPState, base::Unretained(drm_thread_),
302 display_id, state, CreateSafeCallback(callback))); 313 display_id, state, std::move(safe_callback)));
303 return true; 314 return true;
304 } 315 }
305 316
306 bool MusThreadProxy::GpuSetColorCorrection( 317 bool MusThreadProxy::GpuSetColorCorrection(
307 int64_t id, 318 int64_t id,
308 const std::vector<display::GammaRampRGBEntry>& degamma_lut, 319 const std::vector<display::GammaRampRGBEntry>& degamma_lut,
309 const std::vector<display::GammaRampRGBEntry>& gamma_lut, 320 const std::vector<display::GammaRampRGBEntry>& gamma_lut,
310 const std::vector<float>& correction_matrix) { 321 const std::vector<float>& correction_matrix) {
311 DCHECK(drm_thread_->IsRunning()); 322 DCHECK(drm_thread_->IsRunning());
312 DCHECK(on_window_server_thread_.CalledOnValidThread()); 323 DCHECK(on_window_server_thread_.CalledOnValidThread());
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 display_manager_->GpuReceivedHDCPState(display_id, success, state); 370 display_manager_->GpuReceivedHDCPState(display_id, success, state);
360 } 371 }
361 372
362 void MusThreadProxy::GpuSetHDCPStateCallback(int64_t display_id, 373 void MusThreadProxy::GpuSetHDCPStateCallback(int64_t display_id,
363 bool success) const { 374 bool success) const {
364 DCHECK(on_window_server_thread_.CalledOnValidThread()); 375 DCHECK(on_window_server_thread_.CalledOnValidThread());
365 display_manager_->GpuUpdatedHDCPState(display_id, success); 376 display_manager_->GpuUpdatedHDCPState(display_id, success);
366 } 377 }
367 378
368 } // namespace ui 379 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698