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, |
rjkroege
2016/10/20 21:33:18
how about a using to make these types less ridicul
Fady Samuel
2016/10/20 23:04:10
Apparently mojo autogenerates one for you. I'll do
|
+ 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); |
}; |