diff options
author | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-12 01:43:06 +0000 |
---|---|---|
committer | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-12 01:44:17 +0000 |
commit | 174c6d466c98f31a8f1017241499a23038297f38 (patch) | |
tree | 9c37260847c0bee1b94a462038ff7dc065324593 /cc/test | |
parent | f83ef232a24922c700fe63357ccddcb700a01c27 (diff) | |
download | chromium_src-174c6d466c98f31a8f1017241499a23038297f38.zip chromium_src-174c6d466c98f31a8f1017241499a23038297f38.tar.gz chromium_src-174c6d466c98f31a8f1017241499a23038297f38.tar.bz2 |
Make SingleThreadProxy a SchedulerClient
This makes ui::Compositor no longer in charge of
scheduling commits and draws, deferring it to cc::Scheduler.
Other compositors that use SingleThreadProxy are left calling composite
synchronously and now pass a flag to indicate that this is their
intention. This patch doesn't remove synchronous composite, but now
makes it mutually exclusive with scheduling.
BUG=329552, 287250
Review URL: https://codereview.chromium.org/134623005
Cr-Commit-Position: refs/heads/master@{#288866}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@288866 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/test')
-rw-r--r-- | cc/test/fake_layer_tree_host_client.h | 2 | ||||
-rw-r--r-- | cc/test/layer_tree_test.cc | 48 | ||||
-rw-r--r-- | cc/test/layer_tree_test.h | 6 |
3 files changed, 2 insertions, 54 deletions
diff --git a/cc/test/fake_layer_tree_host_client.h b/cc/test/fake_layer_tree_host_client.h index f928453..7f7bd35 100644 --- a/cc/test/fake_layer_tree_host_client.h +++ b/cc/test/fake_layer_tree_host_client.h @@ -42,8 +42,6 @@ class FakeLayerTreeHostClient : public LayerTreeHostClient, virtual void DidCompleteSwapBuffers() OVERRIDE {} // LayerTreeHostSingleThreadClient implementation. - virtual void ScheduleComposite() OVERRIDE {} - virtual void ScheduleAnimation() OVERRIDE {} virtual void DidPostSwapBuffers() OVERRIDE {} virtual void DidAbortSwapBuffers() OVERRIDE {} diff --git a/cc/test/layer_tree_test.cc b/cc/test/layer_tree_test.cc index d72860d..312f643 100644 --- a/cc/test/layer_tree_test.cc +++ b/cc/test/layer_tree_test.cc @@ -312,14 +312,6 @@ class LayerTreeHostClientForTesting : public LayerTreeHostClient, test_hooks_->DidCompleteSwapBuffers(); } - virtual void ScheduleComposite() OVERRIDE { - test_hooks_->ScheduleComposite(); - } - - virtual void ScheduleAnimation() OVERRIDE { - test_hooks_->ScheduleAnimation(); - } - virtual void DidPostSwapBuffers() OVERRIDE {} virtual void DidAbortSwapBuffers() OVERRIDE {} @@ -394,7 +386,6 @@ LayerTreeTest::LayerTreeTest() end_when_begin_returns_(false), timed_out_(false), scheduled_(false), - schedule_when_set_visible_true_(false), started_(false), ended_(false), delegating_renderer_(false), @@ -558,15 +549,6 @@ void LayerTreeTest::Timeout() { EndTest(); } -void LayerTreeTest::ScheduleComposite() { - if (!started_ || scheduled_) - return; - scheduled_ = true; - main_task_runner_->PostTask( - FROM_HERE, - base::Bind(&LayerTreeTest::DispatchComposite, main_thread_weak_ptr_)); -} - void LayerTreeTest::RealEndTest() { if (layer_tree_host_ && proxy()->CommitPendingForTesting()) { main_task_runner_->PostTask( @@ -618,16 +600,8 @@ void LayerTreeTest::DispatchSetNeedsRedrawRect(const gfx::Rect& damage_rect) { void LayerTreeTest::DispatchSetVisible(bool visible) { DCHECK(!proxy() || proxy()->IsMainThread()); - - if (!layer_tree_host_) - return; - - layer_tree_host_->SetVisible(visible); - - // If the LTH is being made visible and a previous ScheduleComposite() was - // deferred because the LTH was not visible, re-schedule the composite now. - if (layer_tree_host_->visible() && schedule_when_set_visible_true_) - ScheduleComposite(); + if (layer_tree_host_) + layer_tree_host_->SetVisible(visible); } void LayerTreeTest::DispatchSetNextCommitForcesRedraw() { @@ -637,24 +611,6 @@ void LayerTreeTest::DispatchSetNextCommitForcesRedraw() { layer_tree_host_->SetNextCommitForcesRedraw(); } -void LayerTreeTest::DispatchComposite() { - scheduled_ = false; - - if (!layer_tree_host_) - return; - - // If the LTH is not visible, defer the composite until the LTH is made - // visible. - if (!layer_tree_host_->visible()) { - schedule_when_set_visible_true_ = true; - return; - } - - schedule_when_set_visible_true_ = false; - base::TimeTicks now = gfx::FrameTime::Now(); - layer_tree_host_->Composite(now); -} - void LayerTreeTest::RunTest(bool threaded, bool delegating_renderer, bool impl_side_painting) { diff --git a/cc/test/layer_tree_test.h b/cc/test/layer_tree_test.h index 8f38dda..619ae96 100644 --- a/cc/test/layer_tree_test.h +++ b/cc/test/layer_tree_test.h @@ -71,8 +71,6 @@ class TestHooks : public AnimationDelegate { virtual void DidCommit() {} virtual void DidCommitAndDrawFrame() {} virtual void DidCompleteSwapBuffers() {} - virtual void ScheduleComposite() {} - virtual void ScheduleAnimation() {} virtual void DidDeferCommit() {} virtual void DidSetVisibleOnImplTree(LayerTreeHostImpl* host_impl, bool visible) {} @@ -139,8 +137,6 @@ class LayerTreeTest : public testing::Test, public TestHooks { virtual void InitializeSettings(LayerTreeSettings* settings) {} - virtual void ScheduleComposite() OVERRIDE; - void RealEndTest(); virtual void DispatchAddAnimation(Layer* layer_to_receive_animation, @@ -151,7 +147,6 @@ class LayerTreeTest : public testing::Test, public TestHooks { void DispatchSetNeedsRedrawRect(const gfx::Rect& damage_rect); void DispatchSetVisible(bool visible); void DispatchSetNextCommitForcesRedraw(); - void DispatchComposite(); void DispatchDidAddAnimation(); virtual void AfterTest() = 0; @@ -204,7 +199,6 @@ class LayerTreeTest : public testing::Test, public TestHooks { bool end_when_begin_returns_; bool timed_out_; bool scheduled_; - bool schedule_when_set_visible_true_; bool started_; bool ended_; bool delegating_renderer_; |