| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/views/immersive_mode_controller.h" | 5 #include "chrome/browser/ui/views/immersive_mode_controller.h" |
| 6 | 6 |
| 7 #include "chrome/browser/ui/views/frame/browser_frame.h" | 7 #include "chrome/browser/ui/views/frame/browser_frame.h" |
| 8 #include "chrome/browser/ui/views/frame/browser_view.h" | 8 #include "chrome/browser/ui/views/frame/browser_view.h" |
| 9 #include "chrome/browser/ui/views/frame/contents_container.h" | 9 #include "chrome/browser/ui/views/frame/contents_container.h" |
| 10 #include "chrome/browser/ui/views/tabs/tab_strip.h" | 10 #include "chrome/browser/ui/views/tabs/tab_strip.h" |
| 11 #include "chrome/browser/ui/views/toolbar_view.h" | 11 #include "chrome/browser/ui/views/toolbar_view.h" |
| 12 #include "ui/compositor/scoped_layer_animation_settings.h" | 12 #include "ui/compositor/scoped_layer_animation_settings.h" |
| 13 #include "ui/gfx/screen.h" | 13 #include "ui/gfx/screen.h" |
| 14 #include "ui/gfx/transform.h" | 14 #include "ui/gfx/transform.h" |
| 15 #include "ui/views/view.h" | 15 #include "ui/views/view.h" |
| 16 #include "ui/views/window/non_client_view.h" | 16 #include "ui/views/window/non_client_view.h" |
| 17 | 17 |
| 18 #if defined(USE_ASH) | 18 #if defined(USE_ASH) |
| 19 #include "ash/ash_switches.h" | 19 #include "ash/ash_switches.h" |
| 20 #include "ash/shell.h" |
| 21 #include "ash/wm/window_properties.h" |
| 20 #include "base/command_line.h" | 22 #include "base/command_line.h" |
| 21 #endif | 23 #endif |
| 22 | 24 |
| 23 #if defined(USE_AURA) | 25 #if defined(USE_AURA) |
| 24 #include "ui/aura/client/aura_constants.h" | 26 #include "ui/aura/client/aura_constants.h" |
| 25 #include "ui/aura/window.h" | 27 #include "ui/aura/window.h" |
| 26 #include "ui/aura/window_observer.h" | 28 #include "ui/aura/window_observer.h" |
| 27 #endif | 29 #endif |
| 28 | 30 |
| 29 using views::View; | 31 using views::View; |
| (...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 292 enabled_ = enabled; | 294 enabled_ = enabled; |
| 293 | 295 |
| 294 if (!enabled_) { | 296 if (!enabled_) { |
| 295 // Layout occurs below because EndReveal() only performs layout if the view | 297 // Layout occurs below because EndReveal() only performs layout if the view |
| 296 // is already revealed. | 298 // is already revealed. |
| 297 EndReveal(ANIMATE_NO, LAYOUT_NO); | 299 EndReveal(ANIMATE_NO, LAYOUT_NO); |
| 298 // Stop cursor-at-top tracking. | 300 // Stop cursor-at-top tracking. |
| 299 top_timer_.Stop(); | 301 top_timer_.Stop(); |
| 300 } | 302 } |
| 301 | 303 |
| 304 #if defined(USE_ASH) |
| 305 native_window_->SetProperty(ash::internal::kImmersiveModeKey, enabled_); |
| 306 // Ash on Windows may not have a shell. |
| 307 if (ash::Shell::HasInstance()) { |
| 308 // Shelf auto-hides in immersive mode. |
| 309 ash::Shell::GetInstance()->UpdateShelfVisibility(); |
| 310 } |
| 311 #endif |
| 312 |
| 302 // Always ensure tab strip is in correct state. | 313 // Always ensure tab strip is in correct state. |
| 303 browser_view_->tabstrip()->SetImmersiveStyle(enabled_); | 314 browser_view_->tabstrip()->SetImmersiveStyle(enabled_); |
| 304 browser_view_->Layout(); | 315 browser_view_->Layout(); |
| 305 | 316 |
| 306 EnableWindowObservers(enabled_); | 317 EnableWindowObservers(enabled_); |
| 307 } | 318 } |
| 308 | 319 |
| 309 views::View* ImmersiveModeController::reveal_view() { | 320 views::View* ImmersiveModeController::reveal_view() { |
| 310 return reveal_view_.get(); | 321 return reveal_view_.get(); |
| 311 } | 322 } |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 478 base::TimeDelta::FromMilliseconds(kRevealAnimationDurationMs)); | 489 base::TimeDelta::FromMilliseconds(kRevealAnimationDurationMs)); |
| 479 settings.AddObserver(this); // Resets |reveal_view_| on completion. | 490 settings.AddObserver(this); // Resets |reveal_view_| on completion. |
| 480 gfx::Transform transform; | 491 gfx::Transform transform; |
| 481 transform.Translate(0, -layer->bounds().height()); | 492 transform.Translate(0, -layer->bounds().height()); |
| 482 layer->SetTransform(transform); | 493 layer->SetTransform(transform); |
| 483 } | 494 } |
| 484 | 495 |
| 485 void ImmersiveModeController::OnHideAnimationCompleted() { | 496 void ImmersiveModeController::OnHideAnimationCompleted() { |
| 486 reveal_view_.reset(); // Also removes from parent. | 497 reveal_view_.reset(); // Also removes from parent. |
| 487 } | 498 } |
| OLD | NEW |