Index: chrome/browser/ui/views/frame/immersive_mode_controller_ash.h |
diff --git a/chrome/browser/ui/views/frame/immersive_mode_controller_ash.h b/chrome/browser/ui/views/frame/immersive_mode_controller_ash.h |
index 599752410abc30f6c34a99a1ca67e1c5d9c9376d..4427bff06884f4d64a43a1a4f050cb38688739da 100644 |
--- a/chrome/browser/ui/views/frame/immersive_mode_controller_ash.h |
+++ b/chrome/browser/ui/views/frame/immersive_mode_controller_ash.h |
@@ -20,6 +20,8 @@ namespace aura { |
class Window; |
} |
+// See ash/mus/frame/README.md for description of how immersive mode works in |
+// mash. This code works with both classic ash, and mash. |
class ImmersiveModeControllerAsh |
: public ImmersiveModeController, |
public ash::ImmersiveFullscreenControllerDelegate, |
@@ -57,6 +59,13 @@ class ImmersiveModeControllerAsh |
// Returns true if the visibility of the tab indicators has changed. |
bool UpdateTabIndicators(); |
+ // Used when running in mash to create |mash_reveal_widget_|. Does nothing |
+ // if already null. |
+ void CreateMashRevealWidget(); |
+ |
+ // Destroys |mash_reveal_widget_| if valid, does nothing otherwise. |
+ void DestroyMashRevealWidget(); |
+ |
// ImmersiveFullscreenController::Delegate overrides: |
void OnImmersiveRevealStarted() override; |
void OnImmersiveRevealEnded() override; |
@@ -97,6 +106,10 @@ class ImmersiveModeControllerAsh |
// |use_tab_indicators_|. |
double visible_fraction_; |
+ // When running in mash a widget is created to draw the top container. This |
+ // widget does not actually contain the top container, it just renders it. |
+ std::unique_ptr<views::Widget> mash_reveal_widget_; |
+ |
content::NotificationRegistrar registrar_; |
DISALLOW_COPY_AND_ASSIGN(ImmersiveModeControllerAsh); |