summaryrefslogtreecommitdiffstats
path: root/ui/views/view_unittest.cc
diff options
context:
space:
mode:
authorweiliangc <weiliangc@chromium.org>2015-01-29 11:56:46 -0800
committerCommit bot <commit-bot@chromium.org>2015-01-29 19:58:09 +0000
commit5efa0a1c4381c7e68e22285a99d601431060e5c3 (patch)
treeea0a2d8e2f658eda2ca4f6aa17bf9f8df35d173e /ui/views/view_unittest.cc
parentb05344954395b9cbb021057269875d931268dfd0 (diff)
downloadchromium_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.cc60
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());