Index: ash/shelf/shelf_layout_manager_unittest.cc |
diff --git a/ash/shelf/shelf_layout_manager_unittest.cc b/ash/shelf/shelf_layout_manager_unittest.cc |
index 20b5be0195a1ea00736866033591d99c15b196d0..e065bda1b40d0e1b80a021ef2e5365140c6bc758 100644 |
--- a/ash/shelf/shelf_layout_manager_unittest.cc |
+++ b/ash/shelf/shelf_layout_manager_unittest.cc |
@@ -1533,5 +1533,49 @@ TEST_F(ShelfLayoutManagerTest, BubbleEnlargesShelfMouseHitArea) { |
} |
} |
+TEST_F(ShelfLayoutManagerTest, ShelfBackgroundColor) { |
+ EXPECT_EQ(SHELF_BACKGROUND_DEFAULT, GetShelfWidget()->GetBackgroundType()); |
+ |
+ scoped_ptr<aura::Window> w1(CreateTestWindow()); |
+ w1->Show(); |
+ wm::ActivateWindow(w1.get()); |
+ EXPECT_EQ(SHELF_BACKGROUND_DEFAULT, GetShelfWidget()->GetBackgroundType()); |
+ w1->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_MAXIMIZED); |
+ EXPECT_EQ(SHELF_BACKGROUND_MAXIMIZED, GetShelfWidget()->GetBackgroundType()); |
+ |
+ scoped_ptr<aura::Window> w2(CreateTestWindow()); |
+ w2->Show(); |
+ wm::ActivateWindow(w2.get()); |
+ // Overlaps with shelf. |
+ w2->SetBounds(GetShelfLayoutManager()->GetIdealBounds()); |
+ |
+ // Still background is 'maximized'. |
+ EXPECT_EQ(SHELF_BACKGROUND_MAXIMIZED, GetShelfWidget()->GetBackgroundType()); |
+ |
+ w1->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_MINIMIZED); |
+ EXPECT_EQ(SHELF_BACKGROUND_OVERLAP, GetShelfWidget()->GetBackgroundType()); |
+ w2->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_MINIMIZED); |
+ EXPECT_EQ(SHELF_BACKGROUND_DEFAULT, GetShelfWidget()->GetBackgroundType()); |
+ |
+ w1->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_MAXIMIZED); |
+ EXPECT_EQ(SHELF_BACKGROUND_MAXIMIZED, GetShelfWidget()->GetBackgroundType()); |
+ w1.reset(); |
+ EXPECT_EQ(SHELF_BACKGROUND_DEFAULT, GetShelfWidget()->GetBackgroundType()); |
+} |
+ |
+// Verify that the shelf doesn't have the opaque background if it's auto-hide |
+// status. |
+TEST_F(ShelfLayoutManagerTest, ShelfBackgroundColorAutoHide) { |
+ EXPECT_EQ(SHELF_BACKGROUND_DEFAULT, GetShelfWidget ()->GetBackgroundType()); |
+ |
+ GetShelfLayoutManager()->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS); |
+ scoped_ptr<aura::Window> w1(CreateTestWindow()); |
+ w1->Show(); |
+ wm::ActivateWindow(w1.get()); |
+ EXPECT_EQ(SHELF_BACKGROUND_OVERLAP, GetShelfWidget()->GetBackgroundType()); |
+ w1->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_MAXIMIZED); |
+ EXPECT_EQ(SHELF_BACKGROUND_OVERLAP, GetShelfWidget()->GetBackgroundType()); |
+} |
+ |
} // namespace internal |
} // namespace ash |