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

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

Issue 2854163003: [cc] Plumb BeginFrameAcks through SurfaceManager to DisplayScheduler. (Closed)
Patch Set: track state in DisplayScheduler rather than Surface Created 3 years, 7 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
« no previous file with comments | « cc/surfaces/surface_manager.cc ('k') | cc/surfaces/surface_synchronization_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
11 struct BeginFrameArgs;
12 class SurfaceId;
10 class SurfaceInfo; 13 class SurfaceInfo;
11 14
12 class SurfaceObserver { 15 class SurfaceObserver {
13 public: 16 public:
14 // Runs when a CompositorFrame is received for the given SurfaceInfo for the 17 // Runs when a CompositorFrame is activated for the given SurfaceInfo for the
15 // first time. 18 // first time.
16 virtual void OnSurfaceCreated(const SurfaceInfo& surface_info) = 0; 19 virtual void OnSurfaceCreated(const SurfaceInfo& surface_info) {}
sunnyps 2017/05/22 06:46:38 This should be a pure abstract class otherwise we
sunnyps 2017/05/22 06:46:38 Should we add the begin frame args and ack to Surf
Eric Seckler 2017/05/22 15:32:15 Done.
Eric Seckler 2017/05/22 15:32:15 We could, but it's not really relevant in that sit
17 20
18 // Runs when a Surface is damaged. *changed should be set to true if this 21 // Runs when a Surface was marked to be destroyed.
19 // causes a Display to be damaged. 22 virtual void OnSurfaceDestroyed(const SurfaceId& surface_id) {}
20 virtual void OnSurfaceDamaged(const SurfaceId& surface_id, bool* changed) = 0; 23
24 // Runs when a Surface is damaged (a new CompositorFrame is activated).
25 // *changed should be set to true if this causes a Display to be damaged.
26 virtual void OnSurfaceDamaged(const SurfaceId& surface_id, bool* changed) {}
27
28 // Runs when a Surface's CompositorFrame producer has received a BeginFrame.
29 virtual void OnSurfaceReceivedBeginFrame(const SurfaceId& surface_id,
sunnyps 2017/05/22 06:46:38 bikeshed nit: OnSurfaceBeginFrame
Eric Seckler 2017/05/22 15:32:15 Done.
30 const BeginFrameArgs& args) {}
31
32 // Runs when a Surface's CompositorFrame producer has completed a BeginFrame
33 // either by submitting a CompositorFrame or confirming that it will not
34 // submit one.
35 virtual void OnSurfaceFinishedBeginFrame(const SurfaceId& surface_id,
sunnyps 2017/05/22 06:46:38 bikeshed nit: OnSurfaceBeginFrameAck
Eric Seckler 2017/05/22 15:32:15 Done.
36 const BeginFrameAck& ack) {}
21 }; 37 };
22 38
23 } // namespace cc 39 } // namespace cc
24 40
25 #endif // CC_SURFACES_SURFACE_OBSERVER_H_ 41 #endif // CC_SURFACES_SURFACE_OBSERVER_H_
OLDNEW
« no previous file with comments | « cc/surfaces/surface_manager.cc ('k') | cc/surfaces/surface_synchronization_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698