summaryrefslogtreecommitdiffstats
path: root/ui/views
diff options
context:
space:
mode:
authortkent@chromium.org <tkent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-07 05:50:49 +0000
committertkent@chromium.org <tkent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-07 05:50:49 +0000
commit82f3d0b93dfffe25a62ed5afa2015c7d1bbea9ba (patch)
treea92131d562ab031949d882a17d4ace288a6f4882 /ui/views
parent2cca802ed574e16a9042d35634cef5ead7385998 (diff)
downloadchromium_src-82f3d0b93dfffe25a62ed5afa2015c7d1bbea9ba.zip
chromium_src-82f3d0b93dfffe25a62ed5afa2015c7d1bbea9ba.tar.gz
chromium_src-82f3d0b93dfffe25a62ed5afa2015c7d1bbea9ba.tar.bz2
Revert of Make SingleThreadProxy a SchedulerClient (https://codereview.chromium.org/134623005/)
Reason for revert: Broke some layout tests Original issue's description: > Make SingleThreadProxy a SchedulerClient > > This makes ui::Compositor no longer in charge of > scheduling commits and draws, deferring it to cc::Scheduler. > > Other compositors that use SingleThreadProxy are left calling composite > synchronously and now pass a flag to indicate that this is their > intention. This patch doesn't remove synchronous composite, but now > makes it mutually exclusive with scheduling. > > BUG=329552, 287250 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=287950 NOTRY=true NOTREECHECKS=true TBR=enne@chromium.org Review URL: https://codereview.chromium.org/447133002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@287968 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/views')
-rw-r--r--ui/views/view_unittest.cc60
1 files changed, 20 insertions, 40 deletions
diff --git a/ui/views/view_unittest.cc b/ui/views/view_unittest.cc
index da2b349..544e999 100644
--- a/ui/views/view_unittest.cc
+++ b/ui/views/view_unittest.cc
@@ -3024,23 +3024,20 @@ TEST_F(ViewLayerTest, DontPaintChildrenWithLayers) {
widget()->SetContentsView(content_view);
content_view->SetPaintToLayer(true);
GetRootLayer()->GetCompositor()->ScheduleDraw();
- ui::DrawWaiterForTest::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(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::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(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::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor());
EXPECT_TRUE(content_view->painted());
}
@@ -3280,15 +3277,13 @@ 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::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(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::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(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));
@@ -3296,8 +3291,7 @@ 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::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(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));
@@ -3307,8 +3301,7 @@ 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::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(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));
@@ -3335,15 +3328,13 @@ 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::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(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::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(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));
@@ -3355,8 +3346,7 @@ TEST_F(ViewLayerTest, BoundsTreeWithRTL) {
gfx::Rect ltr_damage(16, 18, 1, 1);
test_view->SchedulePaintInRect(ltr_damage);
GetRootLayer()->GetCompositor()->ScheduleDraw();
- ui::DrawWaiterForTest::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(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));
@@ -3380,21 +3370,18 @@ 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::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(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::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(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::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor());
// Should only have picked up root_view and test_view.
EXPECT_EQ(2U, test_view->last_cull_set_.size());
@@ -3417,8 +3404,7 @@ 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::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(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
@@ -3428,8 +3414,7 @@ TEST_F(ViewLayerTest, BoundsTreeLayerChangeMakesNewTree) {
// Schedule another full-view paint.
test_view->SchedulePaintInRect(test_view->bounds());
GetRootLayer()->GetCompositor()->ScheduleDraw();
- ui::DrawWaiterForTest::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(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));
@@ -3440,8 +3425,7 @@ TEST_F(ViewLayerTest, BoundsTreeLayerChangeMakesNewTree) {
// Schedule another full-view paint.
test_view->SchedulePaintInRect(test_view->bounds());
GetRootLayer()->GetCompositor()->ScheduleDraw();
- ui::DrawWaiterForTest::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(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()));
@@ -3465,8 +3449,7 @@ 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::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor());
// Now remove v1 from the root view.
test_view->RemoveChildView(v1);
@@ -3474,8 +3457,7 @@ TEST_F(ViewLayerTest, BoundsTreeRemoveChildRemovesBounds) {
// Schedule another full-view paint.
test_view->SchedulePaintInRect(test_view->bounds());
GetRootLayer()->GetCompositor()->ScheduleDraw();
- ui::DrawWaiterForTest::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(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));
@@ -3506,8 +3488,7 @@ 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::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(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));
@@ -3530,8 +3511,7 @@ TEST_F(ViewLayerTest, BoundsTreeMoveViewMovesBounds) {
test_view->SchedulePaintInRect(test_view->bounds());
widget_view->SchedulePaintInRect(widget_view->bounds());
GetRootLayer()->GetCompositor()->ScheduleDraw();
- ui::DrawWaiterForTest::WaitForCompositingEnded(
- GetRootLayer()->GetCompositor());
+ ui::DrawWaiterForTest::Wait(GetRootLayer()->GetCompositor());
// Only v1 should be present in the first cull set.
EXPECT_EQ(3U, test_view->last_cull_set_.size());