| 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 d82d015f1a0badb133c8414215b6a138b72bb496..477e3ace9bae9d137bdff74f88e63355847621a7 100644
|
| --- a/ui/wm/core/shadow_controller_unittest.cc
|
| +++ b/ui/wm/core/shadow_controller_unittest.cc
|
| @@ -216,4 +216,58 @@ TEST_F(ShadowControllerTest, TransientParentKeepsActiveShadow) {
|
| EXPECT_EQ(Shadow::STYLE_ACTIVE, shadow1->style());
|
| }
|
|
|
| +TEST_F(ShadowControllerTest, AlwaysActive) {
|
| + ShadowController::TestApi api(shadow_controller());
|
| +
|
| + scoped_ptr<aura::Window> window1(new aura::Window(NULL));
|
| + window1->SetType(ui::wm::WINDOW_TYPE_NORMAL);
|
| + window1->Init(aura::WINDOW_LAYER_TEXTURED);
|
| + ParentWindow(window1.get());
|
| + window1->SetBounds(gfx::Rect(10, 20, 300, 400));
|
| + SetShadowType(window1.get(), SHADOW_TYPE_RECTANGULAR_ALWAYS_ACTIVE);
|
| + window1->Show();
|
| +
|
| + // Showing the window with SHADOW_TYPE_RECTANGULAR_ALWAYS_ACTIVE should
|
| + // have active shadow.
|
| + EXPECT_EQ(Shadow::STYLE_ACTIVE,
|
| + api.GetShadowForWindow(window1.get())->style());
|
| +
|
| + scoped_ptr<aura::Window> window2(new aura::Window(NULL));
|
| + window2->SetType(ui::wm::WINDOW_TYPE_NORMAL);
|
| + window2->Init(aura::WINDOW_LAYER_TEXTURED);
|
| + ParentWindow(window2.get());
|
| + window2->SetBounds(gfx::Rect(11, 21, 301, 401));
|
| + window2->Show();
|
| +
|
| + // Setting SHADOW_TYPE_RECTANGULAR_ALWAYS_ACTIVE to the visible window
|
| + // should set the active shadow.
|
| + EXPECT_EQ(Shadow::STYLE_INACTIVE,
|
| + api.GetShadowForWindow(window2.get())->style());
|
| + SetShadowType(window2.get(), SHADOW_TYPE_RECTANGULAR_ALWAYS_ACTIVE);
|
| + EXPECT_EQ(Shadow::STYLE_ACTIVE,
|
| + api.GetShadowForWindow(window2.get())->style());
|
| +
|
| + // Activation should not change the shadow style.
|
| + ActivateWindow(window2.get());
|
| + EXPECT_EQ(Shadow::STYLE_ACTIVE,
|
| + api.GetShadowForWindow(window1.get())->style());
|
| + EXPECT_EQ(Shadow::STYLE_ACTIVE,
|
| + api.GetShadowForWindow(window2.get())->style());
|
| +
|
| + ActivateWindow(window1.get());
|
| + EXPECT_EQ(Shadow::STYLE_ACTIVE,
|
| + api.GetShadowForWindow(window1.get())->style());
|
| + EXPECT_EQ(Shadow::STYLE_ACTIVE,
|
| + api.GetShadowForWindow(window2.get())->style());
|
| +
|
| + // Restore the style to plain RECTANGULAR and make sure the inactive window
|
| + // gets the inactive shadow.
|
| + SetShadowType(window1.get(), SHADOW_TYPE_RECTANGULAR);
|
| + SetShadowType(window2.get(), SHADOW_TYPE_RECTANGULAR);
|
| + EXPECT_EQ(Shadow::STYLE_ACTIVE,
|
| + api.GetShadowForWindow(window1.get())->style());
|
| + EXPECT_EQ(Shadow::STYLE_INACTIVE,
|
| + api.GetShadowForWindow(window2.get())->style());
|
| +}
|
| +
|
| } // namespace wm
|
|
|