| 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() {
|
|
|