Index: services/surfaces/surfaces_scheduler.h |
diff --git a/services/surfaces/surfaces_scheduler.h b/services/surfaces/surfaces_scheduler.h |
index 6a1d4b307f9fe2420ebd057e80fe03e9baafc55a..5e2e5c40eb394c64cd38b9b837d0c3e362fca64c 100644 |
--- a/services/surfaces/surfaces_scheduler.h |
+++ b/services/surfaces/surfaces_scheduler.h |
@@ -5,21 +5,19 @@ |
#ifndef MOJO_SERVICES_SURFACES_SURFACES_SCHEDULER_H_ |
#define MOJO_SERVICES_SURFACES_SURFACES_SCHEDULER_H_ |
+#include <set> |
+ |
#include "cc/scheduler/scheduler.h" |
+namespace cc { |
+class Display; |
+} |
+ |
namespace surfaces { |
class SurfacesScheduler : public cc::SchedulerClient { |
public: |
- class Client { |
- public: |
- virtual void Draw() = 0; |
- |
- protected: |
- virtual ~Client(); |
- }; |
- |
- explicit SurfacesScheduler(Client* client); |
+ SurfacesScheduler(); |
~SurfacesScheduler(); |
void SetNeedsDraw(); |
@@ -27,6 +25,9 @@ class SurfacesScheduler : public cc::SchedulerClient { |
void OnVSyncParametersUpdated(base::TimeTicks timebase, |
base::TimeDelta interval); |
+ void AddDisplay(cc::Display* display); |
+ void RemoveDisplay(cc::Display* display); |
+ |
private: |
void WillBeginImplFrame(const cc::BeginFrameArgs& args) override; |
void ScheduledActionSendBeginMainFrame() override; |
@@ -45,7 +46,7 @@ class SurfacesScheduler : public cc::SchedulerClient { |
void SendBeginFramesToChildren(const cc::BeginFrameArgs& args) override; |
void SendBeginMainFrameNotExpectedSoon() override; |
- Client* client_; |
+ std::set<cc::Display*> displays_; |
scoped_ptr<cc::Scheduler> scheduler_; |
base::TimeDelta draw_estimate_; |