Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(501)

Unified Diff: services/ui/public/cpp/window_surface.h

Issue 2429173005: Mus+Ash: Replace (Server)WindowSurface with (Server)WindowCompositorFrameSink (Closed)
Patch Set: ui::CompositorFrameSink => ui::WindowCompositorFrameSink Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
deleted file mode 100644
index 6d40bfaeaffeafa471ba87f2ced26b800be6c9ba..0000000000000000000000000000000000000000
--- a/services/ui/public/cpp/window_surface.h
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef SERVICES_UI_PUBLIC_CPP_WINDOW_SURFACE_H_
-#define SERVICES_UI_PUBLIC_CPP_WINDOW_SURFACE_H_
-
-#include <memory>
-
-#include "base/callback.h"
-#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/cpp/window_surface_client.h"
-
-namespace ui {
-
-class WindowSurfaceBinding;
-class WindowMojoCompositorFrameSinkClient;
-class Window;
-
-// A WindowSurface is wrapper to simplify submitting CompositorFrames to
-// Windows, and receiving ReturnedResources.
-class WindowSurface : public cc::mojom::MojoCompositorFrameSinkClient {
- public:
- // static
- static std::unique_ptr<WindowSurface> Create(
- std::unique_ptr<WindowSurfaceBinding>* surface_binding);
-
- ~WindowSurface() override;
-
- // Called to indicate that the current thread has assumed control of this
- // object.
- void BindToThread();
-
- void SubmitCompositorFrame(cc::CompositorFrame frame);
-
- void set_client(WindowSurfaceClient* client) { client_ = client; }
-
- private:
- friend class Window;
-
- WindowSurface(
- mojo::InterfacePtrInfo<cc::mojom::MojoCompositorFrameSink> surface_info,
- mojo::InterfaceRequest<cc::mojom::MojoCompositorFrameSinkClient>
- client_request);
-
- // MojoCompositorFrameSinkClient implementation:
- void DidReceiveCompositorFrameAck() override;
- void ReclaimResources(const cc::ReturnedResourceArray& resources) override;
-
- WindowSurfaceClient* client_;
- 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);
-};
-
-// A WindowSurfaceBinding is a bundle of mojo interfaces that are to be used by
-// or implemented by the Mus window server when passed into
-// Window::AttachSurface. WindowSurfaceBinding has no standalone functionality.
-class WindowSurfaceBinding {
- public:
- ~WindowSurfaceBinding();
-
- private:
- friend class WindowSurface;
- friend class Window;
-
- WindowSurfaceBinding(
- 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);
-};
-
-} // namespace ui
-
-#endif // SERVICES_UI_PUBLIC_CPP_WINDOW_SURFACE_H_

Powered by Google App Engine
This is Rietveld 408576698