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 efa09797c57a68a777ad796735d07ca71e30b0ce..7e327f87bd7ebab0d8b375fe9316b39e87fc2a7c 100644 |
--- a/ui/ozone/platform/dri/gbm_surfaceless.cc |
+++ b/ui/ozone/platform/dri/gbm_surfaceless.cc |
@@ -4,6 +4,8 @@ |
#include "ui/ozone/platform/dri/gbm_surfaceless.h" |
+#include "base/bind.h" |
+#include "base/bind_helpers.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" |
@@ -27,8 +29,12 @@ bool GbmSurfaceless::ResizeNativeWindow(const gfx::Size& viewport_size) { |
} |
bool GbmSurfaceless::OnSwapBuffers() { |
- NOTREACHED(); |
- return false; |
+ HardwareDisplayController* controller = window_delegate_->GetController(); |
+ if (!controller) |
+ return true; |
+ |
+ return controller->SchedulePageFlip(true /* is_sync */, |
+ base::Bind(&base::DoNothing)); |
} |
bool GbmSurfaceless::OnSwapBuffersAsync( |
@@ -39,7 +45,7 @@ bool GbmSurfaceless::OnSwapBuffersAsync( |
return true; |
} |
- return controller->SchedulePageFlip(callback); |
+ return controller->SchedulePageFlip(false /* is_sync */, callback); |
} |
scoped_ptr<gfx::VSyncProvider> GbmSurfaceless::CreateVSyncProvider() { |