summaryrefslogtreecommitdiffstats
path: root/views/view_unittest.cc
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-24 02:46:20 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-24 02:46:20 +0000
commitee0128514bdf06e63bc4a2d01dfc9a08d8c15651 (patch)
tree1080116f3bc5b34b441bd1aa63e4bb2f2b66b2ca /views/view_unittest.cc
parent41dd5eed5bb90159a8af2d90bf92586ae613b752 (diff)
downloadchromium_src-ee0128514bdf06e63bc4a2d01dfc9a08d8c15651.zip
chromium_src-ee0128514bdf06e63bc4a2d01dfc9a08d8c15651.tar.gz
chromium_src-ee0128514bdf06e63bc4a2d01dfc9a08d8c15651.tar.bz2
Fixes bug where layer bounds weren't correctly set when views was set
in a couple of cases. BUG=none TEST=none R=ben@chromium.org Review URL: http://codereview.chromium.org/7247020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90333 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/view_unittest.cc')
-rw-r--r--views/view_unittest.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/views/view_unittest.cc b/views/view_unittest.cc
index 4f35bca..4052eb6 100644
--- a/views/view_unittest.cc
+++ b/views/view_unittest.cc
@@ -2458,6 +2458,30 @@ TEST_F(ViewLayerTest, LayerPropertySetter) {
EXPECT_NE(bounds, v1->layer()->bounds());
}
+// Verifies the bounds of a layer are updated if the bounds of ancestor that
+// doesn't have a layer change.
+TEST_F(ViewLayerTest, BoundsChangeWithLayer) {
+ View* content_view = new View;
+ widget()->SetContentsView(content_view);
+
+ View* v1 = new View;
+ content_view->AddChildView(v1);
+ v1->SetBounds(20, 30, 140, 150);
+
+ View* v2 = new View;
+ v2->SetBounds(10, 11, 40, 50);
+ v1->AddChildView(v2);
+ v2->SetPaintToLayer(true);
+ ASSERT_TRUE(v2->layer() != NULL);
+ EXPECT_EQ(gfx::Rect(30, 41, 40, 50), v2->layer()->bounds());
+
+ v1->SetPosition(gfx::Point(25, 36));
+ EXPECT_EQ(gfx::Rect(35, 47, 40, 50), v2->layer()->bounds());
+
+ v2->SetPosition(gfx::Point(11, 12));
+ EXPECT_EQ(gfx::Rect(36, 48, 40, 50), v2->layer()->bounds());
+}
+
#endif // VIEWS_COMPOSITOR || TOUCH_UI
} // namespace views