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

Side by Side Diff: components/exo/compositor_frame_sink.h

Issue 2493223002: Change exo::SurfaceFactoryOwner to exo::ExoCompositorFrameSink (Closed)
Patch Set: Override DesktopMediaListAshTest::TearDown() to reset list_ Created 4 years 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 unified diff | Download patch
« no previous file with comments | « components/exo/DEPS ('k') | components/exo/compositor_frame_sink.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef COMPONENTS_EXO_EXO_COMPOSITOR_FRAME_SINK_H_
6 #define COMPONENTS_EXO_EXO_COMPOSITOR_FRAME_SINK_H_
7
8 #include "cc/ipc/compositor_frame.mojom.h"
9 #include "cc/ipc/mojo_compositor_frame_sink.mojom.h"
10 #include "cc/resources/transferable_resource.h"
11 #include "cc/surfaces/compositor_frame_sink_support.h"
12 #include "cc/surfaces/compositor_frame_sink_support_client.h"
13 #include "mojo/public/cpp/bindings/strong_binding.h"
14
15 namespace exo {
16
17 class CompositorFrameSink : public cc::CompositorFrameSinkSupportClient,
18 public cc::mojom::MojoCompositorFrameSink {
19 public:
20 static void Create(const cc::FrameSinkId& frame_sink_id,
21 cc::SurfaceManager* surface_manager,
22 cc::mojom::MojoCompositorFrameSinkClientPtr client,
23 cc::mojom::MojoCompositorFrameSinkRequest request);
24
25 CompositorFrameSink(const cc::FrameSinkId& frame_sink_id,
26 cc::SurfaceManager* surface_manager,
27 cc::mojom::MojoCompositorFrameSinkClientPtr client);
28
29 ~CompositorFrameSink() override;
30
31 // Overridden from cc::mojom::MojoCompositorFrameSink:
32 void SetNeedsBeginFrame(bool needs_begin_frame) override;
33 void SubmitCompositorFrame(const cc::LocalFrameId& local_frame_id,
34 cc::CompositorFrame frame) override;
35 void AddSurfaceReferences(
36 const std::vector<cc::SurfaceReference>& references) override;
37 void RemoveSurfaceReferences(
38 const std::vector<cc::SurfaceReference>& references) override;
39 void EvictFrame() override;
40 void Require(const cc::LocalFrameId& local_frame_id,
41 const cc::SurfaceSequence& sequence) override;
42 void Satisfy(const cc::SurfaceSequence& sequence) override;
43
44 // Overridden from cc::CompositorFrameSinkSupportClient:
45 void DidReceiveCompositorFrameAck() override;
46 void OnBeginFrame(const cc::BeginFrameArgs& args) override;
47 void ReclaimResources(const cc::ReturnedResourceArray& resources) override;
48 void WillDrawSurface() override;
49
50 private:
51 cc::CompositorFrameSinkSupport support_;
52 cc::mojom::MojoCompositorFrameSinkClientPtr client_;
53 cc::ReturnedResourceArray surface_returned_resources_;
54 mojo::StrongBindingPtr<cc::mojom::MojoCompositorFrameSink> binding_;
55
56 DISALLOW_COPY_AND_ASSIGN(CompositorFrameSink);
57 };
58
59 } // namespace exo
60
61 #endif // COMPONENTS_EXO_EXO_COMPOSITOR_FRAME_SINK_H_
OLDNEW
« no previous file with comments | « components/exo/DEPS ('k') | components/exo/compositor_frame_sink.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698