summaryrefslogtreecommitdiffstats
path: root/cc/trees/layer_tree_host_impl_unittest.cc
diff options
context:
space:
mode:
authorweiliangc <weiliangc@chromium.org>2015-04-01 23:12:35 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-02 06:13:01 +0000
commit8dac5a6fa0356b912b3eb95f070407df0dfa1f06 (patch)
tree2042334d8c175252e36d8b3f81d09c1c83950a9e /cc/trees/layer_tree_host_impl_unittest.cc
parentaf1ed79a98694c4353c4234b2b6f994532bf8cb6 (diff)
downloadchromium_src-8dac5a6fa0356b912b3eb95f070407df0dfa1f06.zip
chromium_src-8dac5a6fa0356b912b3eb95f070407df0dfa1f06.tar.gz
chromium_src-8dac5a6fa0356b912b3eb95f070407df0dfa1f06.tar.bz2
Hook NotifyReadToDraw in SingleThreadProxy and Defer Draw When Needed
For ui::Compositor with impl-side painting, RequireHighResToDraw would be set to true. Currently during deadline we would try to draw even when tiles are not ready. Draw would then be aborted inside LTHI. This CL makes sure that in above case draw would be aborted when tiles are not ready yet. BUG=469175 R=brianderson Review URL: https://codereview.chromium.org/1018053004 Cr-Commit-Position: refs/heads/master@{#323435}
Diffstat (limited to 'cc/trees/layer_tree_host_impl_unittest.cc')
-rw-r--r--cc/trees/layer_tree_host_impl_unittest.cc45
1 files changed, 6 insertions, 39 deletions
diff --git a/cc/trees/layer_tree_host_impl_unittest.cc b/cc/trees/layer_tree_host_impl_unittest.cc
index 818c97e..f80bf34 100644
--- a/cc/trees/layer_tree_host_impl_unittest.cc
+++ b/cc/trees/layer_tree_host_impl_unittest.cc
@@ -2226,47 +2226,33 @@ TEST_F(LayerTreeHostImplTest, PrepareToDrawSucceedsAndFails) {
PrepareToDrawSuccessTestCase(DRAW_ABORTED_CHECKERBOARD_ANIMATIONS));
cases.back().layer_between.has_missing_tile = true;
cases.back().layer_between.is_animating = true;
- // 11. Animation with missing tile and copy request after. Must succeed
- // because the animation checkerboard means we'll get a new frame and the copy
- // request's layer may be destroyed.
- cases.push_back(PrepareToDrawSuccessTestCase(DRAW_SUCCESS));
- cases.back().layer_between.has_missing_tile = true;
- cases.back().layer_between.is_animating = true;
- cases.back().layer_after.has_copy_request = true;
- // 12. Animation with missing tile and copy request before. Must succeed
- // because the animation checkerboard means we'll get a new frame and the copy
- // request's layer may be destroyed.
- cases.push_back(PrepareToDrawSuccessTestCase(DRAW_SUCCESS));
- cases.back().layer_between.has_missing_tile = true;
- cases.back().layer_between.is_animating = true;
- cases.back().layer_before.has_copy_request = true;
- // 13. Animation with incomplete tile.
+ // 11. Animation with incomplete tile.
cases.push_back(PrepareToDrawSuccessTestCase(DRAW_SUCCESS));
cases.back().layer_between.has_incomplete_tile = true;
cases.back().layer_between.is_animating = true;
- // 14. High res required.
+ // 12. High res required.
cases.push_back(PrepareToDrawSuccessTestCase(DRAW_SUCCESS));
cases.back().high_res_required = true;
- // 15. High res required with incomplete tile.
+ // 13. High res required with incomplete tile.
cases.push_back(
PrepareToDrawSuccessTestCase(DRAW_ABORTED_MISSING_HIGH_RES_CONTENT));
cases.back().high_res_required = true;
cases.back().layer_between.has_incomplete_tile = true;
- // 16. High res required with missing tile.
+ // 14. High res required with missing tile.
cases.push_back(
PrepareToDrawSuccessTestCase(DRAW_ABORTED_MISSING_HIGH_RES_CONTENT));
cases.back().high_res_required = true;
cases.back().layer_between.has_missing_tile = true;
- // 17. High res required is higher priority than animating missing tiles.
+ // 15. High res required is higher priority than animating missing tiles.
cases.push_back(
PrepareToDrawSuccessTestCase(DRAW_ABORTED_MISSING_HIGH_RES_CONTENT));
cases.back().high_res_required = true;
cases.back().layer_between.has_missing_tile = true;
cases.back().layer_after.has_missing_tile = true;
cases.back().layer_after.is_animating = true;
- // 18. High res required is higher priority than animating missing tiles.
+ // 16. High res required is higher priority than animating missing tiles.
cases.push_back(
PrepareToDrawSuccessTestCase(DRAW_ABORTED_MISSING_HIGH_RES_CONTENT));
cases.back().high_res_required = true;
@@ -2274,25 +2260,6 @@ TEST_F(LayerTreeHostImplTest, PrepareToDrawSucceedsAndFails) {
cases.back().layer_before.has_missing_tile = true;
cases.back().layer_before.is_animating = true;
- // 19. High res required is higher priority than copy requests.
- cases.push_back(
- PrepareToDrawSuccessTestCase(DRAW_ABORTED_MISSING_HIGH_RES_CONTENT));
- cases.back().high_res_required = true;
- cases.back().layer_between.has_missing_tile = true;
- cases.back().layer_after.has_copy_request = true;
- // 20. High res required is higher priority than copy requests.
- cases.push_back(
- PrepareToDrawSuccessTestCase(DRAW_ABORTED_MISSING_HIGH_RES_CONTENT));
- cases.back().high_res_required = true;
- cases.back().layer_between.has_missing_tile = true;
- cases.back().layer_before.has_copy_request = true;
- // 21. High res required is higher priority than copy requests.
- cases.push_back(
- PrepareToDrawSuccessTestCase(DRAW_ABORTED_MISSING_HIGH_RES_CONTENT));
- cases.back().high_res_required = true;
- cases.back().layer_between.has_missing_tile = true;
- cases.back().layer_between.has_copy_request = true;
-
host_impl_->active_tree()->SetRootLayer(
DidDrawCheckLayer::Create(host_impl_->active_tree(), 1));
DidDrawCheckLayer* root =