Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / ui / ozone / platform / test / ozone_platform_test.cc
index 6428c79..da94ba4 100644 (file)
@@ -6,32 +6,63 @@
 
 #include "base/command_line.h"
 #include "base/files/file_path.h"
+#include "ui/base/cursor/ozone/cursor_factory_ozone.h"
+#include "ui/events/ozone/evdev/event_factory_evdev.h"
+#include "ui/gfx/ozone/impl/file_surface_factory.h"
+#include "ui/ozone/ime/input_method_context_factory_ozone.h"
 #include "ui/ozone/ozone_platform.h"
 #include "ui/ozone/ozone_switches.h"
 
+#if defined(OS_CHROMEOS)
+#include "ui/ozone/common/chromeos/native_display_delegate_ozone.h"
+#endif
+
 namespace ui {
 
-OzonePlatformTest::OzonePlatformTest(const base::FilePath& dump_file)
-    : surface_factory_ozone_(dump_file) {}
+namespace {
 
-OzonePlatformTest::~OzonePlatformTest() {}
+// OzonePlatform for testing
+//
+// This platform dumps images to a file for testing purposes.
+class OzonePlatformTest : public OzonePlatform {
+ public:
+  OzonePlatformTest(const base::FilePath& dump_file)
+      : surface_factory_ozone_(dump_file) {}
+  virtual ~OzonePlatformTest() {}
 
-gfx::SurfaceFactoryOzone* OzonePlatformTest::GetSurfaceFactoryOzone() {
-  return &surface_factory_ozone_;
-}
+  // OzonePlatform:
+  virtual gfx::SurfaceFactoryOzone* GetSurfaceFactoryOzone() OVERRIDE {
+    return &surface_factory_ozone_;
+  }
+  virtual ui::EventFactoryOzone* GetEventFactoryOzone() OVERRIDE {
+    return &event_factory_ozone_;
+  }
+  virtual ui::InputMethodContextFactoryOzone*
+  GetInputMethodContextFactoryOzone() OVERRIDE {
+    return &input_method_context_factory_ozone_;
+  }
+  virtual ui::CursorFactoryOzone* GetCursorFactoryOzone() OVERRIDE {
+    return &cursor_factory_ozone_;
+  }
 
-ui::EventFactoryOzone* OzonePlatformTest::GetEventFactoryOzone() {
-  return &event_factory_ozone_;
-}
+#if defined(OS_CHROMEOS)
+  virtual scoped_ptr<ui::NativeDisplayDelegate> CreateNativeDisplayDelegate()
+      OVERRIDE {
+    return scoped_ptr<ui::NativeDisplayDelegate>(
+        new NativeDisplayDelegateOzone());
+  }
+#endif
 
-ui::InputMethodContextFactoryOzone*
-OzonePlatformTest::GetInputMethodContextFactoryOzone() {
-  return &input_method_context_factory_ozone_;
-}
+ private:
+  gfx::FileSurfaceFactory surface_factory_ozone_;
+  ui::EventFactoryEvdev event_factory_ozone_;
+  ui::InputMethodContextFactoryOzone input_method_context_factory_ozone_;
+  ui::CursorFactoryOzone cursor_factory_ozone_;
 
-ui::CursorFactoryOzone* OzonePlatformTest::GetCursorFactoryOzone() {
-  return &cursor_factory_ozone_;
-}
+  DISALLOW_COPY_AND_ASSIGN(OzonePlatformTest);
+};
+
+}  // namespace
 
 OzonePlatform* CreateOzonePlatformTest() {
   CommandLine* cmd = CommandLine::ForCurrentProcess();