Index: ui/views/view_unittest.cc |
diff --git a/ui/views/view_unittest.cc b/ui/views/view_unittest.cc |
index 1dbb59e20cc5ac17e19a091bbe26486be2af4dae..4a6aeb346eba651092a5def8c4f76d9e73dbeda3 100644 |
--- a/ui/views/view_unittest.cc |
+++ b/ui/views/view_unittest.cc |
@@ -25,6 +25,7 @@ |
#include "ui/compositor/layer.h" |
#include "ui/compositor/layer_animator.h" |
#include "ui/compositor/paint_context.h" |
+#include "ui/compositor/paint_info.h" |
#include "ui/compositor/test/draw_waiter_for_test.h" |
#include "ui/events/event.h" |
#include "ui/events/event_utils.h" |
@@ -527,7 +528,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::PaintInfo(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 +550,9 @@ 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::PaintInfo( |
+ 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 +567,17 @@ 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::PaintInfo( |
+ 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::PaintInfo( |
+ ui::PaintContext(list.get(), device_scale_factor, v1->bounds()), |
+ root_view->size())); |
EXPECT_TRUE(v1->did_paint_); |
v1->Reset(); |
@@ -580,8 +585,9 @@ 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::PaintInfo( |
+ ui::PaintContext(list.get(), device_scale_factor, pixel_rect), |
+ root_view->size())); |
EXPECT_FALSE(v1->did_paint_); |
v1->Reset(); |
item_index = 3; |
@@ -597,9 +603,9 @@ TEST_F(ViewTest, PaintWithMovedViewUsesCache) { |
// invalidation. |
list = base::MakeRefCounted<cc::DisplayItemList>(); |
v1->SetX(8); |
- root_view->Paint(ui::PaintContext( |
+ root_view->Paint(ui::PaintInfo(ui::PaintInfo( |
ui::PaintContext(list.get(), device_scale_factor, pixel_rect), |
- ui::PaintContext::CLONE_WITHOUT_INVALIDATION)); |
+ root_view->size()))); |
EXPECT_TRUE(v1->did_paint_); |
v1->Reset(); |
item_index = 3; |
@@ -625,8 +631,9 @@ 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::PaintInfo( |
+ 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 +649,17 @@ 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::PaintInfo( |
+ 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::PaintInfo( |
+ ui::PaintContext(list.get(), device_scale_factor, v1->bounds()), |
+ root_view->size())); |
EXPECT_TRUE(v1->did_paint_); |
v1->Reset(); |
@@ -658,8 +667,9 @@ 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::PaintInfo( |
+ ui::PaintContext(list.get(), device_scale_factor, pixel_rect), |
+ root_view->size())); |
EXPECT_FALSE(v1->did_paint_); |
v1->Reset(); |
item_index = 3; |
@@ -676,9 +686,9 @@ TEST_F(ViewTest, PaintWithMovedViewUsesCacheInRTL) { |
// invalidation. |
list = base::MakeRefCounted<cc::DisplayItemList>(); |
v1->SetX(8); |
- root_view->Paint(ui::PaintContext( |
+ root_view->Paint(ui::PaintInfo(ui::PaintInfo( |
ui::PaintContext(list.get(), device_scale_factor, pixel_rect), |
- ui::PaintContext::CLONE_WITHOUT_INVALIDATION)); |
+ root_view->size()))); |
EXPECT_TRUE(v1->did_paint_); |
v1->Reset(); |
item_index = 3; |
@@ -708,7 +718,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::PaintInfo(ui::PaintContext(list.get(), 1.f, first_paint), |
+ root_view->size())); |
v1->Reset(); |
v2->Reset(); |
@@ -719,14 +730,14 @@ 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::PaintInfo(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::PaintInfo(ui::PaintInfo( |
+ ui::PaintContext(list.get(), 1.f, paint_area), root_view->size()))); |
EXPECT_TRUE(v1->did_paint_); |
EXPECT_TRUE(v2->did_paint_); |
} |
@@ -747,7 +758,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::PaintInfo(ui::PaintContext(list.get(), 1.f, first_paint), |
+ root_view->size())); |
v1->Reset(); |
v2->Reset(); |
@@ -757,7 +769,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::PaintInfo(ui::PaintContext(list.get(), 1.f, paint_area), |
+ root_view->size())); |
EXPECT_TRUE(v1->did_paint_); |
EXPECT_TRUE(v2->did_paint_); |
} |
@@ -790,7 +803,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::PaintInfo(ui::PaintContext(list.get(), 1.f, first_paint), |
+ root_view->size())); |
v1->Reset(); |
v2->Reset(); |
@@ -800,7 +814,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::PaintInfo(ui::PaintContext(list.get(), 1.f, paint_area), |
+ root_view->size())); |
EXPECT_TRUE(v1->did_paint_); |
EXPECT_TRUE(v2->did_paint_); |
} |
@@ -821,7 +836,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::PaintInfo(ui::PaintContext(list.get(), 1.f, first_paint), |
+ root_view->size())); |
v1->Reset(); |
v2->Reset(); |
@@ -831,7 +847,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::PaintInfo(ui::PaintContext(list.get(), 1.f, paint_area), |
+ root_view->size())); |
EXPECT_TRUE(v1->did_paint_); |
EXPECT_TRUE(v2->did_paint_); |
} |
@@ -864,7 +881,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::PaintInfo(ui::PaintContext(list.get(), 1.f, first_paint), |
+ root_view->size())); |
v1->Reset(); |
v2->Reset(); |
@@ -874,7 +892,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::PaintInfo(ui::PaintContext(list.get(), 1.f, paint_area), |
+ root_view->size())); |
EXPECT_TRUE(v1->did_paint_); |
EXPECT_TRUE(v2->did_paint_); |
} |
@@ -895,7 +914,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::PaintInfo(ui::PaintContext(list.get(), 1.f, first_paint), |
+ root_view->size())); |
v1->Reset(); |
v2->Reset(); |
@@ -905,7 +925,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::PaintInfo(ui::PaintContext(list.get(), 1.f, paint_area), |
+ root_view->size())); |
EXPECT_TRUE(v1->did_paint_); |
EXPECT_FALSE(v2->did_paint_); |
} |
@@ -938,7 +959,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::PaintInfo(ui::PaintContext(list.get(), 1.f, first_paint), |
+ root_view->size())); |
v1->Reset(); |
v2->Reset(); |
@@ -948,7 +970,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::PaintInfo(ui::PaintContext(list.get(), 1.f, paint_area), |
+ root_view->size())); |
EXPECT_TRUE(v1->did_paint_); |
EXPECT_FALSE(v2->did_paint_); |
} |
@@ -969,7 +992,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::PaintInfo(ui::PaintContext(list.get(), 1.f, first_paint), |
+ root_view->size())); |
v1->Reset(); |
v2->Reset(); |
@@ -979,7 +1003,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::PaintInfo(ui::PaintContext(list.get(), 1.f, paint_area), |
+ root_view->size())); |
EXPECT_FALSE(v1->did_paint_); |
EXPECT_FALSE(v2->did_paint_); |
} |
@@ -1012,7 +1037,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::PaintInfo(ui::PaintContext(list.get(), 1.f, first_paint), |
+ root_view->size())); |
v1->Reset(); |
v2->Reset(); |
@@ -1022,7 +1048,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::PaintInfo(ui::PaintContext(list.get(), 1.f, paint_area), |
+ root_view->size())); |
EXPECT_FALSE(v1->did_paint_); |
EXPECT_FALSE(v2->did_paint_); |
} |
@@ -1043,7 +1070,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::PaintInfo(ui::PaintContext(list.get(), 1.f, first_paint), |
+ root_view->size())); |
v1->Reset(); |
v2->Reset(); |
@@ -1054,7 +1082,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::PaintInfo(ui::PaintContext(list.get(), 1.f, paint_area), |
+ root_view->size())); |
EXPECT_FALSE(v1->did_paint_); |
EXPECT_TRUE(v2->did_paint_); |
@@ -1065,7 +1094,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::PaintInfo(ui::PaintContext(list.get(), 1.f, paint_area), |
+ root_view->size())); |
EXPECT_TRUE(v1->did_paint_); |
EXPECT_FALSE(v2->did_paint_); |
} |
@@ -1098,7 +1128,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::PaintInfo(ui::PaintContext(list.get(), 1.f, first_paint), |
+ root_view->size())); |
v1->Reset(); |
v2->Reset(); |
@@ -1109,7 +1140,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::PaintInfo(ui::PaintContext(list.get(), 1.f, paint_area), |
+ root_view->size())); |
EXPECT_TRUE(v1->did_paint_); |
EXPECT_FALSE(v2->did_paint_); |
@@ -1120,7 +1152,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::PaintInfo(ui::PaintContext(list.get(), 1.f, paint_area), |
+ root_view->size())); |
EXPECT_FALSE(v1->did_paint_); |
EXPECT_TRUE(v2->did_paint_); |
} |
@@ -1142,7 +1175,8 @@ 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::PaintInfo(ui::PaintContext(list.get(), 1.f, first_paint), |
+ v1->size())); |
v1->Reset(); |
v2->Reset(); |
@@ -1152,7 +1186,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::PaintInfo( |
+ ui::PaintContext(list.get(), 1.f, paint_area), root_view->size())); |
EXPECT_FALSE(v1->did_paint_); |
EXPECT_FALSE(v2->did_paint_); |
} |
@@ -1164,7 +1199,8 @@ 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::PaintInfo(ui::PaintContext(list.get(), 1.f, paint_area), |
+ v1->size())); |
EXPECT_TRUE(v1->did_paint_); |
EXPECT_FALSE(v2->did_paint_); |
} |
@@ -1178,7 +1214,8 @@ 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::PaintInfo(ui::PaintContext(list.get(), 1.f, paint_area), |
+ v1->size())); |
EXPECT_TRUE(v1->did_paint_); |
EXPECT_TRUE(v2->did_paint_); |
} |
@@ -1223,7 +1260,7 @@ TEST_F(ViewTest, PaintLocalBounds) { |
auto list = base::MakeRefCounted<cc::DisplayItemList>(); |
ui::PaintContext context(list.get(), 1.f, gfx::Rect()); |
- v1->Paint(context); |
+ v1->Paint(ui::PaintInfo(context, gfx::Size())); |
EXPECT_TRUE(v1->did_paint_); |
// Check that the canvas produced by |v1| for paint contains all of |v1|'s |