summaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
authorenne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-13 06:37:20 +0000
committerenne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-13 06:37:20 +0000
commit5f13247a2dbf23bfed86f21b2e54721ca36ad957 (patch)
treec53aab7dda82034488f2921f574f940a0ccf3092 /cc
parentd1549b8de5f07af6de2e1e58d3e6ce8ec6754f60 (diff)
downloadchromium_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.cc17
-rw-r--r--cc/scheduler/scheduler_settings.h2
-rw-r--r--cc/trees/thread_proxy.cc18
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,