X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fui%2Fwm%2Fcore%2Fshadow_controller_unittest.cc;h=477e3ace9bae9d137bdff74f88e63355847621a7;hb=4a1a0bdd01eef90b0826a0e761d3379d3715c10f;hp=d82d015f1a0badb133c8414215b6a138b72bb496;hpb=b1be5ca53587d23e7aeb77b26861fdc0a181ffd8;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/ui/wm/core/shadow_controller_unittest.cc b/src/ui/wm/core/shadow_controller_unittest.cc index d82d015..477e3ac 100644 --- a/src/ui/wm/core/shadow_controller_unittest.cc +++ b/src/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 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 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