Index: ui/wm/core/shadow_controller_unittest.cc |
diff --git a/ui/wm/core/shadow_controller_unittest.cc b/ui/wm/core/shadow_controller_unittest.cc |
index 18116d42576d66fceb2e7ef4e18497d275eec992..6e3818be19481297d9ad7395520c145b7ed98ddd 100644 |
--- a/ui/wm/core/shadow_controller_unittest.cc |
+++ b/ui/wm/core/shadow_controller_unittest.cc |
@@ -8,6 +8,7 @@ |
#include <vector> |
#include "base/memory/scoped_ptr.h" |
+#include "ui/aura/client/aura_constants.h" |
#include "ui/aura/client/window_tree_client.h" |
#include "ui/aura/test/aura_test_base.h" |
#include "ui/aura/window.h" |
@@ -154,6 +155,30 @@ TEST_F(ShadowControllerTest, ShadowStyle) { |
EXPECT_EQ(Shadow::STYLE_ACTIVE, shadow2->style()); |
} |
+// Tests that shadow gets updated when the window show state chagnes. |
+TEST_F(ShadowControllerTest, ShowState) { |
+ ShadowController::TestApi api(shadow_controller()); |
+ |
+ scoped_ptr<aura::Window> window(new aura::Window(NULL)); |
+ window->SetType(ui::wm::WINDOW_TYPE_NORMAL); |
+ window->Init(aura::WINDOW_LAYER_TEXTURED); |
+ ParentWindow(window.get()); |
+ window->Show(); |
+ |
+ Shadow* shadow = api.GetShadowForWindow(window.get()); |
+ ASSERT_TRUE(shadow != NULL); |
+ EXPECT_EQ(Shadow::STYLE_INACTIVE, shadow->style()); |
+ |
+ window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_MAXIMIZED); |
+ EXPECT_FALSE(shadow->layer()->visible()); |
+ |
+ window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_NORMAL); |
+ EXPECT_TRUE(shadow->layer()->visible()); |
+ |
+ window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_FULLSCREEN); |
+ EXPECT_FALSE(shadow->layer()->visible()); |
+} |
+ |
// Tests that we use smaller shadows for tooltips and menus. |
TEST_F(ShadowControllerTest, SmallShadowsForTooltipsAndMenus) { |
ShadowController::TestApi api(shadow_controller()); |