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

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

Issue 2903353002: Make ozone/drm/mojo more immune to startup races (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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 base::AutoLock acquire(lock_); 52 base::AutoLock acquire(lock_);
53 drm_thread_ = thread; 53 drm_thread_ = thread;
54 } 54 }
55 55
56 void MusThreadProxy::ProvideManagers(DrmDisplayHostManager* display_manager, 56 void MusThreadProxy::ProvideManagers(DrmDisplayHostManager* display_manager,
57 DrmOverlayManager* overlay_manager) { 57 DrmOverlayManager* overlay_manager) {
58 display_manager_ = display_manager; 58 display_manager_ = display_manager;
59 overlay_manager_ = overlay_manager; 59 overlay_manager_ = overlay_manager;
60 } 60 }
61 61
62 // Runs on Gpu thread.
62 void MusThreadProxy::StartDrmThread() { 63 void MusThreadProxy::StartDrmThread() {
63 DCHECK(drm_thread_); 64 DCHECK(drm_thread_);
64 drm_thread_->Start(); 65 drm_thread_->Start();
65 66
66 drm_thread_->task_runner()->PostTask( 67 drm_thread_->task_runner()->PostTask(
67 FROM_HERE, base::Bind(&MusThreadProxy::DispatchObserversFromDrmThread, 68 FROM_HERE, base::Bind(&MusThreadProxy::DispatchObserversFromDrmThread,
68 base::Unretained(this))); 69 base::Unretained(this)));
69 } 70 }
70 71
71 void MusThreadProxy::DispatchObserversFromDrmThread() { 72 void MusThreadProxy::DispatchObserversFromDrmThread() {
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 DCHECK(on_window_server_thread_.CalledOnValidThread()); 115 DCHECK(on_window_server_thread_.CalledOnValidThread());
115 display_manager_ = handler; 116 display_manager_ = handler;
116 } 117 }
117 118
118 void MusThreadProxy::UnRegisterHandlerForDrmDisplayHostManager() { 119 void MusThreadProxy::UnRegisterHandlerForDrmDisplayHostManager() {
119 DCHECK(on_window_server_thread_.CalledOnValidThread()); 120 DCHECK(on_window_server_thread_.CalledOnValidThread());
120 display_manager_ = nullptr; 121 display_manager_ = nullptr;
121 } 122 }
122 123
123 bool MusThreadProxy::GpuCreateWindow(gfx::AcceleratedWidget widget) { 124 bool MusThreadProxy::GpuCreateWindow(gfx::AcceleratedWidget widget) {
124 DCHECK(drm_thread_->IsRunning());
125 DCHECK(on_window_server_thread_.CalledOnValidThread()); 125 DCHECK(on_window_server_thread_.CalledOnValidThread());
126 if (!drm_thread_ || !drm_thread_->IsRunning())
127 return false;
126 drm_thread_->task_runner()->PostTask( 128 drm_thread_->task_runner()->PostTask(
127 FROM_HERE, base::Bind(&DrmThread::CreateWindow, 129 FROM_HERE, base::Bind(&DrmThread::CreateWindow,
128 base::Unretained(drm_thread_), widget)); 130 base::Unretained(drm_thread_), widget));
129 return true; 131 return true;
130 } 132 }
131 133
132 bool MusThreadProxy::GpuDestroyWindow(gfx::AcceleratedWidget widget) { 134 bool MusThreadProxy::GpuDestroyWindow(gfx::AcceleratedWidget widget) {
133 DCHECK(drm_thread_->IsRunning());
134 DCHECK(on_window_server_thread_.CalledOnValidThread()); 135 DCHECK(on_window_server_thread_.CalledOnValidThread());
136 if (!drm_thread_ || !drm_thread_->IsRunning())
137 return false;
135 drm_thread_->task_runner()->PostTask( 138 drm_thread_->task_runner()->PostTask(
136 FROM_HERE, base::Bind(&DrmThread::DestroyWindow, 139 FROM_HERE, base::Bind(&DrmThread::DestroyWindow,
137 base::Unretained(drm_thread_), widget)); 140 base::Unretained(drm_thread_), widget));
138 return true; 141 return true;
139 } 142 }
140 143
141 bool MusThreadProxy::GpuWindowBoundsChanged(gfx::AcceleratedWidget widget, 144 bool MusThreadProxy::GpuWindowBoundsChanged(gfx::AcceleratedWidget widget,
142 const gfx::Rect& bounds) { 145 const gfx::Rect& bounds) {
143 DCHECK(drm_thread_->IsRunning());
144 DCHECK(on_window_server_thread_.CalledOnValidThread()); 146 DCHECK(on_window_server_thread_.CalledOnValidThread());
147 if (!drm_thread_ || !drm_thread_->IsRunning())
148 return false;
145 drm_thread_->task_runner()->PostTask( 149 drm_thread_->task_runner()->PostTask(
146 FROM_HERE, base::Bind(&DrmThread::SetWindowBounds, 150 FROM_HERE, base::Bind(&DrmThread::SetWindowBounds,
147 base::Unretained(drm_thread_), widget, bounds)); 151 base::Unretained(drm_thread_), widget, bounds));
148 return true; 152 return true;
149 } 153 }
150 154
151 void MusThreadProxy::CursorSet(gfx::AcceleratedWidget widget, 155 void MusThreadProxy::CursorSet(gfx::AcceleratedWidget widget,
152 const std::vector<SkBitmap>& bitmaps, 156 const std::vector<SkBitmap>& bitmaps,
153 const gfx::Point& location, 157 const gfx::Point& location,
154 int frame_delay_ms) { 158 int frame_delay_ms) {
155 DCHECK(drm_thread_->IsRunning());
156 DCHECK(on_window_server_thread_.CalledOnValidThread()); 159 DCHECK(on_window_server_thread_.CalledOnValidThread());
160 if (!drm_thread_ || !drm_thread_->IsRunning())
161 return;
157 drm_thread_->task_runner()->PostTask( 162 drm_thread_->task_runner()->PostTask(
158 FROM_HERE, 163 FROM_HERE,
159 base::Bind(&DrmThread::SetCursor, base::Unretained(drm_thread_), widget, 164 base::Bind(&DrmThread::SetCursor, base::Unretained(drm_thread_), widget,
160 bitmaps, location, frame_delay_ms)); 165 bitmaps, location, frame_delay_ms));
161 } 166 }
162 167
163 void MusThreadProxy::Move(gfx::AcceleratedWidget widget, 168 void MusThreadProxy::Move(gfx::AcceleratedWidget widget,
164 const gfx::Point& location) { 169 const gfx::Point& location) {
165 // NOTE: Input events skip the main thread to avoid jank. 170 // NOTE: Input events skip the main thread to avoid jank.
166 DCHECK(drm_thread_->IsRunning()); 171 if (!drm_thread_ || !drm_thread_->IsRunning())
172 return;
167 drm_thread_->task_runner()->PostTask( 173 drm_thread_->task_runner()->PostTask(
168 FROM_HERE, base::Bind(&DrmThread::MoveCursor, 174 FROM_HERE, base::Bind(&DrmThread::MoveCursor,
169 base::Unretained(drm_thread_), widget, location)); 175 base::Unretained(drm_thread_), widget, location));
170 } 176 }
171 177
172 // Services needed for DrmOverlayManager. 178 // Services needed for DrmOverlayManager.
173 void MusThreadProxy::RegisterHandlerForDrmOverlayManager( 179 void MusThreadProxy::RegisterHandlerForDrmOverlayManager(
174 DrmOverlayManager* handler) { 180 DrmOverlayManager* handler) {
175 DCHECK(on_window_server_thread_.CalledOnValidThread()); 181 DCHECK(on_window_server_thread_.CalledOnValidThread());
176 overlay_manager_ = handler; 182 overlay_manager_ = handler;
177 } 183 }
178 184
179 void MusThreadProxy::UnRegisterHandlerForDrmOverlayManager() { 185 void MusThreadProxy::UnRegisterHandlerForDrmOverlayManager() {
180 DCHECK(on_window_server_thread_.CalledOnValidThread()); 186 DCHECK(on_window_server_thread_.CalledOnValidThread());
181 overlay_manager_ = nullptr; 187 overlay_manager_ = nullptr;
182 } 188 }
183 189
184 bool MusThreadProxy::GpuCheckOverlayCapabilities( 190 bool MusThreadProxy::GpuCheckOverlayCapabilities(
185 gfx::AcceleratedWidget widget, 191 gfx::AcceleratedWidget widget,
186 const std::vector<OverlayCheck_Params>& overlays) { 192 const std::vector<OverlayCheck_Params>& overlays) {
187 DCHECK(drm_thread_->IsRunning());
188 DCHECK(on_window_server_thread_.CalledOnValidThread()); 193 DCHECK(on_window_server_thread_.CalledOnValidThread());
194 if (!drm_thread_ || !drm_thread_->IsRunning())
195 return false;
189 auto callback = 196 auto callback =
190 base::BindOnce(&MusThreadProxy::GpuCheckOverlayCapabilitiesCallback, 197 base::BindOnce(&MusThreadProxy::GpuCheckOverlayCapabilitiesCallback,
191 weak_ptr_factory_.GetWeakPtr()); 198 weak_ptr_factory_.GetWeakPtr());
192 auto safe_callback = CreateSafeOnceCallback(std::move(callback)); 199 auto safe_callback = CreateSafeOnceCallback(std::move(callback));
193 drm_thread_->task_runner()->PostTask( 200 drm_thread_->task_runner()->PostTask(
194 FROM_HERE, base::BindOnce(&DrmThread::CheckOverlayCapabilities, 201 FROM_HERE, base::BindOnce(&DrmThread::CheckOverlayCapabilities,
195 base::Unretained(drm_thread_), widget, overlays, 202 base::Unretained(drm_thread_), widget, overlays,
196 std::move(safe_callback))); 203 std::move(safe_callback)));
197 return true; 204 return true;
198 } 205 }
199 206
200 bool MusThreadProxy::GpuRefreshNativeDisplays() { 207 bool MusThreadProxy::GpuRefreshNativeDisplays() {
201 DCHECK(drm_thread_->IsRunning());
202 DCHECK(on_window_server_thread_.CalledOnValidThread()); 208 DCHECK(on_window_server_thread_.CalledOnValidThread());
209 if (!drm_thread_ || !drm_thread_->IsRunning())
210 return false;
203 auto callback = 211 auto callback =
204 base::BindOnce(&MusThreadProxy::GpuRefreshNativeDisplaysCallback, 212 base::BindOnce(&MusThreadProxy::GpuRefreshNativeDisplaysCallback,
205 weak_ptr_factory_.GetWeakPtr()); 213 weak_ptr_factory_.GetWeakPtr());
206 auto safe_callback = CreateSafeOnceCallback(std::move(callback)); 214 auto safe_callback = CreateSafeOnceCallback(std::move(callback));
207 drm_thread_->task_runner()->PostTask( 215 drm_thread_->task_runner()->PostTask(
208 FROM_HERE, 216 FROM_HERE,
209 base::BindOnce(&DrmThread::RefreshNativeDisplays, 217 base::BindOnce(&DrmThread::RefreshNativeDisplays,
210 base::Unretained(drm_thread_), std::move(safe_callback))); 218 base::Unretained(drm_thread_), std::move(safe_callback)));
211 return true; 219 return true;
212 } 220 }
213 221
214 bool MusThreadProxy::GpuConfigureNativeDisplay(int64_t id, 222 bool MusThreadProxy::GpuConfigureNativeDisplay(int64_t id,
215 const DisplayMode_Params& pmode, 223 const DisplayMode_Params& pmode,
216 const gfx::Point& origin) { 224 const gfx::Point& origin) {
217 DCHECK(drm_thread_->IsRunning());
218 DCHECK(on_window_server_thread_.CalledOnValidThread()); 225 DCHECK(on_window_server_thread_.CalledOnValidThread());
226 if (!drm_thread_ || !drm_thread_->IsRunning())
227 return false;
219 228
220 auto mode = CreateDisplayModeFromParams(pmode); 229 auto mode = CreateDisplayModeFromParams(pmode);
221 auto callback = 230 auto callback =
222 base::BindOnce(&MusThreadProxy::GpuConfigureNativeDisplayCallback, 231 base::BindOnce(&MusThreadProxy::GpuConfigureNativeDisplayCallback,
223 weak_ptr_factory_.GetWeakPtr()); 232 weak_ptr_factory_.GetWeakPtr());
224 auto safe_callback = CreateSafeOnceCallback(std::move(callback)); 233 auto safe_callback = CreateSafeOnceCallback(std::move(callback));
225 drm_thread_->task_runner()->PostTask( 234 drm_thread_->task_runner()->PostTask(
226 FROM_HERE, 235 FROM_HERE,
227 base::BindOnce(&DrmThread::ConfigureNativeDisplay, 236 base::BindOnce(&DrmThread::ConfigureNativeDisplay,
228 base::Unretained(drm_thread_), id, std::move(mode), origin, 237 base::Unretained(drm_thread_), id, std::move(mode), origin,
229 std::move(safe_callback))); 238 std::move(safe_callback)));
230 return true; 239 return true;
231 } 240 }
232 241
233 bool MusThreadProxy::GpuDisableNativeDisplay(int64_t id) { 242 bool MusThreadProxy::GpuDisableNativeDisplay(int64_t id) {
234 DCHECK(drm_thread_->IsRunning());
235 DCHECK(on_window_server_thread_.CalledOnValidThread()); 243 DCHECK(on_window_server_thread_.CalledOnValidThread());
244 if (!drm_thread_ || !drm_thread_->IsRunning())
245 return false;
236 auto callback = 246 auto callback =
237 base::BindOnce(&MusThreadProxy::GpuDisableNativeDisplayCallback, 247 base::BindOnce(&MusThreadProxy::GpuDisableNativeDisplayCallback,
238 weak_ptr_factory_.GetWeakPtr()); 248 weak_ptr_factory_.GetWeakPtr());
239 auto safe_callback = CreateSafeOnceCallback(std::move(callback)); 249 auto safe_callback = CreateSafeOnceCallback(std::move(callback));
240 drm_thread_->task_runner()->PostTask( 250 drm_thread_->task_runner()->PostTask(
241 FROM_HERE, base::BindOnce(&DrmThread::DisableNativeDisplay, 251 FROM_HERE, base::BindOnce(&DrmThread::DisableNativeDisplay,
242 base::Unretained(drm_thread_), id, 252 base::Unretained(drm_thread_), id,
243 std::move(safe_callback))); 253 std::move(safe_callback)));
244 return true; 254 return true;
245 } 255 }
246 256
247 bool MusThreadProxy::GpuTakeDisplayControl() { 257 bool MusThreadProxy::GpuTakeDisplayControl() {
248 DCHECK(drm_thread_->IsRunning());
249 DCHECK(on_window_server_thread_.CalledOnValidThread()); 258 DCHECK(on_window_server_thread_.CalledOnValidThread());
259 if (!drm_thread_ || !drm_thread_->IsRunning())
260 return false;
250 auto callback = base::BindOnce(&MusThreadProxy::GpuTakeDisplayControlCallback, 261 auto callback = base::BindOnce(&MusThreadProxy::GpuTakeDisplayControlCallback,
251 weak_ptr_factory_.GetWeakPtr()); 262 weak_ptr_factory_.GetWeakPtr());
252 auto safe_callback = CreateSafeOnceCallback(std::move(callback)); 263 auto safe_callback = CreateSafeOnceCallback(std::move(callback));
253 drm_thread_->task_runner()->PostTask( 264 drm_thread_->task_runner()->PostTask(
254 FROM_HERE, 265 FROM_HERE,
255 base::BindOnce(&DrmThread::TakeDisplayControl, 266 base::BindOnce(&DrmThread::TakeDisplayControl,
256 base::Unretained(drm_thread_), std::move(safe_callback))); 267 base::Unretained(drm_thread_), std::move(safe_callback)));
257 return true; 268 return true;
258 } 269 }
259 270
260 bool MusThreadProxy::GpuRelinquishDisplayControl() { 271 bool MusThreadProxy::GpuRelinquishDisplayControl() {
261 DCHECK(drm_thread_->IsRunning());
262 DCHECK(on_window_server_thread_.CalledOnValidThread()); 272 DCHECK(on_window_server_thread_.CalledOnValidThread());
273 if (!drm_thread_ || !drm_thread_->IsRunning())
274 return false;
263 auto callback = 275 auto callback =
264 base::BindOnce(&MusThreadProxy::GpuRelinquishDisplayControlCallback, 276 base::BindOnce(&MusThreadProxy::GpuRelinquishDisplayControlCallback,
265 weak_ptr_factory_.GetWeakPtr()); 277 weak_ptr_factory_.GetWeakPtr());
266 auto safe_callback = CreateSafeOnceCallback(std::move(callback)); 278 auto safe_callback = CreateSafeOnceCallback(std::move(callback));
267 drm_thread_->task_runner()->PostTask( 279 drm_thread_->task_runner()->PostTask(
268 FROM_HERE, 280 FROM_HERE,
269 base::BindOnce(&DrmThread::RelinquishDisplayControl, 281 base::BindOnce(&DrmThread::RelinquishDisplayControl,
270 base::Unretained(drm_thread_), std::move(safe_callback))); 282 base::Unretained(drm_thread_), std::move(safe_callback)));
271 return true; 283 return true;
272 } 284 }
273 285
274 bool MusThreadProxy::GpuAddGraphicsDevice(const base::FilePath& path, 286 bool MusThreadProxy::GpuAddGraphicsDevice(const base::FilePath& path,
275 const base::FileDescriptor& fd) { 287 const base::FileDescriptor& fd) {
276 DCHECK(drm_thread_->IsRunning());
277 DCHECK(on_window_server_thread_.CalledOnValidThread()); 288 DCHECK(on_window_server_thread_.CalledOnValidThread());
289 if (!drm_thread_ || !drm_thread_->IsRunning())
290 return false;
278 drm_thread_->task_runner()->PostTask( 291 drm_thread_->task_runner()->PostTask(
279 FROM_HERE, base::Bind(&DrmThread::AddGraphicsDevice, 292 FROM_HERE, base::Bind(&DrmThread::AddGraphicsDevice,
280 base::Unretained(drm_thread_), path, fd)); 293 base::Unretained(drm_thread_), path, fd));
281 return true; 294 return true;
282 } 295 }
283 296
284 bool MusThreadProxy::GpuRemoveGraphicsDevice(const base::FilePath& path) { 297 bool MusThreadProxy::GpuRemoveGraphicsDevice(const base::FilePath& path) {
285 DCHECK(drm_thread_->IsRunning());
286 DCHECK(on_window_server_thread_.CalledOnValidThread()); 298 DCHECK(on_window_server_thread_.CalledOnValidThread());
299 if (!drm_thread_ || !drm_thread_->IsRunning())
300 return false;
287 drm_thread_->task_runner()->PostTask( 301 drm_thread_->task_runner()->PostTask(
288 FROM_HERE, base::Bind(&DrmThread::RemoveGraphicsDevice, 302 FROM_HERE, base::Bind(&DrmThread::RemoveGraphicsDevice,
289 base::Unretained(drm_thread_), path)); 303 base::Unretained(drm_thread_), path));
290 return true; 304 return true;
291 } 305 }
292 306
293 bool MusThreadProxy::GpuGetHDCPState(int64_t display_id) { 307 bool MusThreadProxy::GpuGetHDCPState(int64_t display_id) {
294 DCHECK(drm_thread_->IsRunning());
295 DCHECK(on_window_server_thread_.CalledOnValidThread()); 308 DCHECK(on_window_server_thread_.CalledOnValidThread());
309 if (!drm_thread_ || !drm_thread_->IsRunning())
310 return false;
296 auto callback = base::BindOnce(&MusThreadProxy::GpuGetHDCPStateCallback, 311 auto callback = base::BindOnce(&MusThreadProxy::GpuGetHDCPStateCallback,
297 weak_ptr_factory_.GetWeakPtr()); 312 weak_ptr_factory_.GetWeakPtr());
298 auto safe_callback = CreateSafeOnceCallback(std::move(callback)); 313 auto safe_callback = CreateSafeOnceCallback(std::move(callback));
299 drm_thread_->task_runner()->PostTask( 314 drm_thread_->task_runner()->PostTask(
300 FROM_HERE, 315 FROM_HERE,
301 base::BindOnce(&DrmThread::GetHDCPState, base::Unretained(drm_thread_), 316 base::BindOnce(&DrmThread::GetHDCPState, base::Unretained(drm_thread_),
302 display_id, std::move(safe_callback))); 317 display_id, std::move(safe_callback)));
303 return true; 318 return true;
304 } 319 }
305 320
306 bool MusThreadProxy::GpuSetHDCPState(int64_t display_id, 321 bool MusThreadProxy::GpuSetHDCPState(int64_t display_id,
307 display::HDCPState state) { 322 display::HDCPState state) {
308 DCHECK(on_window_server_thread_.CalledOnValidThread()); 323 DCHECK(on_window_server_thread_.CalledOnValidThread());
309 DCHECK(drm_thread_->IsRunning()); 324 if (!drm_thread_ || !drm_thread_->IsRunning())
325 return false;
310 auto callback = base::BindOnce(&MusThreadProxy::GpuSetHDCPStateCallback, 326 auto callback = base::BindOnce(&MusThreadProxy::GpuSetHDCPStateCallback,
311 weak_ptr_factory_.GetWeakPtr()); 327 weak_ptr_factory_.GetWeakPtr());
312 auto safe_callback = CreateSafeOnceCallback(std::move(callback)); 328 auto safe_callback = CreateSafeOnceCallback(std::move(callback));
313 drm_thread_->task_runner()->PostTask( 329 drm_thread_->task_runner()->PostTask(
314 FROM_HERE, 330 FROM_HERE,
315 base::BindOnce(&DrmThread::SetHDCPState, base::Unretained(drm_thread_), 331 base::BindOnce(&DrmThread::SetHDCPState, base::Unretained(drm_thread_),
316 display_id, state, std::move(safe_callback))); 332 display_id, state, std::move(safe_callback)));
317 return true; 333 return true;
318 } 334 }
319 335
320 bool MusThreadProxy::GpuSetColorCorrection( 336 bool MusThreadProxy::GpuSetColorCorrection(
321 int64_t id, 337 int64_t id,
322 const std::vector<display::GammaRampRGBEntry>& degamma_lut, 338 const std::vector<display::GammaRampRGBEntry>& degamma_lut,
323 const std::vector<display::GammaRampRGBEntry>& gamma_lut, 339 const std::vector<display::GammaRampRGBEntry>& gamma_lut,
324 const std::vector<float>& correction_matrix) { 340 const std::vector<float>& correction_matrix) {
325 DCHECK(drm_thread_->IsRunning());
326 DCHECK(on_window_server_thread_.CalledOnValidThread()); 341 DCHECK(on_window_server_thread_.CalledOnValidThread());
342 if (!drm_thread_ || !drm_thread_->IsRunning())
343 return false;
327 drm_thread_->task_runner()->PostTask( 344 drm_thread_->task_runner()->PostTask(
328 FROM_HERE, 345 FROM_HERE,
329 base::Bind(&DrmThread::SetColorCorrection, base::Unretained(drm_thread_), 346 base::Bind(&DrmThread::SetColorCorrection, base::Unretained(drm_thread_),
330 id, degamma_lut, gamma_lut, correction_matrix)); 347 id, degamma_lut, gamma_lut, correction_matrix));
331 return true; 348 return true;
332 } 349 }
333 350
334 void MusThreadProxy::GpuCheckOverlayCapabilitiesCallback( 351 void MusThreadProxy::GpuCheckOverlayCapabilitiesCallback(
335 gfx::AcceleratedWidget widget, 352 gfx::AcceleratedWidget widget,
336 const std::vector<OverlayCheck_Params>& overlays) const { 353 const std::vector<OverlayCheck_Params>& overlays) const {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 display_manager_->GpuReceivedHDCPState(display_id, success, state); 390 display_manager_->GpuReceivedHDCPState(display_id, success, state);
374 } 391 }
375 392
376 void MusThreadProxy::GpuSetHDCPStateCallback(int64_t display_id, 393 void MusThreadProxy::GpuSetHDCPStateCallback(int64_t display_id,
377 bool success) const { 394 bool success) const {
378 DCHECK(on_window_server_thread_.CalledOnValidThread()); 395 DCHECK(on_window_server_thread_.CalledOnValidThread());
379 display_manager_->GpuUpdatedHDCPState(display_id, success); 396 display_manager_->GpuUpdatedHDCPState(display_id, success);
380 } 397 }
381 398
382 } // namespace ui 399 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698