summaryrefslogtreecommitdiffstats
path: root/cc/test/layer_tree_test.cc
diff options
context:
space:
mode:
authortrchen@chromium.org <trchen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-17 06:43:20 +0000
committertrchen@chromium.org <trchen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-17 06:43:20 +0000
commit06cbc31bffba14c3ded1dfedf98fff85a86fe6e5 (patch)
treefd58bda8747c8b544601c1ee06b9b98db632f884 /cc/test/layer_tree_test.cc
parent8eefe84004a9c199c0521bf353a88f37aba53e15 (diff)
downloadchromium_src-06cbc31bffba14c3ded1dfedf98fff85a86fe6e5.zip
chromium_src-06cbc31bffba14c3ded1dfedf98fff85a86fe6e5.tar.gz
chromium_src-06cbc31bffba14c3ded1dfedf98fff85a86fe6e5.tar.bz2
Unifies LayerTreeHost::SetNeedsUpdateLayers and SetNeedsAnimate -- V2
[2/2] Unifies LayerTreeHost::SetNeedsUpdateLayers and SetNeedsAnimate They basically do the same thing except that SetNeedsAnimate makes the next commit non-cancellable. However there is really no reason why SetNeedsAnimate need to enforce a commit even if no tiles are updated and no layer properties changed. SetNeedsAnimate is thus merged into SetNeedsUpdateLayers. The proper use of it is when there are potential layout/tile changes, we can use it to defer calculation until the next frame. A commit will be scheduled but can be cancelled if no updates are needed after calculation. This part of the patch changes code behavior slightly. SingleThreadProxy::SetNeedsUpdateLayers was originally implemented as RenderWidget::ScheduleComposite but now it is RenderWidget::ScheduleAnimation. ThreadProxy::SetNeedsAnimate was non-cancellable but is now cancellable. [1/2] Cleanup RenderWidget::scheduleComposite/scheduleAnimation scheduleComposite has been renamed to ScheduleComposite as it is no longer a part of WebWidgetClient API. scheduleAnimation has been renamed to ScheduleAnimation. The semantics is to schedule a composite and also (potentially) animating WebWidget. A new WebWidgetClient API scheduleUpdate has been added, to replace the old scheduleAnimation. The semantics is to notify the embedder that something in the WebWidget may change in 0 seconds. (i.e. it is allowed to be called during a redraw, in such case another redraw will be scheduled after frame delay. This part of the patch should not change code behavior. BUG=316929 R=danakj,jamesr,jochen Review URL: https://codereview.chromium.org/133263004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245445 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/test/layer_tree_test.cc')
-rw-r--r--cc/test/layer_tree_test.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/cc/test/layer_tree_test.cc b/cc/test/layer_tree_test.cc
index 36621d0..b5e09f9 100644
--- a/cc/test/layer_tree_test.cc
+++ b/cc/test/layer_tree_test.cc
@@ -514,6 +514,10 @@ void LayerTreeTest::ScheduleComposite() {
base::Bind(&LayerTreeTest::DispatchComposite, main_thread_weak_ptr_));
}
+void LayerTreeTest::ScheduleAnimation() {
+ ScheduleComposite();
+}
+
void LayerTreeTest::RealEndTest() {
if (layer_tree_host_ && proxy()->CommitPendingForTesting()) {
main_task_runner_->PostTask(
@@ -597,7 +601,7 @@ void LayerTreeTest::DispatchSetNextCommitForcesRedraw() {
DCHECK(!proxy() || proxy()->IsMainThread());
if (layer_tree_host_)
- layer_tree_host_->SetNextCommitForcesRedraw();
+ layer_tree_host_->set_next_commit_forces_redraw();
}
void LayerTreeTest::DispatchComposite() {