diff options
author | weiliangc <weiliangc@chromium.org> | 2015-01-29 11:56:46 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-01-29 19:58:09 +0000 |
commit | 5efa0a1c4381c7e68e22285a99d601431060e5c3 (patch) | |
tree | ea0a2d8e2f658eda2ca4f6aa17bf9f8df35d173e /ui/views/view_unittest.cc | |
parent | b05344954395b9cbb021057269875d931268dfd0 (diff) | |
download | chromium_src-5efa0a1c4381c7e68e22285a99d601431060e5c3.zip chromium_src-5efa0a1c4381c7e68e22285a99d601431060e5c3.tar.gz chromium_src-5efa0a1c4381c7e68e22285a99d601431060e5c3.tar.bz2 |
Make ui::Compositor use ui::Scheduler
Taken from enne's CL 535733002 and rebased. It has been taken out of CL 134623005.
BUG=329552
Committed: https://crrev.com/36b7fc7f8b05ea627873e58a162c1c26784e472d
Cr-Commit-Position: refs/heads/master@{#298779}
Committed: https://crrev.com/b821b71ff0166e250ae4b30b56c1b7b6d3bd5db6
Cr-Commit-Position: refs/heads/master@{#306954}
Review URL: https://codereview.chromium.org/638653003
Cr-Commit-Position: refs/heads/master@{#313766}
Diffstat (limited to 'ui/views/view_unittest.cc')
-rw-r--r-- | ui/views/view_unittest.cc | 60 |
1 files changed, 40 insertions, 20 deletions
diff --git a/ui/views/view_unittest.cc b/ui/views/view_unittest.cc index 0b5278a..2ea481c 100644 --- a/ui/views/view_unittest.cc +++ b/ui/views/view_unittest.cc @@ -3141,20 +3141,23 @@ TEST_F(ViewLayerTest, DontPaintChildrenWithLayers) { widget()->SetContentsView(content_view); content_view->SetPaintToLayer(true); GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); GetRootLayer()->SchedulePaint(gfx::Rect(0, 0, 10, 10)); content_view->set_painted(false); // content_view no longer has a dirty rect. Paint from the root and make sure // PaintTrackingView isn't painted. GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); EXPECT_FALSE(content_view->painted()); // Make content_view have a dirty rect, paint the layers and make sure // PaintTrackingView is painted. content_view->layer()->SchedulePaint(gfx::Rect(0, 0, 10, 10)); GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); EXPECT_TRUE(content_view->painted()); } @@ -3393,13 +3396,15 @@ TEST_F(ViewLayerTest, BoundsTreePaintUpdatesCullSet) { // Schedule a full-view paint to get everyone's rectangles updated. test_view->SchedulePaintInRect(test_view->bounds()); GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); // Now we have test_view - v1 - v2. Damage to only test_view should only // return root_view and test_view. test_view->SchedulePaintInRect(gfx::Rect(0, 0, 1, 1)); GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); EXPECT_EQ(2U, test_view->last_cull_set_.size()); EXPECT_EQ(1U, test_view->last_cull_set_.count(widget()->GetRootView())); EXPECT_EQ(1U, test_view->last_cull_set_.count(test_view)); @@ -3407,7 +3412,8 @@ TEST_F(ViewLayerTest, BoundsTreePaintUpdatesCullSet) { // Damage to v1 only should only return root_view, test_view, and v1. test_view->SchedulePaintInRect(gfx::Rect(11, 16, 1, 1)); GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); EXPECT_EQ(3U, test_view->last_cull_set_.size()); EXPECT_EQ(1U, test_view->last_cull_set_.count(widget()->GetRootView())); EXPECT_EQ(1U, test_view->last_cull_set_.count(test_view)); @@ -3417,7 +3423,8 @@ TEST_F(ViewLayerTest, BoundsTreePaintUpdatesCullSet) { // on call to TestView::Paint(), along with the widget root view. test_view->SchedulePaintInRect(gfx::Rect(31, 49, 1, 1)); GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); EXPECT_EQ(4U, test_view->last_cull_set_.size()); EXPECT_EQ(1U, test_view->last_cull_set_.count(widget()->GetRootView())); EXPECT_EQ(1U, test_view->last_cull_set_.count(test_view)); @@ -3444,13 +3451,15 @@ TEST_F(ViewLayerTest, BoundsTreeWithRTL) { // Schedule a full-view paint to get everyone's rectangles updated. test_view->SchedulePaintInRect(test_view->bounds()); GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); // Damage to the right side of the parent view should touch both child views. gfx::Rect rtl_damage(test_view->bounds().width() - 16, 18, 1, 1); test_view->SchedulePaintInRect(rtl_damage); GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); EXPECT_EQ(4U, test_view->last_cull_set_.size()); EXPECT_EQ(1U, test_view->last_cull_set_.count(widget()->GetRootView())); EXPECT_EQ(1U, test_view->last_cull_set_.count(test_view)); @@ -3462,7 +3471,8 @@ TEST_F(ViewLayerTest, BoundsTreeWithRTL) { gfx::Rect ltr_damage(16, 18, 1, 1); test_view->SchedulePaintInRect(ltr_damage); GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); EXPECT_EQ(2U, test_view->last_cull_set_.size()); EXPECT_EQ(1U, test_view->last_cull_set_.count(widget()->GetRootView())); EXPECT_EQ(1U, test_view->last_cull_set_.count(test_view)); @@ -3486,18 +3496,21 @@ TEST_F(ViewLayerTest, BoundsTreeSetBoundsChangesCullSet) { // Schedule a full-view paint to get everyone's rectangles updated. test_view->SchedulePaintInRect(test_view->bounds()); GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); // Move v1 to a new origin out of the way of our next query. v1->SetBoundsRect(gfx::Rect(50, 60, 100, 101)); // The move will force a repaint. GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); // Schedule a paint with damage rect where v1 used to be. test_view->SchedulePaintInRect(gfx::Rect(5, 6, 10, 11)); GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); // Should only have picked up root_view and test_view. EXPECT_EQ(2U, test_view->last_cull_set_.size()); @@ -3520,7 +3533,8 @@ TEST_F(ViewLayerTest, BoundsTreeLayerChangeMakesNewTree) { // Schedule a full-view paint to get everyone's rectangles updated. test_view->SchedulePaintInRect(test_view->bounds()); GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); // Set v1 to paint to its own layer, it should remove itself from the // test_view heiarchy and no longer intersect with damage rects in that cull @@ -3530,7 +3544,8 @@ TEST_F(ViewLayerTest, BoundsTreeLayerChangeMakesNewTree) { // Schedule another full-view paint. test_view->SchedulePaintInRect(test_view->bounds()); GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); // v1 and v2 should no longer be present in the test_view cull_set. EXPECT_EQ(2U, test_view->last_cull_set_.size()); EXPECT_EQ(0U, test_view->last_cull_set_.count(v1)); @@ -3541,7 +3556,8 @@ TEST_F(ViewLayerTest, BoundsTreeLayerChangeMakesNewTree) { // Schedule another full-view paint. test_view->SchedulePaintInRect(test_view->bounds()); GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); // We should be back to the full cull set including v1 and v2. EXPECT_EQ(4U, test_view->last_cull_set_.size()); EXPECT_EQ(1U, test_view->last_cull_set_.count(widget()->GetRootView())); @@ -3565,7 +3581,8 @@ TEST_F(ViewLayerTest, BoundsTreeRemoveChildRemovesBounds) { // Schedule a full-view paint to get everyone's rectangles updated. test_view->SchedulePaintInRect(test_view->bounds()); GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); // Now remove v1 from the root view. test_view->RemoveChildView(v1); @@ -3573,7 +3590,8 @@ TEST_F(ViewLayerTest, BoundsTreeRemoveChildRemovesBounds) { // Schedule another full-view paint. test_view->SchedulePaintInRect(test_view->bounds()); GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); // v1 and v2 should no longer be present in the test_view cull_set. EXPECT_EQ(2U, test_view->last_cull_set_.size()); EXPECT_EQ(0U, test_view->last_cull_set_.count(v1)); @@ -3604,7 +3622,8 @@ TEST_F(ViewLayerTest, BoundsTreeMoveViewMovesBounds) { // Schedule a full-view paint and ensure all views are present in the cull. test_view->SchedulePaintInRect(test_view->bounds()); GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); EXPECT_EQ(5U, test_view->last_cull_set_.size()); EXPECT_EQ(1U, test_view->last_cull_set_.count(widget()->GetRootView())); EXPECT_EQ(1U, test_view->last_cull_set_.count(test_view)); @@ -3627,7 +3646,8 @@ TEST_F(ViewLayerTest, BoundsTreeMoveViewMovesBounds) { test_view->SchedulePaintInRect(test_view->bounds()); widget_view->SchedulePaintInRect(widget_view->bounds()); GetRootLayer()->GetCompositor()->ScheduleDraw(); - ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor()); + ui::DrawWaiterForTest::WaitForCompositingEnded( + GetRootLayer()->GetCompositor()); // Only v1 should be present in the first cull set. EXPECT_EQ(3U, test_view->last_cull_set_.size()); |