OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef UI_OZONE_PUBLIC_OZONE_PLATFORM_H_ | 5 #ifndef UI_OZONE_PUBLIC_OZONE_PLATFORM_H_ |
6 #define UI_OZONE_PUBLIC_OZONE_PLATFORM_H_ | 6 #define UI_OZONE_PUBLIC_OZONE_PLATFORM_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
11 #include "base/message_loop/message_loop.h" | 11 #include "base/message_loop/message_loop.h" |
12 #include "ui/ozone/ozone_export.h" | 12 #include "ui/ozone/ozone_export.h" |
13 | 13 |
14 namespace display { | 14 namespace display { |
15 class NativeDisplayDelegate; | 15 class NativeDisplayDelegate; |
16 } | 16 } |
17 | 17 |
18 namespace gfx { | 18 namespace gfx { |
19 class Rect; | 19 class Rect; |
20 } | 20 } |
21 | 21 |
22 namespace IPC { | 22 namespace IPC { |
23 class MessageFilter; | 23 class MessageFilter; |
24 } | 24 } |
25 | 25 |
26 namespace service_manager { | 26 namespace service_manager { |
| 27 class BinderRegistry; |
27 class Connector; | 28 class Connector; |
28 class InterfaceRegistry; | |
29 } | 29 } |
30 | 30 |
31 namespace ui { | 31 namespace ui { |
32 | 32 |
33 class CursorFactoryOzone; | 33 class CursorFactoryOzone; |
34 class InputController; | 34 class InputController; |
35 class GpuPlatformSupportHost; | 35 class GpuPlatformSupportHost; |
36 class OverlayManagerOzone; | 36 class OverlayManagerOzone; |
37 class PlatformWindow; | 37 class PlatformWindow; |
38 class PlatformWindowDelegate; | 38 class PlatformWindowDelegate; |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 virtual std::unique_ptr<display::NativeDisplayDelegate> | 111 virtual std::unique_ptr<display::NativeDisplayDelegate> |
112 CreateNativeDisplayDelegate() = 0; | 112 CreateNativeDisplayDelegate() = 0; |
113 | 113 |
114 // Returns the message loop type required for OzonePlatform instance that | 114 // Returns the message loop type required for OzonePlatform instance that |
115 // will be initialized for the GPU process. | 115 // will be initialized for the GPU process. |
116 virtual base::MessageLoop::Type GetMessageLoopTypeForGpu(); | 116 virtual base::MessageLoop::Type GetMessageLoopTypeForGpu(); |
117 | 117 |
118 // Ozone platform implementations may also choose to expose mojo interfaces to | 118 // Ozone platform implementations may also choose to expose mojo interfaces to |
119 // internal functionality. Embedders wishing to take advantage of ozone mojo | 119 // internal functionality. Embedders wishing to take advantage of ozone mojo |
120 // implementations must invoke AddInterfaces with a valid | 120 // implementations must invoke AddInterfaces with a valid |
121 // service_manager::InterfaceRegistry* pointer to export all Mojo interfaces | 121 // service_manager::BinderRegistry* pointer to export all Mojo interfaces |
122 // defined within Ozone. | 122 // defined within Ozone. |
123 // | 123 // |
124 // A default do-nothing implementation is provided to permit platform | 124 // A default do-nothing implementation is provided to permit platform |
125 // implementations to opt out of implementing any Mojo interfaces. | 125 // implementations to opt out of implementing any Mojo interfaces. |
126 virtual void AddInterfaces(service_manager::InterfaceRegistry* registry); | 126 virtual void AddInterfaces(service_manager::BinderRegistry* registry); |
127 | 127 |
128 private: | 128 private: |
129 virtual void InitializeUI(const InitParams& params) = 0; | 129 virtual void InitializeUI(const InitParams& params) = 0; |
130 virtual void InitializeGPU(const InitParams& params) = 0; | 130 virtual void InitializeGPU(const InitParams& params) = 0; |
131 | 131 |
132 static OzonePlatform* instance_; | 132 static OzonePlatform* instance_; |
133 | 133 |
134 DISALLOW_COPY_AND_ASSIGN(OzonePlatform); | 134 DISALLOW_COPY_AND_ASSIGN(OzonePlatform); |
135 }; | 135 }; |
136 | 136 |
137 } // namespace ui | 137 } // namespace ui |
138 | 138 |
139 #endif // UI_OZONE_PUBLIC_OZONE_PLATFORM_H_ | 139 #endif // UI_OZONE_PUBLIC_OZONE_PLATFORM_H_ |
OLD | NEW |