| Index: chrome/browser/ui/views/frame/browser_view_browsertest.cc
|
| diff --git a/chrome/browser/ui/views/frame/browser_view_browsertest.cc b/chrome/browser/ui/views/frame/browser_view_browsertest.cc
|
| index 41bcf00a0cd3f878976dc56c95a21e878bef502f..26b4a2e461118597009dc910a2cbaaacb121029a 100644
|
| --- a/chrome/browser/ui/views/frame/browser_view_browsertest.cc
|
| +++ b/chrome/browser/ui/views/frame/browser_view_browsertest.cc
|
| @@ -9,11 +9,10 @@
|
| #include "chrome/browser/ui/views/location_bar/location_bar_view.h"
|
| #include "chrome/browser/ui/views/tabs/tab_strip.h"
|
| #include "chrome/test/base/in_process_browser_test.h"
|
| +#include "ui/compositor/layer_animator.h"
|
| #include "ui/views/focus/focus_manager.h"
|
| -#include "ui/views/view.h"
|
|
|
| using views::FocusManager;
|
| -using views::View;
|
|
|
| typedef InProcessBrowserTest BrowserViewTest;
|
|
|
| @@ -39,6 +38,8 @@ IN_PROC_BROWSER_TEST_F(BrowserViewTest, MAYBE_FullscreenClearsFocus) {
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(BrowserViewTest, ImmersiveMode) {
|
| + ui::LayerAnimator::set_disable_animations_for_test(true);
|
| +
|
| BrowserView* browser_view = static_cast<BrowserView*>(browser()->window());
|
| ImmersiveModeController* controller =
|
| browser_view->immersive_mode_controller();
|
| @@ -56,15 +57,47 @@ IN_PROC_BROWSER_TEST_F(BrowserViewTest, ImmersiveMode) {
|
| controller->SetEnabled(true);
|
| EXPECT_TRUE(controller->enabled());
|
| EXPECT_TRUE(controller->ShouldHideTopViews());
|
| + EXPECT_FALSE(controller->IsRevealed());
|
| EXPECT_TRUE(browser_view->tabstrip()->IsImmersiveStyle());
|
| EXPECT_TRUE(browser_view->IsTabStripVisible());
|
| EXPECT_FALSE(browser_view->IsToolbarVisible());
|
|
|
| // Trigger a reveal keeps us in immersive mode, but top-of-window views
|
| // become visible.
|
| - controller->RevealTopViews();
|
| + controller->StartRevealForTest();
|
| + EXPECT_TRUE(controller->enabled());
|
| + EXPECT_FALSE(controller->ShouldHideTopViews());
|
| + EXPECT_TRUE(controller->IsRevealed());
|
| + EXPECT_FALSE(browser_view->tabstrip()->IsImmersiveStyle());
|
| + EXPECT_TRUE(browser_view->IsTabStripVisible());
|
| + EXPECT_TRUE(browser_view->IsToolbarVisible());
|
| +
|
| + // Ending a reveal keeps us in immersive mode, but toolbar goes invisible.
|
| + controller->EndRevealForTest();
|
| EXPECT_TRUE(controller->enabled());
|
| + EXPECT_TRUE(controller->ShouldHideTopViews());
|
| + EXPECT_FALSE(controller->IsRevealed());
|
| + EXPECT_TRUE(browser_view->tabstrip()->IsImmersiveStyle());
|
| + EXPECT_TRUE(browser_view->IsTabStripVisible());
|
| + EXPECT_FALSE(browser_view->IsToolbarVisible());
|
| +
|
| + // Disabling immersive mode puts us back to the beginning.
|
| + controller->SetEnabled(false);
|
| + EXPECT_FALSE(controller->enabled());
|
| + EXPECT_FALSE(controller->ShouldHideTopViews());
|
| + EXPECT_FALSE(controller->IsRevealed());
|
| + EXPECT_FALSE(browser_view->tabstrip()->IsImmersiveStyle());
|
| + EXPECT_TRUE(browser_view->IsTabStripVisible());
|
| + EXPECT_TRUE(browser_view->IsToolbarVisible());
|
| +
|
| + // Disabling immersive mode while we are revealed should take us back to
|
| + // the beginning.
|
| + controller->SetEnabled(true);
|
| + controller->StartRevealForTest();
|
| + controller->SetEnabled(false);
|
| + EXPECT_FALSE(controller->enabled());
|
| EXPECT_FALSE(controller->ShouldHideTopViews());
|
| + EXPECT_FALSE(controller->IsRevealed());
|
| EXPECT_FALSE(browser_view->tabstrip()->IsImmersiveStyle());
|
| EXPECT_TRUE(browser_view->IsTabStripVisible());
|
| EXPECT_TRUE(browser_view->IsToolbarVisible());
|
|
|