Index: chrome/browser/ui/views/apps/native_app_window_views.h |
diff --git a/chrome/browser/ui/views/apps/native_app_window_views.h b/chrome/browser/ui/views/apps/native_app_window_views.h |
index 39e604e96ab9c66e59908777ee40a40d057ac395..272f8febab1da71da36e54af7ffa7a4cd416896a 100644 |
--- a/chrome/browser/ui/views/apps/native_app_window_views.h |
+++ b/chrome/browser/ui/views/apps/native_app_window_views.h |
@@ -20,6 +20,12 @@ |
#include "chrome/browser/shell_integration.h" |
#endif |
+#if defined(USE_ASH) |
+namespace ash { |
+class ImmersiveFullscreenController; |
+} |
+#endif |
+ |
class ExtensionKeybindingRegistryViews; |
class Profile; |
@@ -138,8 +144,8 @@ class NativeAppWindowViews : public apps::NativeAppWindow, |
virtual bool AcceleratorPressed(const ui::Accelerator& accelerator) OVERRIDE; |
// NativeAppWindow implementation. |
- virtual void SetFullscreen(bool fullscreen) OVERRIDE; |
- virtual bool IsFullscreenOrPending() const OVERRIDE; |
+ virtual void SetFullscreen(apps::ShellWindow::FullscreenType type) OVERRIDE; |
+ virtual bool SupportsImmersiveFullscreen() const OVERRIDE; |
virtual bool IsDetached() const OVERRIDE; |
virtual void UpdateWindowIcon() OVERRIDE; |
virtual void UpdateWindowTitle() OVERRIDE; |
@@ -193,10 +199,19 @@ class NativeAppWindowViews : public apps::NativeAppWindow, |
views::UnhandledKeyboardEventHandler unhandled_keyboard_event_handler_; |
- base::WeakPtrFactory<NativeAppWindowViews> weak_ptr_factory_; |
+#if defined(USE_ASH) |
+ // Used to put non-frameless windows into immersive fullscreen on ChromeOS. In |
+ // immersive fullscreen, the window header (title bar and window controls) |
+ // slides onscreen as an overlay when the mouse is hovered at the top of the |
+ // screen. |
+ scoped_ptr<ash::ImmersiveFullscreenController> |
+ immersive_fullscreen_controller_; |
+#endif |
ObserverList<web_modal::ModalDialogHostObserver> observer_list_; |
+ base::WeakPtrFactory<NativeAppWindowViews> weak_ptr_factory_; |
+ |
DISALLOW_COPY_AND_ASSIGN(NativeAppWindowViews); |
}; |