Index: chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc |
diff --git a/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc b/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc |
index 62e7fdd48913bd49be89987fdffb4335e8b26738..915994590aad704b6938db35b1bf6ed08af6cf74 100644 |
--- a/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc |
+++ b/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc |
@@ -115,7 +115,6 @@ ImmersiveModeControllerAsh::ImmersiveModeControllerAsh() |
browser_view_(nullptr), |
native_window_(nullptr), |
observers_enabled_(false), |
- use_tab_indicators_(false), |
visible_fraction_(1) {} |
ImmersiveModeControllerAsh::~ImmersiveModeControllerAsh() { |
@@ -145,10 +144,6 @@ bool ImmersiveModeControllerAsh::IsEnabled() const { |
return controller_->IsEnabled(); |
} |
-bool ImmersiveModeControllerAsh::ShouldHideTabIndicators() const { |
- return !use_tab_indicators_; |
-} |
- |
bool ImmersiveModeControllerAsh::ShouldHideTopViews() const { |
return controller_->IsEnabled() && !controller_->IsRevealed(); |
} |
@@ -230,30 +225,11 @@ void ImmersiveModeControllerAsh::LayoutBrowserRootView() { |
widget->GetRootView()->Layout(); |
} |
-// TODO(yiyix|tdanderson): Once Chrome OS material design is enabled by default, |
-// remove all code related to immersive mode hints (here, in TabStrip and |
-// BrowserNonClientFrameViewAsh::OnPaint()). See crbug.com/614453. |
-bool ImmersiveModeControllerAsh::UpdateTabIndicators() { |
- if (ash::MaterialDesignController::IsImmersiveModeMaterial()) |
- return false; |
- |
- bool has_tabstrip = browser_view_->IsBrowserTypeNormal(); |
- if (!IsEnabled() || !has_tabstrip) { |
- use_tab_indicators_ = false; |
- } else { |
- bool in_tab_fullscreen = browser_view_->browser() |
- ->exclusive_access_manager() |
- ->fullscreen_controller() |
- ->IsWindowFullscreenForTabOrPending(); |
- use_tab_indicators_ = !in_tab_fullscreen; |
- } |
+void ImmersiveModeControllerAsh::UpdateTabStrip() { |
+ if (!browser_view_->IsBrowserTypeNormal()) |
+ return; |
- bool show_tab_indicators = use_tab_indicators_ && !IsRevealed(); |
- if (show_tab_indicators != browser_view_->tabstrip()->IsImmersiveStyle()) { |
- browser_view_->tabstrip()->SetImmersiveStyle(show_tab_indicators); |
- return true; |
- } |
- return false; |
+ browser_view_->tabstrip()->set_offscreen(IsEnabled() && !IsRevealed()); |
} |
void ImmersiveModeControllerAsh::CreateMashRevealWidget() { |
@@ -309,7 +285,7 @@ void ImmersiveModeControllerAsh::OnImmersiveRevealStarted() { |
// not filling bounds opaquely. |
if (chrome::IsRunningInMash()) |
browser_view_->top_container()->layer()->SetFillsBoundsOpaquely(false); |
- UpdateTabIndicators(); |
+ UpdateTabStrip(); |
LayoutBrowserRootView(); |
CreateMashRevealWidget(); |
for (Observer& observer : observers_) |
@@ -320,7 +296,7 @@ void ImmersiveModeControllerAsh::OnImmersiveRevealEnded() { |
DestroyMashRevealWidget(); |
visible_fraction_ = 0; |
browser_view_->top_container()->DestroyLayer(); |
- UpdateTabIndicators(); |
+ UpdateTabStrip(); |
LayoutBrowserRootView(); |
for (Observer& observer : observers_) |
observer.OnImmersiveRevealEnded(); |
@@ -329,7 +305,7 @@ void ImmersiveModeControllerAsh::OnImmersiveRevealEnded() { |
void ImmersiveModeControllerAsh::OnImmersiveFullscreenExited() { |
DestroyMashRevealWidget(); |
browser_view_->top_container()->DestroyLayer(); |
- UpdateTabIndicators(); |
+ UpdateTabStrip(); |
LayoutBrowserRootView(); |
} |
@@ -394,7 +370,7 @@ void ImmersiveModeControllerAsh::Observe( |
return; |
} |
- bool tab_indicator_visibility_changed = UpdateTabIndicators(); |
+ UpdateTabStrip(); |
// Auto hide the shelf in immersive browser fullscreen. When auto hidden and |
// Material Design is not enabled, the shelf displays a 3px 'light bar' when |
@@ -405,9 +381,6 @@ void ImmersiveModeControllerAsh::Observe( |
ash::wm::GetWindowState(native_window_) |
->set_hide_shelf_when_fullscreen(in_tab_fullscreen); |
ash::Shell::GetInstance()->UpdateShelfVisibility(); |
- |
- if (tab_indicator_visibility_changed) |
- LayoutBrowserRootView(); |
} |
void ImmersiveModeControllerAsh::OnWindowPropertyChanged(aura::Window* window, |