Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / ui / ozone / platform / test / ozone_platform_test.h
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef UI_OZONE_PLATFORM_TEST_OZONE_PLATFORM_TEST_H_
6 #define UI_OZONE_PLATFORM_TEST_OZONE_PLATFORM_TEST_H_
7
8 #include "base/files/file_path.h"
9 #include "ui/events/ozone/evdev/event_factory_evdev.h"
10 #include "ui/gfx/ozone/impl/file_surface_factory.h"
11 #include "ui/ozone/ozone_platform.h"
12
13 namespace ui {
14
15 // OzonePlatform for testing
16 //
17 // This platform dumps images to a file for testing purposes.
18 class OzonePlatformTest : public OzonePlatform {
19  public:
20   OzonePlatformTest(const base::FilePath& dump_file);
21   virtual ~OzonePlatformTest();
22
23   virtual gfx::SurfaceFactoryOzone* GetSurfaceFactoryOzone() OVERRIDE;
24   virtual ui::EventFactoryOzone* GetEventFactoryOzone() OVERRIDE;
25   virtual ui::InputMethodContextFactoryOzone*
26       GetInputMethodContextFactoryOzone() OVERRIDE;
27
28  private:
29   gfx::FileSurfaceFactory surface_factory_ozone_;
30   ui::EventFactoryEvdev event_factory_ozone_;
31   ui::InputMethodContextFactoryOzone input_method_context_factory_ozone_;
32
33   DISALLOW_COPY_AND_ASSIGN(OzonePlatformTest);
34 };
35
36 // Constructor hook for use in ozone_platform_list.cc
37 OzonePlatform* CreateOzonePlatformTest();
38
39 }  // namespace ui
40
41 #endif  // UI_OZONE_PLATFORM_TEST_OZONE_PLATFORM_TEST_H_