Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / ui / ozone / platform / dri / dri_surface_unittest.cc
index b45a725..0e5c00e 100644 (file)
@@ -7,9 +7,10 @@
 #include "third_party/skia/include/core/SkCanvas.h"
 #include "third_party/skia/include/core/SkColor.h"
 #include "third_party/skia/include/core/SkDevice.h"
-#include "ui/ozone/platform/dri/crtc_state.h"
+#include "ui/ozone/platform/dri/crtc_controller.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,19 +23,47 @@ 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(make_scoped_ptr(
+        new ui::CrtcController(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));
+  }
+  ~MockDriWindowDelegate() override {}
+
+  // DriWindowDelegate:
+  void Initialize() override {}
+  void Shutdown() override {}
+  gfx::AcceleratedWidget GetAcceleratedWidget() override { return 1; }
+  ui::HardwareDisplayController* GetController() override {
+    return controller_.get();
+  }
+  void OnBoundsChanged(const gfx::Rect& bounds) override {}
+
+ private:
+  scoped_ptr<ui::HardwareDisplayController> controller_;
+
+  DISALLOW_COPY_AND_ASSIGN(MockDriWindowDelegate);
+};
+
 }  // namespace
 
 class DriSurfaceTest : public testing::Test {
  public:
   DriSurfaceTest() {}
 
-  virtual void SetUp() OVERRIDE;
-  virtual void TearDown() OVERRIDE;
+  void SetUp() override;
+  void TearDown() override;
 
  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 +73,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();
 }