Index: components/mus/surfaces/top_level_display_client.h |
diff --git a/components/mus/surfaces/top_level_display_client.h b/components/mus/surfaces/top_level_display_client.h |
index 9dfeb0a0f32d3cffe7d741e9fa1100d6db4ca411..ea042bf648e8ac4fd721aaf4f9205cca3c63aac4 100644 |
--- a/components/mus/surfaces/top_level_display_client.h |
+++ b/components/mus/surfaces/top_level_display_client.h |
@@ -5,68 +5,47 @@ |
#ifndef COMPONENTS_MUS_SURFACES_TOP_LEVEL_DISPLAY_CLIENT_H_ |
#define COMPONENTS_MUS_SURFACES_TOP_LEVEL_DISPLAY_CLIENT_H_ |
-#include <stdint.h> |
- |
-#include <memory> |
+#include "cc/surfaces/display_client.h" |
-#include "base/macros.h" |
#include "base/memory/ref_counted.h" |
-#include "cc/surfaces/display_client.h" |
-#include "cc/surfaces/surface_factory.h" |
-#include "cc/surfaces/surface_factory_client.h" |
-#include "components/mus/gles2/gpu_state.h" |
-#include "components/mus/public/interfaces/window_manager.mojom.h" |
-#include "components/mus/surfaces/surfaces_state.h" |
-#include "mojo/public/cpp/bindings/strong_binding.h" |
-#include "ui/gfx/native_widget_types.h" |
+#include "base/single_thread_task_runner.h" |
namespace cc { |
-class CopyOutputResult; |
class Display; |
-class DisplayScheduler; |
-class SurfaceFactory; |
+class OutputSurface; |
+class RendererSettings; |
+class SharedBitmapManager; |
+class SurfaceManager; |
} |
-namespace mus { |
+namespace gpu { |
+class GpuMemoryBufferManager; |
+} |
-class DisplayDelegate; |
-class SurfacesState; |
+namespace mus { |
-// A TopLevelDisplayClient manages the top level surface that is rendered into a |
-// provided AcceleratedWidget. Frames are submitted here. New frames are |
-// scheduled to be generated here based on VSync. |
-class TopLevelDisplayClient : public cc::DisplayClient, |
- public cc::SurfaceFactoryClient { |
+class TopLevelDisplayClient : public cc::DisplayClient { |
public: |
- TopLevelDisplayClient(gfx::AcceleratedWidget widget, |
- const scoped_refptr<GpuState>& gpu_state, |
- const scoped_refptr<SurfacesState>& surfaces_state); |
+ TopLevelDisplayClient(std::unique_ptr<cc::OutputSurface> output_surface, |
+ cc::SurfaceManager* surface_manager, |
+ cc::SharedBitmapManager* bitmap_manager, |
+ gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, |
+ const cc::RendererSettings& settings, |
+ scoped_refptr<base::SingleThreadTaskRunner> task_runner, |
+ uint32_t compositor_surface_namespace); |
~TopLevelDisplayClient() override; |
- void SubmitCompositorFrame(std::unique_ptr<cc::CompositorFrame> frame, |
- const base::Closure& callback); |
- const cc::SurfaceId& surface_id() const { return cc_id_; } |
+ bool Initialize(); |
- void RequestCopyOfOutput( |
- std::unique_ptr<cc::CopyOutputRequest> output_request); |
+ cc::Display* display() { return display_.get(); } |
private: |
// DisplayClient implementation. |
void OutputSurfaceLost() override; |
void SetMemoryPolicy(const cc::ManagedMemoryPolicy& policy) override; |
- // SurfaceFactoryClient implementation. |
- void ReturnResources(const cc::ReturnedResourceArray& resources) override; |
- void SetBeginFrameSource(cc::BeginFrameSource* begin_frame_source) override; |
- |
+ std::unique_ptr<cc::OutputSurface> output_surface_; |
scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
- scoped_refptr<SurfacesState> surfaces_state_; |
- cc::SurfaceFactory factory_; |
- cc::SurfaceId cc_id_; |
- |
- gfx::Size last_submitted_frame_size_; |
- std::unique_ptr<cc::CompositorFrame> pending_frame_; |
- |
std::unique_ptr<cc::Display> display_; |
DISALLOW_COPY_AND_ASSIGN(TopLevelDisplayClient); |