Index: ui/ozone/platform/dri/gbm_surfaceless.cc |
diff --git a/ui/ozone/platform/dri/gbm_surfaceless.cc b/ui/ozone/platform/dri/gbm_surfaceless.cc |
index 50deedafc9f59be02e95f77527987d0e138dfbce..b3748445a369b53d97866b759da0455c26cc4c0d 100644 |
--- a/ui/ozone/platform/dri/gbm_surfaceless.cc |
+++ b/ui/ozone/platform/dri/gbm_surfaceless.cc |
@@ -5,13 +5,15 @@ |
#include "ui/ozone/platform/dri/gbm_surfaceless.h" |
#include "ui/ozone/platform/dri/dri_vsync_provider.h" |
+#include "ui/ozone/platform/dri/dri_window_delegate.h" |
#include "ui/ozone/platform/dri/gbm_buffer.h" |
+#include "ui/ozone/platform/dri/hardware_display_controller.h" |
namespace ui { |
-GbmSurfaceless::GbmSurfaceless( |
- const base::WeakPtr<HardwareDisplayController>& controller) |
- : controller_(controller) {} |
+GbmSurfaceless::GbmSurfaceless(DriWindowDelegate* window_delegate) |
+ : window_delegate_(window_delegate) { |
+} |
GbmSurfaceless::~GbmSurfaceless() {} |
@@ -26,17 +28,18 @@ bool GbmSurfaceless::ResizeNativeWindow(const gfx::Size& viewport_size) { |
} |
bool GbmSurfaceless::OnSwapBuffers() { |
- if (!controller_) |
+ HardwareDisplayController* controller = window_delegate_->GetController(); |
+ if (!controller) |
return true; |
- bool success = controller_->SchedulePageFlip(); |
- controller_->WaitForPageFlipEvent(); |
+ bool success = controller->SchedulePageFlip(); |
+ controller->WaitForPageFlipEvent(); |
return success; |
} |
scoped_ptr<gfx::VSyncProvider> GbmSurfaceless::CreateVSyncProvider() { |
- return scoped_ptr<gfx::VSyncProvider>(new DriVSyncProvider(controller_)); |
+ return scoped_ptr<gfx::VSyncProvider>(new DriVSyncProvider(window_delegate_)); |
} |
} // namespace ui |