diff options
author | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-13 06:37:20 +0000 |
---|---|---|
committer | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-13 06:37:20 +0000 |
commit | 5f13247a2dbf23bfed86f21b2e54721ca36ad957 (patch) | |
tree | c53aab7dda82034488f2921f574f940a0ccf3092 /cc | |
parent | d1549b8de5f07af6de2e1e58d3e6ce8ec6754f60 (diff) | |
download | chromium_src-5f13247a2dbf23bfed86f21b2e54721ca36ad957.zip chromium_src-5f13247a2dbf23bfed86f21b2e54721ca36ad957.tar.gz chromium_src-5f13247a2dbf23bfed86f21b2e54721ca36ad957.tar.bz2 |
cc: Directly construct SchedulerSettings from LayerTreeSettings
This is a small piece of SingleThreadProxy+SchedulerClient that seemed
reasonable to pull out. I'm tired of rebasing it.
R=brianderson@chromium.org,danakj@chromium.org
BUG=329552
Review URL: https://codereview.chromium.org/337553003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@276940 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc')
-rw-r--r-- | cc/scheduler/scheduler_settings.cc | 17 | ||||
-rw-r--r-- | cc/scheduler/scheduler_settings.h | 2 | ||||
-rw-r--r-- | cc/trees/thread_proxy.cc | 18 |
3 files changed, 20 insertions, 17 deletions
diff --git a/cc/scheduler/scheduler_settings.cc b/cc/scheduler/scheduler_settings.cc index ccc3e92..f1bf60e 100644 --- a/cc/scheduler/scheduler_settings.cc +++ b/cc/scheduler/scheduler_settings.cc @@ -4,6 +4,8 @@ #include "cc/scheduler/scheduler_settings.h" +#include "cc/trees/layer_tree_settings.h" + namespace cc { SchedulerSettings::SchedulerSettings() @@ -17,6 +19,21 @@ SchedulerSettings::SchedulerSettings() throttle_frame_production(true) { } +SchedulerSettings::SchedulerSettings(const LayerTreeSettings& settings) + : begin_frame_scheduling_enabled(settings.begin_frame_scheduling_enabled), + main_frame_before_draw_enabled(settings.main_frame_before_draw_enabled), + main_frame_before_activation_enabled( + settings.main_frame_before_activation_enabled), + impl_side_painting(settings.impl_side_painting), + timeout_and_draw_when_animation_checkerboards( + settings.timeout_and_draw_when_animation_checkerboards), + maximum_number_of_failed_draws_before_draw_is_forced_( + settings.maximum_number_of_failed_draws_before_draw_is_forced_), + using_synchronous_renderer_compositor( + settings.using_synchronous_renderer_compositor), + throttle_frame_production(settings.throttle_frame_production) { +} + SchedulerSettings::~SchedulerSettings() {} scoped_ptr<base::Value> SchedulerSettings::AsValue() const { diff --git a/cc/scheduler/scheduler_settings.h b/cc/scheduler/scheduler_settings.h index 519d22a..c282cf6 100644 --- a/cc/scheduler/scheduler_settings.h +++ b/cc/scheduler/scheduler_settings.h @@ -10,10 +10,12 @@ #include "cc/base/cc_export.h" namespace cc { +class LayerTreeSettings; class CC_EXPORT SchedulerSettings { public: SchedulerSettings(); + explicit SchedulerSettings(const LayerTreeSettings& settings); ~SchedulerSettings(); bool begin_frame_scheduling_enabled; diff --git a/cc/trees/thread_proxy.cc b/cc/trees/thread_proxy.cc index 583b060..1eed641 100644 --- a/cc/trees/thread_proxy.cc +++ b/cc/trees/thread_proxy.cc @@ -1233,23 +1233,7 @@ void ThreadProxy::InitializeImplOnImplThread(CompletionEvent* completion) { DCHECK(IsImplThread()); impl().layer_tree_host_impl = layer_tree_host()->CreateLayerTreeHostImpl(this); - const LayerTreeSettings& settings = layer_tree_host()->settings(); - SchedulerSettings scheduler_settings; - scheduler_settings.begin_frame_scheduling_enabled = - settings.begin_frame_scheduling_enabled; - scheduler_settings.main_frame_before_draw_enabled = - settings.main_frame_before_draw_enabled; - scheduler_settings.main_frame_before_activation_enabled = - settings.main_frame_before_activation_enabled; - scheduler_settings.impl_side_painting = settings.impl_side_painting; - scheduler_settings.timeout_and_draw_when_animation_checkerboards = - settings.timeout_and_draw_when_animation_checkerboards; - scheduler_settings.maximum_number_of_failed_draws_before_draw_is_forced_ = - settings.maximum_number_of_failed_draws_before_draw_is_forced_; - scheduler_settings.using_synchronous_renderer_compositor = - settings.using_synchronous_renderer_compositor; - scheduler_settings.throttle_frame_production = - settings.throttle_frame_production; + SchedulerSettings scheduler_settings(layer_tree_host()->settings()); impl().scheduler = Scheduler::Create(this, scheduler_settings, impl().layer_tree_host_id, |