| Index: ui/ozone/platform/cast/ozone_platform_cast.cc
|
| diff --git a/ui/ozone/platform/cast/ozone_platform_cast.cc b/ui/ozone/platform/cast/ozone_platform_cast.cc
|
| index d3a1ea965c39017e121c70b89a3ab3b2f7ede9cf..41acc32f639cf52910828cf54226ab3df835550a 100644
|
| --- a/ui/ozone/platform/cast/ozone_platform_cast.cc
|
| +++ b/ui/ozone/platform/cast/ozone_platform_cast.cc
|
| @@ -14,7 +14,9 @@
|
| #include "ui/ozone/public/cursor_factory_ozone.h"
|
| #include "ui/ozone/public/gpu_platform_support_host.h"
|
| #include "ui/ozone/public/input_controller.h"
|
| +#include "ui/ozone/public/ozone_client.h"
|
| #include "ui/ozone/public/ozone_platform.h"
|
| +#include "ui/ozone/public/surface_client_factory_ozone.h"
|
| #include "ui/ozone/public/system_input_injector.h"
|
|
|
| using chromecast::CastEglPlatform;
|
| @@ -91,6 +93,32 @@ class OzonePlatformCast : public OzonePlatform {
|
| DISALLOW_COPY_AND_ASSIGN(OzonePlatformCast);
|
| };
|
|
|
| +class OzoneClientCast : public OzoneClient {
|
| + public:
|
| + OzoneClientCast() {}
|
| + ~OzoneClientCast() override {}
|
| +
|
| + // OzoneClient:
|
| + SurfaceClientFactoryOzone* GetSurfaceClientFactoryOzone() override {
|
| + return surface_client_.get();
|
| + }
|
| +
|
| + void InitializeUI() override {
|
| + if (!surface_client_)
|
| + surface_client_.reset(new SurfaceClientFactoryOzone);
|
| + }
|
| +
|
| + void InitializeRenderer() override {
|
| + if (!surface_client_)
|
| + surface_client_.reset(new SurfaceClientFactoryOzone);
|
| + }
|
| +
|
| + private:
|
| + scoped_ptr<SurfaceClientFactoryOzone> surface_client_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(OzoneClientCast);
|
| +};
|
| +
|
| } // namespace
|
|
|
| OzonePlatform* CreateOzonePlatformCast() {
|
| @@ -101,4 +129,8 @@ OzonePlatform* CreateOzonePlatformCast() {
|
| return new OzonePlatformCast(platform.Pass());
|
| }
|
|
|
| +OzoneClient* CreateOzoneClientCast() {
|
| + return new OzoneClientCast;
|
| +}
|
| +
|
| } // namespace ui
|
|
|