Index: ui/ozone/platform/caca/ozone_platform_caca.cc |
diff --git a/ui/ozone/platform/caca/ozone_platform_caca.cc b/ui/ozone/platform/caca/ozone_platform_caca.cc |
index a0186a6a77d480f427a9285936606a17d6d2c17a..42b53d01c882a46f52fbe340a2069dee4f002fba 100644 |
--- a/ui/ozone/platform/caca/ozone_platform_caca.cc |
+++ b/ui/ozone/platform/caca/ozone_platform_caca.cc |
@@ -14,7 +14,9 @@ |
#include "ui/ozone/public/gpu_platform_support.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" |
namespace ui { |
@@ -83,10 +85,40 @@ class OzonePlatformCaca : public OzonePlatform { |
DISALLOW_COPY_AND_ASSIGN(OzonePlatformCaca); |
}; |
+class OzoneClientCaca : public OzoneClient { |
+ public: |
+ OzoneClientCaca() {} |
+ ~OzoneClientCaca() 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(OzoneClientCaca); |
+}; |
+ |
} // namespace |
OzonePlatform* CreateOzonePlatformCaca() { |
return new OzonePlatformCaca; |
} |
+OzoneClient* CreateOzoneClientCaca() { |
+ return new OzoneClientCaca; |
+} |
+ |
} // namespace ui |