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

Unified Diff: cc/scheduler/scheduler.h

Issue 845393002: cc: Create ProxyBeginFrameSource (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: cc/scheduler/scheduler.h
diff --git a/cc/scheduler/scheduler.h b/cc/scheduler/scheduler.h
index faf4399fdca63b940aa59b4f123d339c7b9dcab0..00e1b98618aaad9c7013d4585b309f6d50fda30b 100644
--- a/cc/scheduler/scheduler.h
+++ b/cc/scheduler/scheduler.h
@@ -48,7 +48,6 @@ class SchedulerClient {
virtual base::TimeDelta BeginMainFrameToCommitDurationEstimate() = 0;
virtual base::TimeDelta CommitToActivateDurationEstimate() = 0;
virtual void DidBeginImplFrameDeadline() = 0;
- virtual void SendBeginFramesToChildren(const BeginFrameArgs& args) = 0;
protected:
virtual ~SchedulerClient() {}
@@ -75,7 +74,8 @@ class CC_EXPORT SchedulerFrameSourcesConstructor {
};
class CC_EXPORT Scheduler : public BeginFrameObserverMixIn,
- public base::PowerObserver {
+ public base::PowerObserver,
+ public ProxyBeginFrameSource::Delegate {
public:
static scoped_ptr<Scheduler> Create(
SchedulerClient* client,
@@ -83,7 +83,8 @@ class CC_EXPORT Scheduler : public BeginFrameObserverMixIn,
int layer_tree_host_id,
const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
base::PowerMonitor* power_monitor,
- scoped_ptr<BeginFrameSource> external_begin_frame_source) {
+ scoped_ptr<BeginFrameSource> external_begin_frame_source,
+ ProxyBeginFrameSource* proxy_begin_frame_source) {
SchedulerFrameSourcesConstructor frame_sources_constructor;
return make_scoped_ptr(new Scheduler(client,
scheduler_settings,
@@ -91,6 +92,7 @@ class CC_EXPORT Scheduler : public BeginFrameObserverMixIn,
task_runner,
power_monitor,
external_begin_frame_source.Pass(),
+ proxy_begin_frame_source,
&frame_sources_constructor));
}
@@ -102,6 +104,9 @@ class CC_EXPORT Scheduler : public BeginFrameObserverMixIn,
// base::PowerObserver method.
void OnPowerStateChange(bool on_battery_power) override;
+ // ProxyBeginFrameSource::Delegate.
+ void SetChildrenNeedBeginFrames(bool children_need_begin_frames) override;
+
const SchedulerSettings& settings() const { return settings_; }
void CommitVSyncParameters(base::TimeTicks timebase,
@@ -169,8 +174,6 @@ class CC_EXPORT Scheduler : public BeginFrameObserverMixIn,
state_machine_.SetContinuousPainting(continuous_painting);
}
- void SetChildrenNeedBeginFrames(bool children_need_begin_frames);
-
protected:
Scheduler(SchedulerClient* client,
const SchedulerSettings& scheduler_settings,
@@ -178,6 +181,7 @@ class CC_EXPORT Scheduler : public BeginFrameObserverMixIn,
const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
base::PowerMonitor* power_monitor,
scoped_ptr<BeginFrameSource> external_begin_frame_source,
+ ProxyBeginFrameSource* proxy_begin_frame_source,
SchedulerFrameSourcesConstructor* frame_sources_constructor);
// virtual for testing - Don't call these in the constructor or
@@ -223,6 +227,7 @@ class CC_EXPORT Scheduler : public BeginFrameObserverMixIn,
SchedulerStateMachine state_machine_;
bool inside_process_scheduled_actions_;
SchedulerStateMachine::Action inside_action_;
+ ProxyBeginFrameSource* proxy_begin_frame_source_;
private:
void ScheduleBeginImplFrameDeadline();

Powered by Google App Engine
This is Rietveld 408576698