diff options
author | weiliangc <weiliangc@chromium.org> | 2015-04-01 23:12:35 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-02 06:13:01 +0000 |
commit | 8dac5a6fa0356b912b3eb95f070407df0dfa1f06 (patch) | |
tree | 2042334d8c175252e36d8b3f81d09c1c83950a9e /cc/trees/layer_tree_host_impl_unittest.cc | |
parent | af1ed79a98694c4353c4234b2b6f994532bf8cb6 (diff) | |
download | chromium_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.cc | 45 |
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 = |