[SyncFS] Build indexes from FileTracker entries on disk.
[chromium-blink-merge.git] / ui / ozone / platform / test / ozone_platform_test.cc
blob3f42d1f9d78fab411bce617eb198bad5b74bc28e
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.
5 #include "ui/ozone/platform/test/ozone_platform_test.h"
7 #include "base/command_line.h"
8 #include "base/files/file_path.h"
9 #include "ui/events/ozone/device/device_manager.h"
10 #include "ui/events/ozone/evdev/event_factory_evdev.h"
11 #include "ui/ozone/common/window/platform_window_compat.h"
12 #include "ui/ozone/platform/test/file_surface_factory.h"
13 #include "ui/ozone/platform/test/test_cursor_factory.h"
14 #include "ui/ozone/public/gpu_platform_support.h"
15 #include "ui/ozone/public/gpu_platform_support_host.h"
16 #include "ui/ozone/public/ozone_platform.h"
17 #include "ui/ozone/public/ozone_switches.h"
19 #if defined(OS_CHROMEOS)
20 #include "ui/ozone/common/chromeos/native_display_delegate_ozone.h"
21 #include "ui/ozone/common/chromeos/touchscreen_device_manager_ozone.h"
22 #endif
24 namespace ui {
26 namespace {
28 // OzonePlatform for testing
30 // This platform dumps images to a file for testing purposes.
31 class OzonePlatformTest : public OzonePlatform {
32 public:
33 OzonePlatformTest(const base::FilePath& dump_file) : file_path_(dump_file) {}
34 virtual ~OzonePlatformTest() {}
36 // OzonePlatform:
37 virtual ui::SurfaceFactoryOzone* GetSurfaceFactoryOzone() OVERRIDE {
38 return surface_factory_ozone_.get();
40 virtual EventFactoryOzone* GetEventFactoryOzone() OVERRIDE {
41 return event_factory_ozone_.get();
43 virtual CursorFactoryOzone* GetCursorFactoryOzone() OVERRIDE {
44 return cursor_factory_ozone_.get();
46 virtual GpuPlatformSupport* GetGpuPlatformSupport() OVERRIDE {
47 return gpu_platform_support_.get();
49 virtual GpuPlatformSupportHost* GetGpuPlatformSupportHost() OVERRIDE {
50 return gpu_platform_support_host_.get();
52 virtual scoped_ptr<PlatformWindow> CreatePlatformWindow(
53 PlatformWindowDelegate* delegate,
54 const gfx::Rect& bounds) OVERRIDE {
55 return make_scoped_ptr<PlatformWindow>(
56 new PlatformWindowCompat(delegate, bounds));
59 #if defined(OS_CHROMEOS)
60 virtual scoped_ptr<NativeDisplayDelegate> CreateNativeDisplayDelegate()
61 OVERRIDE {
62 return scoped_ptr<NativeDisplayDelegate>(new NativeDisplayDelegateOzone());
64 virtual scoped_ptr<TouchscreenDeviceManager>
65 CreateTouchscreenDeviceManager() OVERRIDE {
66 return scoped_ptr<TouchscreenDeviceManager>(
67 new TouchscreenDeviceManagerOzone());
69 #endif
71 virtual void InitializeUI() OVERRIDE {
72 device_manager_ = CreateDeviceManager();
73 surface_factory_ozone_.reset(new FileSurfaceFactory(file_path_));
74 event_factory_ozone_.reset(
75 new EventFactoryEvdev(NULL, device_manager_.get()));
76 cursor_factory_ozone_.reset(new TestCursorFactory());
77 gpu_platform_support_host_.reset(CreateStubGpuPlatformSupportHost());
80 virtual void InitializeGPU() OVERRIDE {
81 gpu_platform_support_.reset(CreateStubGpuPlatformSupport());
84 private:
85 scoped_ptr<DeviceManager> device_manager_;
86 scoped_ptr<FileSurfaceFactory> surface_factory_ozone_;
87 scoped_ptr<EventFactoryEvdev> event_factory_ozone_;
88 scoped_ptr<CursorFactoryOzone> cursor_factory_ozone_;
89 scoped_ptr<GpuPlatformSupport> gpu_platform_support_;
90 scoped_ptr<GpuPlatformSupportHost> gpu_platform_support_host_;
91 base::FilePath file_path_;
93 DISALLOW_COPY_AND_ASSIGN(OzonePlatformTest);
96 } // namespace
98 OzonePlatform* CreateOzonePlatformTest() {
99 CommandLine* cmd = CommandLine::ForCurrentProcess();
100 base::FilePath location = base::FilePath("/dev/null");
101 if (cmd->HasSwitch(switches::kOzoneDumpFile))
102 location = cmd->GetSwitchValuePath(switches::kOzoneDumpFile);
103 return new OzonePlatformTest(location);
106 } // namespace ui