Index: ui/ozone/platform/drm/gpu/drm_surface.cc |
diff --git a/ui/ozone/platform/drm/gpu/drm_surface.cc b/ui/ozone/platform/drm/gpu/drm_surface.cc |
index f3780ff1ffe3a35cca39e33f0004d6a11f04aae9..f3b8ad3f0801d0ef97c8d8baada9980a8c0611d4 100644 |
--- a/ui/ozone/platform/drm/gpu/drm_surface.cc |
+++ b/ui/ozone/platform/drm/gpu/drm_surface.cc |
@@ -4,7 +4,7 @@ |
#include "ui/ozone/platform/drm/gpu/drm_surface.h" |
-#include "base/bind_helpers.h" |
+#include "base/bind.h" |
#include "base/logging.h" |
#include "base/message_loop/message_loop.h" |
#include "third_party/skia/include/core/SkCanvas.h" |
@@ -14,7 +14,7 @@ |
#include "ui/ozone/platform/drm/gpu/drm_buffer.h" |
#include "ui/ozone/platform/drm/gpu/drm_device.h" |
#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/drm_window_proxy.h" |
#include "ui/ozone/platform/drm/gpu/hardware_display_controller.h" |
namespace ui { |
@@ -35,9 +35,8 @@ scoped_refptr<DrmBuffer> AllocateBuffer(const scoped_refptr<DrmDevice>& drm, |
} // namespace |
-DrmSurface::DrmSurface(DrmWindow* window) |
- : window_(window), weak_ptr_factory_(this) { |
-} |
+DrmSurface::DrmSurface(scoped_ptr<DrmWindowProxy> window) |
+ : window_(window.Pass()), weak_ptr_factory_(this) {} |
DrmSurface::~DrmSurface() { |
} |
@@ -51,16 +50,14 @@ void DrmSurface::ResizeCanvas(const gfx::Size& viewport_size) { |
viewport_size.width(), viewport_size.height(), kOpaque_SkAlphaType); |
surface_ = skia::AdoptRef(SkSurface::NewRaster(info)); |
- HardwareDisplayController* controller = window_->GetController(); |
- if (!controller) |
+ scoped_refptr<DrmDevice> drm = window_->GetDrmDevice(); |
+ if (!drm) |
return; |
// For the display buffers use the mode size since a |viewport_size| smaller |
// than the display size will not scanout. |
- front_buffer_ = AllocateBuffer(controller->GetAllocationDrmDevice(), |
- controller->GetModeSize()); |
- back_buffer_ = AllocateBuffer(controller->GetAllocationDrmDevice(), |
- controller->GetModeSize()); |
+ front_buffer_ = AllocateBuffer(drm, window_->GetBounds().size()); |
+ back_buffer_ = AllocateBuffer(drm, window_->GetBounds().size()); |
} |
void DrmSurface::PresentCanvas(const gfx::Rect& damage) { |
@@ -76,7 +73,7 @@ void DrmSurface::PresentCanvas(const gfx::Rect& damage) { |
} |
scoped_ptr<gfx::VSyncProvider> DrmSurface::CreateVSyncProvider() { |
- return make_scoped_ptr(new DrmVSyncProvider(window_)); |
+ return make_scoped_ptr(new DrmVSyncProvider(window_.get())); |
} |
void DrmSurface::SchedulePageFlip() { |