| Index: services/ui/public/cpp/window_surface.h
|
| diff --git a/services/ui/public/cpp/window_surface.h b/services/ui/public/cpp/window_surface.h
|
| index e06d13f92091ba032c313dc221cb13eb47b62772..6d40bfaeaffeafa471ba87f2ced26b800be6c9ba 100644
|
| --- a/services/ui/public/cpp/window_surface.h
|
| +++ b/services/ui/public/cpp/window_surface.h
|
| @@ -11,19 +11,20 @@
|
| #include "base/macros.h"
|
| #include "base/observer_list.h"
|
| #include "base/threading/thread_checker.h"
|
| +#include "cc/ipc/mojo_compositor_frame_sink.mojom.h"
|
| #include "mojo/public/cpp/bindings/binding.h"
|
| #include "mojo/public/cpp/bindings/interface_ptr_info.h"
|
| -#include "services/ui/public/interfaces/surface.mojom.h"
|
| +#include "services/ui/public/cpp/window_surface_client.h"
|
|
|
| namespace ui {
|
|
|
| class WindowSurfaceBinding;
|
| -class WindowSurfaceClient;
|
| +class WindowMojoCompositorFrameSinkClient;
|
| class Window;
|
|
|
| // A WindowSurface is wrapper to simplify submitting CompositorFrames to
|
| // Windows, and receiving ReturnedResources.
|
| -class WindowSurface : public mojom::SurfaceClient {
|
| +class WindowSurface : public cc::mojom::MojoCompositorFrameSinkClient {
|
| public:
|
| // static
|
| static std::unique_ptr<WindowSurface> Create(
|
| @@ -35,25 +36,29 @@ class WindowSurface : public mojom::SurfaceClient {
|
| // object.
|
| void BindToThread();
|
|
|
| - void SubmitCompositorFrame(cc::CompositorFrame frame,
|
| - const base::Closure& callback);
|
| + void SubmitCompositorFrame(cc::CompositorFrame frame);
|
|
|
| void set_client(WindowSurfaceClient* client) { client_ = client; }
|
|
|
| private:
|
| friend class Window;
|
|
|
| - WindowSurface(mojo::InterfacePtrInfo<mojom::Surface> surface_info,
|
| - mojo::InterfaceRequest<mojom::SurfaceClient> client_request);
|
| + WindowSurface(
|
| + mojo::InterfacePtrInfo<cc::mojom::MojoCompositorFrameSink> surface_info,
|
| + mojo::InterfaceRequest<cc::mojom::MojoCompositorFrameSinkClient>
|
| + client_request);
|
|
|
| - // SurfaceClient implementation:
|
| - void ReturnResources(const cc::ReturnedResourceArray& resources) override;
|
| + // MojoCompositorFrameSinkClient implementation:
|
| + void DidReceiveCompositorFrameAck() override;
|
| + void ReclaimResources(const cc::ReturnedResourceArray& resources) override;
|
|
|
| WindowSurfaceClient* client_;
|
| - mojo::InterfacePtrInfo<mojom::Surface> surface_info_;
|
| - mojo::InterfaceRequest<mojom::SurfaceClient> client_request_;
|
| - mojom::SurfacePtr surface_;
|
| - std::unique_ptr<mojo::Binding<mojom::SurfaceClient>> client_binding_;
|
| + mojo::InterfacePtrInfo<cc::mojom::MojoCompositorFrameSink> surface_info_;
|
| + mojo::InterfaceRequest<cc::mojom::MojoCompositorFrameSinkClient>
|
| + client_request_;
|
| + cc::mojom::MojoCompositorFrameSinkPtr surface_;
|
| + std::unique_ptr<mojo::Binding<cc::mojom::MojoCompositorFrameSinkClient>>
|
| + client_binding_;
|
| std::unique_ptr<base::ThreadChecker> thread_checker_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(WindowSurface);
|
| @@ -71,11 +76,14 @@ class WindowSurfaceBinding {
|
| friend class Window;
|
|
|
| WindowSurfaceBinding(
|
| - mojo::InterfaceRequest<mojom::Surface> surface_request,
|
| - mojo::InterfacePtrInfo<mojom::SurfaceClient> surface_client);
|
| -
|
| - mojo::InterfaceRequest<mojom::Surface> surface_request_;
|
| - mojo::InterfacePtrInfo<mojom::SurfaceClient> surface_client_;
|
| + mojo::InterfaceRequest<cc::mojom::MojoCompositorFrameSink>
|
| + surface_request,
|
| + mojo::InterfacePtrInfo<cc::mojom::MojoCompositorFrameSinkClient>
|
| + surface_client);
|
| +
|
| + mojo::InterfaceRequest<cc::mojom::MojoCompositorFrameSink> surface_request_;
|
| + mojo::InterfacePtrInfo<cc::mojom::MojoCompositorFrameSinkClient>
|
| + surface_client_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(WindowSurfaceBinding);
|
| };
|
|
|