| Index: ui/views/view_unittest.cc
|
| diff --git a/ui/views/view_unittest.cc b/ui/views/view_unittest.cc
|
| index 1dbb59e20cc5ac17e19a091bbe26486be2af4dae..2e71a125786f0409f21b9bd7e3483e885d1b5581 100644
|
| --- a/ui/views/view_unittest.cc
|
| +++ b/ui/views/view_unittest.cc
|
| @@ -527,7 +527,8 @@ TEST_F(ViewTest, PaintEmptyView) {
|
| // Paint "everything".
|
| gfx::Rect first_paint(1, 1);
|
| auto list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, first_paint));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, first_paint, first_paint.size()));
|
|
|
| // The empty view has nothing to paint so it doesn't try build a cache, nor do
|
| // its children which would be clipped by its (empty) self.
|
| @@ -548,8 +549,8 @@ TEST_F(ViewTest, PaintWithMovedViewUsesCache) {
|
| gfx::Rect pixel_rect = gfx::Rect(1, 1);
|
| float device_scale_factor = 1.f;
|
| auto list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - root_view->Paint(
|
| - ui::PaintContext(list.get(), device_scale_factor, pixel_rect));
|
| + root_view->Paint(ui::PaintContext(list.get(), device_scale_factor, pixel_rect,
|
| + pixel_rect.size()));
|
| EXPECT_TRUE(v1->did_paint_);
|
| v1->Reset();
|
| // The visual rects for (clip, drawing, transform) should be in layer space.
|
| @@ -564,15 +565,15 @@ TEST_F(ViewTest, PaintWithMovedViewUsesCache) {
|
|
|
| // If invalidation doesn't intersect v1, we paint with the cache.
|
| list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - root_view->Paint(
|
| - ui::PaintContext(list.get(), device_scale_factor, pixel_rect));
|
| + root_view->Paint(ui::PaintContext(list.get(), device_scale_factor, pixel_rect,
|
| + root_view->size()));
|
| EXPECT_FALSE(v1->did_paint_);
|
| v1->Reset();
|
|
|
| // If invalidation does intersect v1, we don't paint with the cache.
|
| list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - root_view->Paint(
|
| - ui::PaintContext(list.get(), device_scale_factor, v1->bounds()));
|
| + root_view->Paint(ui::PaintContext(list.get(), device_scale_factor,
|
| + v1->bounds(), root_view->size()));
|
| EXPECT_TRUE(v1->did_paint_);
|
| v1->Reset();
|
|
|
| @@ -580,8 +581,8 @@ TEST_F(ViewTest, PaintWithMovedViewUsesCache) {
|
| // intersect v1.
|
| list = base::MakeRefCounted<cc::DisplayItemList>();
|
| v1->SetX(9);
|
| - root_view->Paint(
|
| - ui::PaintContext(list.get(), device_scale_factor, pixel_rect));
|
| + root_view->Paint(ui::PaintContext(list.get(), device_scale_factor, pixel_rect,
|
| + root_view->size()));
|
| EXPECT_FALSE(v1->did_paint_);
|
| v1->Reset();
|
| item_index = 3;
|
| @@ -597,9 +598,10 @@ TEST_F(ViewTest, PaintWithMovedViewUsesCache) {
|
| // invalidation.
|
| list = base::MakeRefCounted<cc::DisplayItemList>();
|
| v1->SetX(8);
|
| - root_view->Paint(ui::PaintContext(
|
| - ui::PaintContext(list.get(), device_scale_factor, pixel_rect),
|
| - ui::PaintContext::CLONE_WITHOUT_INVALIDATION));
|
| + root_view->Paint(
|
| + ui::PaintContext(ui::PaintContext(list.get(), device_scale_factor,
|
| + pixel_rect, root_view->size()),
|
| + ui::PaintContext::CLONE_WITHOUT_INVALIDATION));
|
| EXPECT_TRUE(v1->did_paint_);
|
| v1->Reset();
|
| item_index = 3;
|
| @@ -625,8 +627,8 @@ TEST_F(ViewTest, PaintWithMovedViewUsesCacheInRTL) {
|
| gfx::Rect pixel_rect = gfx::Rect(1, 1);
|
| float device_scale_factor = 1.f;
|
| auto list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - root_view->Paint(
|
| - ui::PaintContext(list.get(), device_scale_factor, pixel_rect));
|
| + root_view->Paint(ui::PaintContext(list.get(), device_scale_factor, pixel_rect,
|
| + root_view->size()));
|
| EXPECT_TRUE(v1->did_paint_);
|
| v1->Reset();
|
| // The visual rects for (clip, drawing, transform) should be in layer space.
|
| @@ -642,15 +644,15 @@ TEST_F(ViewTest, PaintWithMovedViewUsesCacheInRTL) {
|
|
|
| // If invalidation doesn't intersect v1, we paint with the cache.
|
| list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - root_view->Paint(
|
| - ui::PaintContext(list.get(), device_scale_factor, pixel_rect));
|
| + root_view->Paint(ui::PaintContext(list.get(), device_scale_factor, pixel_rect,
|
| + root_view->size()));
|
| EXPECT_FALSE(v1->did_paint_);
|
| v1->Reset();
|
|
|
| // If invalidation does intersect v1, we don't paint with the cache.
|
| list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - root_view->Paint(
|
| - ui::PaintContext(list.get(), device_scale_factor, v1->bounds()));
|
| + root_view->Paint(ui::PaintContext(list.get(), device_scale_factor,
|
| + v1->bounds(), root_view->size()));
|
| EXPECT_TRUE(v1->did_paint_);
|
| v1->Reset();
|
|
|
| @@ -658,8 +660,8 @@ TEST_F(ViewTest, PaintWithMovedViewUsesCacheInRTL) {
|
| // intersect v1.
|
| list = base::MakeRefCounted<cc::DisplayItemList>();
|
| v1->SetX(9);
|
| - root_view->Paint(
|
| - ui::PaintContext(list.get(), device_scale_factor, pixel_rect));
|
| + root_view->Paint(ui::PaintContext(list.get(), device_scale_factor, pixel_rect,
|
| + root_view->size()));
|
| EXPECT_FALSE(v1->did_paint_);
|
| v1->Reset();
|
| item_index = 3;
|
| @@ -676,9 +678,10 @@ TEST_F(ViewTest, PaintWithMovedViewUsesCacheInRTL) {
|
| // invalidation.
|
| list = base::MakeRefCounted<cc::DisplayItemList>();
|
| v1->SetX(8);
|
| - root_view->Paint(ui::PaintContext(
|
| - ui::PaintContext(list.get(), device_scale_factor, pixel_rect),
|
| - ui::PaintContext::CLONE_WITHOUT_INVALIDATION));
|
| + root_view->Paint(
|
| + ui::PaintContext(ui::PaintContext(list.get(), device_scale_factor,
|
| + pixel_rect, root_view->size()),
|
| + ui::PaintContext::CLONE_WITHOUT_INVALIDATION));
|
| EXPECT_TRUE(v1->did_paint_);
|
| v1->Reset();
|
| item_index = 3;
|
| @@ -708,7 +711,8 @@ TEST_F(ViewTest, PaintWithUnknownInvalidation) {
|
| // invalidation.
|
| gfx::Rect first_paint(1, 1);
|
| auto list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, first_paint));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, first_paint, root_view->size()));
|
| v1->Reset();
|
| v2->Reset();
|
|
|
| @@ -719,14 +723,15 @@ TEST_F(ViewTest, PaintWithUnknownInvalidation) {
|
| // With a known invalidation, v1 and v2 are not painted.
|
| EXPECT_FALSE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, paint_area));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, paint_area, root_view->size()));
|
| EXPECT_FALSE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
|
|
| // With unknown invalidation, v1 and v2 are painted.
|
| - root_view->Paint(
|
| - ui::PaintContext(ui::PaintContext(list.get(), 1.f, paint_area),
|
| - ui::PaintContext::CLONE_WITHOUT_INVALIDATION));
|
| + root_view->Paint(ui::PaintContext(
|
| + ui::PaintContext(list.get(), 1.f, paint_area, root_view->size()),
|
| + ui::PaintContext::CLONE_WITHOUT_INVALIDATION));
|
| EXPECT_TRUE(v1->did_paint_);
|
| EXPECT_TRUE(v2->did_paint_);
|
| }
|
| @@ -747,7 +752,8 @@ TEST_F(ViewTest, PaintContainsChildren) {
|
| // invalidation.
|
| gfx::Rect first_paint(1, 1);
|
| auto list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, first_paint));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, first_paint, root_view->size()));
|
| v1->Reset();
|
| v2->Reset();
|
|
|
| @@ -757,7 +763,8 @@ TEST_F(ViewTest, PaintContainsChildren) {
|
|
|
| EXPECT_FALSE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, paint_area));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, paint_area, root_view->size()));
|
| EXPECT_TRUE(v1->did_paint_);
|
| EXPECT_TRUE(v2->did_paint_);
|
| }
|
| @@ -790,7 +797,8 @@ TEST_F(ViewTest, PaintContainsChildrenInRTL) {
|
| // invalidation.
|
| gfx::Rect first_paint(1, 1);
|
| auto list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, first_paint));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, first_paint, root_view->size()));
|
| v1->Reset();
|
| v2->Reset();
|
|
|
| @@ -800,7 +808,8 @@ TEST_F(ViewTest, PaintContainsChildrenInRTL) {
|
|
|
| EXPECT_FALSE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, paint_area));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, paint_area, root_view->size()));
|
| EXPECT_TRUE(v1->did_paint_);
|
| EXPECT_TRUE(v2->did_paint_);
|
| }
|
| @@ -821,7 +830,8 @@ TEST_F(ViewTest, PaintIntersectsChildren) {
|
| // invalidation.
|
| gfx::Rect first_paint(1, 1);
|
| auto list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, first_paint));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, first_paint, root_view->size()));
|
| v1->Reset();
|
| v2->Reset();
|
|
|
| @@ -831,7 +841,8 @@ TEST_F(ViewTest, PaintIntersectsChildren) {
|
|
|
| EXPECT_FALSE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, paint_area));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, paint_area, root_view->size()));
|
| EXPECT_TRUE(v1->did_paint_);
|
| EXPECT_TRUE(v2->did_paint_);
|
| }
|
| @@ -864,7 +875,8 @@ TEST_F(ViewTest, PaintIntersectsChildrenInRTL) {
|
| // invalidation.
|
| gfx::Rect first_paint(1, 1);
|
| auto list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, first_paint));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, first_paint, root_view->size()));
|
| v1->Reset();
|
| v2->Reset();
|
|
|
| @@ -874,7 +886,8 @@ TEST_F(ViewTest, PaintIntersectsChildrenInRTL) {
|
|
|
| EXPECT_FALSE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, paint_area));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, paint_area, root_view->size()));
|
| EXPECT_TRUE(v1->did_paint_);
|
| EXPECT_TRUE(v2->did_paint_);
|
| }
|
| @@ -895,7 +908,8 @@ TEST_F(ViewTest, PaintIntersectsChildButNotGrandChild) {
|
| // invalidation.
|
| gfx::Rect first_paint(1, 1);
|
| auto list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, first_paint));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, first_paint, root_view->size()));
|
| v1->Reset();
|
| v2->Reset();
|
|
|
| @@ -905,7 +919,8 @@ TEST_F(ViewTest, PaintIntersectsChildButNotGrandChild) {
|
|
|
| EXPECT_FALSE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, paint_area));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, paint_area, root_view->size()));
|
| EXPECT_TRUE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| }
|
| @@ -938,7 +953,8 @@ TEST_F(ViewTest, PaintIntersectsChildButNotGrandChildInRTL) {
|
| // invalidation.
|
| gfx::Rect first_paint(1, 1);
|
| auto list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, first_paint));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, first_paint, root_view->size()));
|
| v1->Reset();
|
| v2->Reset();
|
|
|
| @@ -948,7 +964,8 @@ TEST_F(ViewTest, PaintIntersectsChildButNotGrandChildInRTL) {
|
|
|
| EXPECT_FALSE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, paint_area));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, paint_area, root_view->size()));
|
| EXPECT_TRUE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| }
|
| @@ -969,7 +986,8 @@ TEST_F(ViewTest, PaintIntersectsNoChildren) {
|
| // invalidation.
|
| gfx::Rect first_paint(1, 1);
|
| auto list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, first_paint));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, first_paint, root_view->size()));
|
| v1->Reset();
|
| v2->Reset();
|
|
|
| @@ -979,7 +997,8 @@ TEST_F(ViewTest, PaintIntersectsNoChildren) {
|
|
|
| EXPECT_FALSE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, paint_area));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, paint_area, root_view->size()));
|
| EXPECT_FALSE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| }
|
| @@ -1012,7 +1031,8 @@ TEST_F(ViewTest, PaintIntersectsNoChildrenInRTL) {
|
| // invalidation.
|
| gfx::Rect first_paint(1, 1);
|
| auto list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, first_paint));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, first_paint, root_view->size()));
|
| v1->Reset();
|
| v2->Reset();
|
|
|
| @@ -1022,7 +1042,8 @@ TEST_F(ViewTest, PaintIntersectsNoChildrenInRTL) {
|
|
|
| EXPECT_FALSE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, paint_area));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, paint_area, root_view->size()));
|
| EXPECT_FALSE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| }
|
| @@ -1043,7 +1064,8 @@ TEST_F(ViewTest, PaintIntersectsOneChild) {
|
| // invalidation.
|
| gfx::Rect first_paint(1, 1);
|
| auto list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, first_paint));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, first_paint, root_view->size()));
|
| v1->Reset();
|
| v2->Reset();
|
|
|
| @@ -1054,7 +1076,8 @@ TEST_F(ViewTest, PaintIntersectsOneChild) {
|
|
|
| EXPECT_FALSE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, paint_area));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, paint_area, root_view->size()));
|
| EXPECT_FALSE(v1->did_paint_);
|
| EXPECT_TRUE(v2->did_paint_);
|
|
|
| @@ -1065,7 +1088,8 @@ TEST_F(ViewTest, PaintIntersectsOneChild) {
|
| v2->Reset();
|
| EXPECT_FALSE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, paint_area));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, paint_area, root_view->size()));
|
| EXPECT_TRUE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| }
|
| @@ -1098,7 +1122,8 @@ TEST_F(ViewTest, PaintIntersectsOneChildInRTL) {
|
| // invalidation.
|
| gfx::Rect first_paint(1, 1);
|
| auto list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, first_paint));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, first_paint, root_view->size()));
|
| v1->Reset();
|
| v2->Reset();
|
|
|
| @@ -1109,7 +1134,8 @@ TEST_F(ViewTest, PaintIntersectsOneChildInRTL) {
|
|
|
| EXPECT_FALSE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, paint_area));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, paint_area, root_view->size()));
|
| EXPECT_TRUE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
|
|
| @@ -1120,7 +1146,8 @@ TEST_F(ViewTest, PaintIntersectsOneChildInRTL) {
|
| v2->Reset();
|
| EXPECT_FALSE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, paint_area));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, paint_area, root_view->size()));
|
| EXPECT_FALSE(v1->did_paint_);
|
| EXPECT_TRUE(v2->did_paint_);
|
| }
|
| @@ -1142,7 +1169,7 @@ TEST_F(ViewTest, PaintInPromotedToLayer) {
|
| // invalidation.
|
| gfx::Rect first_paint(1, 1);
|
| auto list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - v1->Paint(ui::PaintContext(list.get(), 1.f, first_paint));
|
| + v1->Paint(ui::PaintContext(list.get(), 1.f, first_paint, v1->size()));
|
| v1->Reset();
|
| v2->Reset();
|
|
|
| @@ -1152,7 +1179,8 @@ TEST_F(ViewTest, PaintInPromotedToLayer) {
|
| auto list = base::MakeRefCounted<cc::DisplayItemList>();
|
|
|
| // The promoted views are not painted as they are separate paint roots.
|
| - root_view->Paint(ui::PaintContext(list.get(), 1.f, paint_area));
|
| + root_view->Paint(
|
| + ui::PaintContext(list.get(), 1.f, paint_area, root_view->size()));
|
| EXPECT_FALSE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| }
|
| @@ -1164,7 +1192,7 @@ TEST_F(ViewTest, PaintInPromotedToLayer) {
|
|
|
| // The |v1| view is painted. If it used its offset incorrect, it would think
|
| // its at (10,11) instead of at (0,0) since it is the paint root.
|
| - v1->Paint(ui::PaintContext(list.get(), 1.f, paint_area));
|
| + v1->Paint(ui::PaintContext(list.get(), 1.f, paint_area, v1->size()));
|
| EXPECT_TRUE(v1->did_paint_);
|
| EXPECT_FALSE(v2->did_paint_);
|
| }
|
| @@ -1178,7 +1206,7 @@ TEST_F(ViewTest, PaintInPromotedToLayer) {
|
|
|
| // The |v2| view is painted also. If it used its offset incorrect, it would
|
| // think its at (13,15) instead of at (3,4) since |v1| is the paint root.
|
| - v1->Paint(ui::PaintContext(list.get(), 1.f, paint_area));
|
| + v1->Paint(ui::PaintContext(list.get(), 1.f, paint_area, v1->size()));
|
| EXPECT_TRUE(v1->did_paint_);
|
| EXPECT_TRUE(v2->did_paint_);
|
| }
|
| @@ -1221,7 +1249,7 @@ TEST_F(ViewTest, PaintLocalBounds) {
|
| EXPECT_EQ(gfx::Rect(0, 1000, 100, 100), v1->GetVisibleBounds());
|
|
|
| auto list = base::MakeRefCounted<cc::DisplayItemList>();
|
| - ui::PaintContext context(list.get(), 1.f, gfx::Rect());
|
| + ui::PaintContext context(list.get(), 1.f, gfx::Rect(), gfx::Size());
|
|
|
| v1->Paint(context);
|
| EXPECT_TRUE(v1->did_paint_);
|
|
|