| Index: ui/ozone/public/ozone_platform.h
|
| diff --git a/ui/ozone/public/ozone_platform.h b/ui/ozone/public/ozone_platform.h
|
| index 236924f01591b3a53d0c52d6959e7854c9f8483f..f1995c12b189ab5b32075af86d1558e0a762a666 100644
|
| --- a/ui/ozone/public/ozone_platform.h
|
| +++ b/ui/ozone/public/ozone_platform.h
|
| @@ -8,6 +8,7 @@
|
| #include <memory>
|
|
|
| #include "base/macros.h"
|
| +#include "base/message_loop/message_loop.h"
|
| #include "ui/ozone/ozone_export.h"
|
|
|
| namespace display {
|
| @@ -71,6 +72,12 @@ class OZONE_EXPORT OzonePlatform {
|
| bool single_process = false;
|
| };
|
|
|
| + // Ensures the OzonePlatform instance without doing any initialization.
|
| + // No-op in case the instance is already created.
|
| + // This is useful in order call virtual methods that depend on the ozone
|
| + // platform selected at runtime, e.g. ::GetMessageLoopTypeForGpu.
|
| + static OzonePlatform* EnsureInstance();
|
| +
|
| // Initializes the subsystems/resources necessary for the UI process (e.g.
|
| // events, etc.)
|
| // TODO(rjkroege): Remove deprecated entry point (http://crbug.com/620934)
|
| @@ -108,6 +115,10 @@ class OZONE_EXPORT OzonePlatform {
|
| virtual std::unique_ptr<display::NativeDisplayDelegate>
|
| CreateNativeDisplayDelegate() = 0;
|
|
|
| + // Returns the message loop type required for OzonePlatform instance that
|
| + // will be initialized for the GPU process.
|
| + virtual base::MessageLoop::Type GetMessageLoopTypeForGpu();
|
| +
|
| // Ozone platform implementations may also choose to expose mojo interfaces to
|
| // internal functionality. Embedders wishing to take advantage of ozone mojo
|
| // implementations must invoke AddInterfaces with a valid
|
| @@ -124,8 +135,6 @@ class OZONE_EXPORT OzonePlatform {
|
| virtual void InitializeUI(const InitParams& args);
|
| virtual void InitializeGPU(const InitParams& args);
|
|
|
| - static void CreateInstance();
|
| -
|
| static OzonePlatform* instance_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(OzonePlatform);
|
|
|