diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-24 02:46:20 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-24 02:46:20 +0000 |
commit | ee0128514bdf06e63bc4a2d01dfc9a08d8c15651 (patch) | |
tree | 1080116f3bc5b34b441bd1aa63e4bb2f2b66b2ca /views/view_unittest.cc | |
parent | 41dd5eed5bb90159a8af2d90bf92586ae613b752 (diff) | |
download | chromium_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.cc | 24 |
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 |