| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ash/common/frame/caption_buttons/frame_caption_button_container_view.h
" | 5 #include "ash/common/frame/caption_buttons/frame_caption_button_container_view.h
" |
| 6 | 6 |
| 7 #include "ash/common/ash_layout_constants.h" | 7 #include "ash/common/ash_layout_constants.h" |
| 8 #include "ash/common/frame/caption_buttons/frame_caption_button.h" | 8 #include "ash/common/frame/caption_buttons/frame_caption_button.h" |
| 9 #include "ash/common/wm/maximize_mode/maximize_mode_controller.h" | 9 #include "ash/common/wm/maximize_mode/maximize_mode_controller.h" |
| 10 #include "ash/common/wm_shell.h" | |
| 11 #include "ash/resources/grit/ash_resources.h" | 10 #include "ash/resources/grit/ash_resources.h" |
| 12 #include "ash/resources/vector_icons/vector_icons.h" | 11 #include "ash/resources/vector_icons/vector_icons.h" |
| 12 #include "ash/shell.h" |
| 13 #include "ash/test/ash_test_base.h" | 13 #include "ash/test/ash_test_base.h" |
| 14 #include "ui/gfx/geometry/rect.h" | 14 #include "ui/gfx/geometry/rect.h" |
| 15 #include "ui/views/widget/widget.h" | 15 #include "ui/views/widget/widget.h" |
| 16 #include "ui/views/widget/widget_delegate.h" | 16 #include "ui/views/widget/widget_delegate.h" |
| 17 | 17 |
| 18 namespace ash { | 18 namespace ash { |
| 19 | 19 |
| 20 namespace { | 20 namespace { |
| 21 | 21 |
| 22 class TestWidgetDelegate : public views::WidgetDelegateView { | 22 class TestWidgetDelegate : public views::WidgetDelegateView { |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 158 gfx::Rect initial_close_button_bounds = test.close_button()->bounds(); | 158 gfx::Rect initial_close_button_bounds = test.close_button()->bounds(); |
| 159 gfx::Rect initial_container_bounds = container.bounds(); | 159 gfx::Rect initial_container_bounds = container.bounds(); |
| 160 | 160 |
| 161 ASSERT_EQ(initial_size_button_bounds.x(), | 161 ASSERT_EQ(initial_size_button_bounds.x(), |
| 162 initial_minimize_button_bounds.right()); | 162 initial_minimize_button_bounds.right()); |
| 163 ASSERT_EQ(initial_close_button_bounds.x(), | 163 ASSERT_EQ(initial_close_button_bounds.x(), |
| 164 initial_size_button_bounds.right()); | 164 initial_size_button_bounds.right()); |
| 165 | 165 |
| 166 // Hidden size button should result in minimize button animating to the | 166 // Hidden size button should result in minimize button animating to the |
| 167 // right. The size button should not be visible, but should not have moved. | 167 // right. The size button should not be visible, but should not have moved. |
| 168 WmShell::Get()->maximize_mode_controller()->EnableMaximizeModeWindowManager( | 168 Shell::Get()->maximize_mode_controller()->EnableMaximizeModeWindowManager( |
| 169 true); | 169 true); |
| 170 container.UpdateSizeButtonVisibility(); | 170 container.UpdateSizeButtonVisibility(); |
| 171 test.EndAnimations(); | 171 test.EndAnimations(); |
| 172 // Parent needs to layout in response to size change. | 172 // Parent needs to layout in response to size change. |
| 173 container.Layout(); | 173 container.Layout(); |
| 174 | 174 |
| 175 EXPECT_TRUE(test.minimize_button()->visible()); | 175 EXPECT_TRUE(test.minimize_button()->visible()); |
| 176 EXPECT_FALSE(test.size_button()->visible()); | 176 EXPECT_FALSE(test.size_button()->visible()); |
| 177 EXPECT_TRUE(test.close_button()->visible()); | 177 EXPECT_TRUE(test.close_button()->visible()); |
| 178 gfx::Rect minimize_button_bounds = test.minimize_button()->bounds(); | 178 gfx::Rect minimize_button_bounds = test.minimize_button()->bounds(); |
| 179 gfx::Rect close_button_bounds = test.close_button()->bounds(); | 179 gfx::Rect close_button_bounds = test.close_button()->bounds(); |
| 180 EXPECT_EQ(close_button_bounds.x(), minimize_button_bounds.right()); | 180 EXPECT_EQ(close_button_bounds.x(), minimize_button_bounds.right()); |
| 181 EXPECT_EQ(initial_size_button_bounds, test.size_button()->bounds()); | 181 EXPECT_EQ(initial_size_button_bounds, test.size_button()->bounds()); |
| 182 EXPECT_EQ(initial_close_button_bounds.size(), close_button_bounds.size()); | 182 EXPECT_EQ(initial_close_button_bounds.size(), close_button_bounds.size()); |
| 183 EXPECT_LT(container.GetPreferredSize().width(), | 183 EXPECT_LT(container.GetPreferredSize().width(), |
| 184 initial_container_bounds.width()); | 184 initial_container_bounds.width()); |
| 185 | 185 |
| 186 // Revealing the size button should cause the minimize button to return to its | 186 // Revealing the size button should cause the minimize button to return to its |
| 187 // original position. | 187 // original position. |
| 188 WmShell::Get()->maximize_mode_controller()->EnableMaximizeModeWindowManager( | 188 Shell::Get()->maximize_mode_controller()->EnableMaximizeModeWindowManager( |
| 189 false); | 189 false); |
| 190 container.UpdateSizeButtonVisibility(); | 190 container.UpdateSizeButtonVisibility(); |
| 191 // Calling code needs to layout in response to size change. | 191 // Calling code needs to layout in response to size change. |
| 192 container.Layout(); | 192 container.Layout(); |
| 193 test.EndAnimations(); | 193 test.EndAnimations(); |
| 194 EXPECT_TRUE(test.minimize_button()->visible()); | 194 EXPECT_TRUE(test.minimize_button()->visible()); |
| 195 EXPECT_TRUE(test.size_button()->visible()); | 195 EXPECT_TRUE(test.size_button()->visible()); |
| 196 EXPECT_TRUE(test.close_button()->visible()); | 196 EXPECT_TRUE(test.close_button()->visible()); |
| 197 EXPECT_EQ(initial_minimize_button_bounds, test.minimize_button()->bounds()); | 197 EXPECT_EQ(initial_minimize_button_bounds, test.minimize_button()->bounds()); |
| 198 EXPECT_EQ(initial_size_button_bounds, test.size_button()->bounds()); | 198 EXPECT_EQ(initial_size_button_bounds, test.size_button()->bounds()); |
| 199 EXPECT_EQ(initial_close_button_bounds, test.close_button()->bounds()); | 199 EXPECT_EQ(initial_close_button_bounds, test.close_button()->bounds()); |
| 200 EXPECT_EQ(container.GetPreferredSize().width(), | 200 EXPECT_EQ(container.GetPreferredSize().width(), |
| 201 initial_container_bounds.width()); | 201 initial_container_bounds.width()); |
| 202 } | 202 } |
| 203 | 203 |
| 204 } // namespace ash | 204 } // namespace ash |
| OLD | NEW |