OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/gpu/drm_vsync_provider.h" | 5 #include "ui/ozone/platform/drm/gpu/drm_vsync_provider.h" |
6 | 6 |
7 #include "ui/ozone/platform/drm/gpu/drm_window.h" | 7 #include "ui/ozone/platform/drm/gpu/drm_window.h" |
| 8 #include "ui/ozone/platform/drm/gpu/proxy_helpers.h" |
8 | 9 |
9 namespace ui { | 10 namespace ui { |
10 | 11 |
11 DrmVSyncProvider::DrmVSyncProvider(DrmWindow* window) : window_(window) { | 12 DrmVSyncProvider::DrmVSyncProvider( |
12 } | 13 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, |
| 14 base::WeakPtr<DrmWindow> window) |
| 15 : task_runner_(task_runner), window_(window) {} |
13 | 16 |
14 DrmVSyncProvider::~DrmVSyncProvider() { | 17 DrmVSyncProvider::~DrmVSyncProvider() { |
15 } | 18 } |
16 | 19 |
17 void DrmVSyncProvider::GetVSyncParameters(const UpdateVSyncCallback& callback) { | 20 void DrmVSyncProvider::GetVSyncParameters(const UpdateVSyncCallback& callback) { |
18 window_->GetVSyncParameters(callback); | 21 task_runner_->PostTask(FROM_HERE, |
| 22 base::Bind(&DrmWindow::GetVSyncParameters, window_, |
| 23 CreateSafeCallback(callback))); |
19 } | 24 } |
20 | 25 |
21 } // namespace ui | 26 } // namespace ui |
OLD | NEW |