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

Side by Side Diff: cc/surfaces/surface_observer.h

Issue 2918883002: cc: Get rid of SurfaceDestroyed and use SurfaceDiscarded instead
Patch Set: Updated Created 3 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CC_SURFACES_SURFACE_OBSERVER_H_ 5 #ifndef CC_SURFACES_SURFACE_OBSERVER_H_
6 #define CC_SURFACES_SURFACE_OBSERVER_H_ 6 #define CC_SURFACES_SURFACE_OBSERVER_H_
7 7
8 namespace cc { 8 namespace cc {
9 9
10 struct BeginFrameAck; 10 struct BeginFrameAck;
11 struct BeginFrameArgs; 11 struct BeginFrameArgs;
12 class SurfaceId; 12 class SurfaceId;
13 class SurfaceInfo; 13 class SurfaceInfo;
14 14
15 class SurfaceObserver { 15 class SurfaceObserver {
16 public: 16 public:
17 // Runs when a CompositorFrame is activated for the given SurfaceInfo for the 17 // Runs when a CompositorFrame is activated for the given SurfaceInfo for the
18 // first time. 18 // first time.
19 virtual void OnSurfaceCreated(const SurfaceInfo& surface_info) = 0; 19 virtual void OnSurfaceCreated(const SurfaceInfo& surface_info) = 0;
20 20
21 // Runs when a Surface was marked to be destroyed.
22 virtual void OnSurfaceDestroyed(const SurfaceId& surface_id) = 0;
23
24 // Runs when a Surface is modified, e.g. when a CompositorFrame is 21 // Runs when a Surface is modified, e.g. when a CompositorFrame is
25 // activated, its producer confirms that no CompositorFrame will be submitted 22 // activated, its producer confirms that no CompositorFrame will be submitted
26 // in response to a BeginFrame, or a CopyOutputRequest is issued. 23 // in response to a BeginFrame, or a CopyOutputRequest is issued.
27 // 24 //
28 // |ack.sequence_number| is only valid if called in response to a BeginFrame. 25 // |ack.sequence_number| is only valid if called in response to a BeginFrame.
29 // |*changed| should be set to true if this causes a Display to be damaged. 26 // |*changed| should be set to true if this causes a Display to be damaged.
30 virtual void OnSurfaceDamaged(const SurfaceId& surface_id, 27 virtual void OnSurfaceDamaged(const SurfaceId& surface_id,
31 const BeginFrameAck& ack, 28 const BeginFrameAck& ack,
32 bool* changed) = 0; 29 bool* changed) = 0;
33 30
34 // Called when a surface is garbage-collected. 31 // Called when a surface is garbage-collected.
35 virtual void OnSurfaceDiscarded(const SurfaceId& surface_id) = 0; 32 virtual void OnSurfaceDiscarded(const SurfaceId& surface_id) = 0;
36 33
37 // Runs when a Surface's CompositorFrame producer has received a BeginFrame 34 // Runs when a Surface's CompositorFrame producer has received a BeginFrame
38 // and, thus, is expected to produce damage soon. 35 // and, thus, is expected to produce damage soon.
39 virtual void OnSurfaceDamageExpected(const SurfaceId& surface_id, 36 virtual void OnSurfaceDamageExpected(const SurfaceId& surface_id,
40 const BeginFrameArgs& args) = 0; 37 const BeginFrameArgs& args) = 0;
41 }; 38 };
42 39
43 } // namespace cc 40 } // namespace cc
44 41
45 #endif // CC_SURFACES_SURFACE_OBSERVER_H_ 42 #endif // CC_SURFACES_SURFACE_OBSERVER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698