Index: ui/ozone/platform/drm/gpu/drm_vsync_provider.cc |
diff --git a/ui/ozone/platform/drm/gpu/drm_vsync_provider.cc b/ui/ozone/platform/drm/gpu/drm_vsync_provider.cc |
index a187da5f0d7dfbb561406bc731680264be1ecd0e..4da0cc0d9f464a22980140c46c50eced7bd0d2f0 100644 |
--- a/ui/ozone/platform/drm/gpu/drm_vsync_provider.cc |
+++ b/ui/ozone/platform/drm/gpu/drm_vsync_provider.cc |
@@ -5,17 +5,22 @@ |
#include "ui/ozone/platform/drm/gpu/drm_vsync_provider.h" |
#include "ui/ozone/platform/drm/gpu/drm_window.h" |
+#include "ui/ozone/platform/drm/gpu/proxy_helpers.h" |
namespace ui { |
-DrmVSyncProvider::DrmVSyncProvider(DrmWindow* window) : window_(window) { |
-} |
+DrmVSyncProvider::DrmVSyncProvider( |
+ const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, |
+ base::WeakPtr<DrmWindow> window) |
+ : task_runner_(task_runner), window_(window) {} |
DrmVSyncProvider::~DrmVSyncProvider() { |
} |
void DrmVSyncProvider::GetVSyncParameters(const UpdateVSyncCallback& callback) { |
- window_->GetVSyncParameters(callback); |
+ task_runner_->PostTask(FROM_HERE, |
+ base::Bind(&DrmWindow::GetVSyncParameters, window_, |
+ CreateSafeCallback(callback))); |
} |
} // namespace ui |