Index: chrome/browser/ui/views/frame/immersive_mode_controller_ash_unittest.cc |
diff --git a/chrome/browser/ui/views/frame/immersive_mode_controller_ash_unittest.cc b/chrome/browser/ui/views/frame/immersive_mode_controller_ash_unittest.cc |
index 3b5ee7c4c5240f2cccb0c283fb3f6621e7ecb155..c76b8afcfa3a0841c2b1d7762f733713120a3462 100644 |
--- a/chrome/browser/ui/views/frame/immersive_mode_controller_ash_unittest.cc |
+++ b/chrome/browser/ui/views/frame/immersive_mode_controller_ash_unittest.cc |
@@ -10,6 +10,7 @@ |
#include "ash/shelf/shelf_types.h" |
#include "ash/shell.h" |
#include "ash/test/ash_test_base.h" |
+#include "ash/wm/window_state.h" |
#include "base/command_line.h" |
#include "chrome/app/chrome_command_ids.h" |
#include "chrome/browser/ui/browser_commands.h" |
@@ -262,6 +263,23 @@ TEST_F(ImmersiveModeControllerAshTest, TabAndBrowserFullscreen) { |
EXPECT_TRUE(controller()->ShouldHideTabIndicators()); |
} |
+// Check that the window state gets properly marked for immersive mode. |
+TEST_F(ImmersiveModeControllerAshTest, WindowStateImmersiveModeFullscreen) { |
+ AddTab(browser(), GURL("about:blank")); |
+ |
+ ash::wm::WindowState* window_state = |
+ ash::wm::GetWindowState(browser()->window()->GetNativeWindow()); |
+ |
+ EXPECT_FALSE(window_state->immersive_mode()); |
+ ToggleFullscreen(); |
+ ASSERT_TRUE(controller()->IsEnabled()); |
+ EXPECT_TRUE(window_state->immersive_mode()); |
+ |
+ ToggleFullscreen(); |
+ ASSERT_FALSE(controller()->IsEnabled()); |
+ EXPECT_FALSE(window_state->immersive_mode()); |
+} |
+ |
class ImmersiveModeControllerAshTestHostedApp |
: public ImmersiveModeControllerAshTest { |
public: |