Chromium Code Reviews| Index: ui/base/ozone/surface_factory_ozone.h |
| diff --git a/ui/base/ozone/surface_factory_ozone.h b/ui/base/ozone/surface_factory_ozone.h |
| index 5df6bd9547d926a9c11b0d4d356be60154fa1df1..b78118ce3518ece72021b8e6d1bb829d4fb2be0b 100644 |
| --- a/ui/base/ozone/surface_factory_ozone.h |
| +++ b/ui/base/ozone/surface_factory_ozone.h |
| @@ -18,6 +18,12 @@ namespace ui { |
| class UI_EXPORT SurfaceFactoryOzone { |
| public: |
| + // Describes the state of the hardware after initialization. |
| + enum HardwareState { |
| + INITIALIZED, |
| + FAILED, |
| + }; |
| + |
| SurfaceFactoryOzone(); |
| virtual ~SurfaceFactoryOzone(); |
| @@ -35,15 +41,18 @@ class UI_EXPORT SurfaceFactoryOzone { |
| // This method implements gfx::Screen, particularly useful in Desktop Aura. |
| virtual gfx::Screen* CreateDesktopScreen(); |
| - // TODO(rjkroege): Add a status code if necessary. |
| // Configures the display hardware. Must be called from within the GPU |
| // process before the sandbox has been activated. |
| - virtual void InitializeHardware() = 0; |
| + virtual HardwareState InitializeHardware() = 0; |
| // Cleans up display hardware state. Call this from within the GPU process. |
| // This method must be safe to run inside of the sandbox. |
| virtual void ShutdownHardware() = 0; |
| + // Returns the native EGL display. This is generally needed in creating |
| + // EGL windows. |
| + virtual intptr_t GetNativeDisplay(); |
| + |
| // Obtains an AcceleratedWidget backed by a native Linux framebuffer. |
| // The returned AcceleratedWidget is an opaque token that must realized |
| // before it can be used to create a GL surface. |
| @@ -65,6 +74,10 @@ class UI_EXPORT SurfaceFactoryOzone { |
| gfx::AcceleratedWidget w, |
| const gfx::Rect& bounds) = 0; |
| + // Called after the appropriate GL swap buffers command. Used if extra work |
|
rjkroege
2013/08/30 15:26:04
I realize it's been a bit of contentious discussio
|
| + // is needed to perform the actual buffer swap. |
| + virtual bool SchedulePageFlip(gfx::AcceleratedWidget w); |
| + |
| // Returns a gfx::VsyncProvider for the provided AcceleratedWidget. Note |
| // that this may be called after we have entered the sandbox so if there are |
| // operations (e.g. opening a file descriptor providing vsync events) that |
| @@ -81,5 +94,4 @@ class UI_EXPORT SurfaceFactoryOzone { |
| } // namespace ui |
| - |
| #endif // UI_BASE_OZONE_SURFACE_LNUX_FACTORY_OZONE_H_ |