Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7645)

Unified Diff: chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc

Issue 2690443002: cros-md: Remove the non-MD immersive mode code paths (Closed)
Patch Set: remove pre-md tabstrip related code and fix Tabstrip::GetPreferredSize Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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,

Powered by Google App Engine
This is Rietveld 408576698