| Index: chrome/browser/ui/views/immersive_mode_controller.cc
|
| diff --git a/chrome/browser/ui/views/immersive_mode_controller.cc b/chrome/browser/ui/views/immersive_mode_controller.cc
|
| index 93c0ff851fbd1c81ac3258fa9bc84ab3e8ca06d7..301dc25b8ec0bbd1be6c506a4efbce788bbbe84a 100644
|
| --- a/chrome/browser/ui/views/immersive_mode_controller.cc
|
| +++ b/chrome/browser/ui/views/immersive_mode_controller.cc
|
| @@ -17,6 +17,8 @@
|
|
|
| #if defined(USE_ASH)
|
| #include "ash/ash_switches.h"
|
| +#include "ash/shell.h"
|
| +#include "ash/wm/window_properties.h"
|
| #include "base/command_line.h"
|
| #endif
|
|
|
| @@ -299,6 +301,15 @@ void ImmersiveModeController::SetEnabled(bool enabled) {
|
| top_timer_.Stop();
|
| }
|
|
|
| +#if defined(USE_ASH)
|
| + native_window_->SetProperty(ash::internal::kImmersiveModeKey, enabled_);
|
| + // Ash on Windows may not have a shell.
|
| + if (ash::Shell::HasInstance()) {
|
| + // Shelf auto-hides in immersive mode.
|
| + ash::Shell::GetInstance()->UpdateShelfVisibility();
|
| + }
|
| +#endif
|
| +
|
| // Always ensure tab strip is in correct state.
|
| browser_view_->tabstrip()->SetImmersiveStyle(enabled_);
|
| browser_view_->Layout();
|
|
|