Chromium Code Reviews| Index: ui/ozone/platform/dri/dri_surface_unittest.cc |
| diff --git a/ui/ozone/platform/dri/dri_surface_unittest.cc b/ui/ozone/platform/dri/dri_surface_unittest.cc |
| index b45a725baaed136e3a40a5534b0c43035ce3d6e0..c0f733738580a8256850563677a1fc9d0132250b 100644 |
| --- a/ui/ozone/platform/dri/dri_surface_unittest.cc |
| +++ b/ui/ozone/platform/dri/dri_surface_unittest.cc |
| @@ -10,6 +10,7 @@ |
| #include "ui/ozone/platform/dri/crtc_state.h" |
| #include "ui/ozone/platform/dri/dri_buffer.h" |
| #include "ui/ozone/platform/dri/dri_surface.h" |
| +#include "ui/ozone/platform/dri/dri_window_delegate.h" |
| #include "ui/ozone/platform/dri/hardware_display_controller.h" |
| #include "ui/ozone/platform/dri/test/mock_dri_wrapper.h" |
| @@ -22,6 +23,36 @@ const drmModeModeInfo kDefaultMode = |
| const uint32_t kDefaultCrtc = 1; |
| const uint32_t kDefaultConnector = 2; |
| +class MockDriWindowDelegate : public ui::DriWindowDelegate { |
| + public: |
| + MockDriWindowDelegate(ui::DriWrapper* drm) { |
| + controller_.reset(new ui::HardwareDisplayController( |
| + drm, |
| + scoped_ptr<ui::CrtcState>( |
|
alexst (slow to review)
2014/08/20 21:51:09
nit: I think using make_scoped_ptr() is a bit clea
dnicoara
2014/08/21 20:54:17
Done.
|
| + new ui::CrtcState(drm, kDefaultCrtc, kDefaultConnector)))); |
| + scoped_refptr<ui::DriBuffer> buffer(new ui::DriBuffer(drm)); |
| + SkImageInfo info = SkImageInfo::MakeN32Premul(kDefaultMode.hdisplay, |
| + kDefaultMode.vdisplay); |
| + EXPECT_TRUE(buffer->Initialize(info)); |
| + EXPECT_TRUE(controller_->Modeset(ui::OverlayPlane(buffer), kDefaultMode)); |
| + } |
| + virtual ~MockDriWindowDelegate() {} |
| + |
| + // DriWindowDelegate: |
| + virtual void Initialize() OVERRIDE {} |
| + virtual void Shutdown() OVERRIDE {} |
| + virtual gfx::AcceleratedWidget GetAcceleratedWidget() OVERRIDE { return 1; } |
| + virtual ui::HardwareDisplayController* GetController() OVERRIDE { |
| + return controller_.get(); |
| + } |
| + virtual void OnBoundsChanged(const gfx::Rect& bounds) OVERRIDE {} |
| + |
| + private: |
| + scoped_ptr<ui::HardwareDisplayController> controller_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(MockDriWindowDelegate); |
| +}; |
| + |
| } // namespace |
| class DriSurfaceTest : public testing::Test { |
| @@ -34,7 +65,7 @@ class DriSurfaceTest : public testing::Test { |
| protected: |
| scoped_ptr<base::MessageLoop> message_loop_; |
| scoped_ptr<ui::MockDriWrapper> drm_; |
| - scoped_ptr<ui::HardwareDisplayController> controller_; |
| + scoped_ptr<MockDriWindowDelegate> window_delegate_; |
| scoped_ptr<ui::DriSurface> surface_; |
| private: |
| @@ -44,25 +75,15 @@ class DriSurfaceTest : public testing::Test { |
| void DriSurfaceTest::SetUp() { |
| message_loop_.reset(new base::MessageLoopForUI); |
| drm_.reset(new ui::MockDriWrapper(3)); |
| - |
| - controller_.reset(new ui::HardwareDisplayController( |
| - drm_.get(), |
| - scoped_ptr<ui::CrtcState>( |
| - new ui::CrtcState(drm_.get(), kDefaultCrtc, kDefaultConnector)))); |
| - scoped_refptr<ui::DriBuffer> buffer(new ui::DriBuffer(drm_.get())); |
| - SkImageInfo info = SkImageInfo::MakeN32Premul(kDefaultMode.hdisplay, |
| - kDefaultMode.vdisplay); |
| - EXPECT_TRUE(buffer->Initialize(info)); |
| - EXPECT_TRUE(controller_->Modeset(ui::OverlayPlane(buffer), kDefaultMode)); |
| - |
| - surface_.reset(new ui::DriSurface(drm_.get(), controller_->AsWeakPtr())); |
| + window_delegate_.reset(new MockDriWindowDelegate(drm_.get())); |
| + surface_.reset(new ui::DriSurface(window_delegate_.get(), drm_.get())); |
| surface_->ResizeCanvas(gfx::Size(kDefaultMode.hdisplay, |
| kDefaultMode.vdisplay)); |
| } |
| void DriSurfaceTest::TearDown() { |
| surface_.reset(); |
| - controller_.reset(); |
| + window_delegate_.reset(); |
| drm_.reset(); |
| message_loop_.reset(); |
| } |