| Index: components/exo/compositor_frame_sink_holder.h
|
| diff --git a/components/exo/compositor_frame_sink_holder.h b/components/exo/compositor_frame_sink_holder.h
|
| index a469929e4b7f10819d51b792bc3eedb351284a63..fdd6e436b3ea41928a9c90f9c9fc40f4598f2778 100644
|
| --- a/components/exo/compositor_frame_sink_holder.h
|
| +++ b/components/exo/compositor_frame_sink_holder.h
|
| @@ -5,17 +5,16 @@
|
| #ifndef COMPONENTS_EXO_COMPOSITOR_FRAME_SINK_HOLDER_H_
|
| #define COMPONENTS_EXO_COMPOSITOR_FRAME_SINK_HOLDER_H_
|
|
|
| -#include <list>
|
| -#include <map>
|
| #include <memory>
|
|
|
| -#include "cc/ipc/mojo_compositor_frame_sink.mojom.h"
|
| +#include "base/containers/flat_map.h"
|
| +#include "cc/output/compositor_frame_sink_client.h"
|
| #include "cc/resources/release_callback.h"
|
| -#include "cc/resources/transferable_resource.h"
|
| -#include "cc/scheduler/begin_frame_source.h"
|
| -#include "components/exo/compositor_frame_sink.h"
|
| #include "components/exo/surface_observer.h"
|
| -#include "mojo/public/cpp/bindings/binding.h"
|
| +
|
| +namespace cc {
|
| +class CompositorFrameSink;
|
| +}
|
|
|
| namespace exo {
|
| class Surface;
|
| @@ -26,33 +25,37 @@ class Surface;
|
| // the last outstanding release callback is called.
|
| class CompositorFrameSinkHolder
|
| : public base::RefCounted<CompositorFrameSinkHolder>,
|
| - public cc::ExternalBeginFrameSourceClient,
|
| - public cc::mojom::MojoCompositorFrameSinkClient,
|
| + public cc::CompositorFrameSinkClient,
|
| public SurfaceObserver {
|
| public:
|
| - CompositorFrameSinkHolder(Surface* surface,
|
| - const cc::FrameSinkId& frame_sink_id,
|
| - cc::SurfaceManager* surface_manager);
|
| -
|
| + CompositorFrameSinkHolder(
|
| + Surface* surface,
|
| + std::unique_ptr<cc::CompositorFrameSink> frame_sink);
|
| bool HasReleaseCallbackForResource(cc::ResourceId id);
|
| void SetResourceReleaseCallback(cc::ResourceId id,
|
| const cc::ReleaseCallback& callback);
|
|
|
| - CompositorFrameSink* GetCompositorFrameSink() { return frame_sink_.get(); }
|
| + cc::CompositorFrameSink* GetCompositorFrameSink() {
|
| + return frame_sink_.get();
|
| + }
|
|
|
| base::WeakPtr<CompositorFrameSinkHolder> GetWeakPtr() {
|
| return weak_factory_.GetWeakPtr();
|
| }
|
|
|
| - // Overridden from cc::mojom::MojoCompositorFrameSinkClient:
|
| - void DidReceiveCompositorFrameAck(
|
| - const cc::ReturnedResourceArray& resources) override;
|
| - void OnBeginFrame(const cc::BeginFrameArgs& args) override;
|
| + // Overridden from cc::CompositorFrameSinkClient:
|
| + void SetBeginFrameSource(cc::BeginFrameSource* source) override;
|
| void ReclaimResources(const cc::ReturnedResourceArray& resources) override;
|
| -
|
| - // Overridden from cc::ExternalBeginFrameSourceClient:
|
| - void OnNeedsBeginFrames(bool needs_begin_frames) override;
|
| - void OnDidFinishFrame(const cc::BeginFrameAck& ack) override;
|
| + void SetTreeActivationCallback(const base::Closure& callback) override {}
|
| + void DidReceiveCompositorFrameAck() override;
|
| + void DidLoseCompositorFrameSink() override {}
|
| + void OnDraw(const gfx::Transform& transform,
|
| + const gfx::Rect& viewport,
|
| + bool resourceless_software_draw) override {}
|
| + void SetMemoryPolicy(const cc::ManagedMemoryPolicy& policy) override {}
|
| + void SetExternalTilePriorityConstraints(
|
| + const gfx::Rect& viewport_rect,
|
| + const gfx::Transform& transform) override {}
|
|
|
| // Overridden from SurfaceObserver:
|
| void OnSurfaceDestroying(Surface* surface) override;
|
| @@ -63,12 +66,11 @@ class CompositorFrameSinkHolder
|
| ~CompositorFrameSinkHolder() override;
|
|
|
| // A collection of callbacks used to release resources.
|
| - using ResourceReleaseCallbackMap = std::map<int, cc::ReleaseCallback>;
|
| + using ResourceReleaseCallbackMap = base::flat_map<int, cc::ReleaseCallback>;
|
| ResourceReleaseCallbackMap release_callbacks_;
|
|
|
| Surface* surface_;
|
| - std::unique_ptr<CompositorFrameSink> frame_sink_;
|
| - std::unique_ptr<cc::ExternalBeginFrameSource> begin_frame_source_;
|
| + std::unique_ptr<cc::CompositorFrameSink> frame_sink_;
|
|
|
| base::WeakPtrFactory<CompositorFrameSinkHolder> weak_factory_;
|
|
|
|
|