Index: apps/shell_window.h |
diff --git a/apps/shell_window.h b/apps/shell_window.h |
index c236a1d7354f0c6c3f5935b41870a48c817b22a0..98900386cf21633d0fe76ab33faf691aa3247232 100644 |
--- a/apps/shell_window.h |
+++ b/apps/shell_window.h |
@@ -92,6 +92,21 @@ class ShellWindow : public content::NotificationObserver, |
FRAME_NONE, // Frameless window. |
}; |
+ enum FullscreenType { |
+ // Not fullscreen. |
+ FULLSCREEN_TYPE_NONE = 0, |
+ |
+ // Fullscreen entered by the app.window api. |
+ FULLSCREEN_TYPE_WINDOW_API = 1 << 0, |
+ |
+ // Fullscreen entered by HTML requestFullscreen(). |
+ FULLSCREEN_TYPE_HTML_API = 1 << 1, |
+ |
+ // Fullscreen entered by the OS. ChromeOS uses this type of fullscreen to |
+ // enter immersive fullscreen when the user hits the <F4> key. |
+ FULLSCREEN_TYPE_OS = 1 << 2 |
+ }; |
+ |
class SizeConstraints { |
public: |
// The value SizeConstraints uses to represent an unbounded width or height. |
@@ -284,6 +299,9 @@ class ShellWindow : public content::NotificationObserver, |
void Minimize(); |
void Restore(); |
+ // Transitions to OS fullscreen. See FULLSCREEN_TYPE_OS for more details. |
+ void OSFullscreen(); |
+ |
// Set the minimum and maximum size that this window is allowed to be. |
void SetMinimumSize(const gfx::Size& min_size); |
void SetMaximumSize(const gfx::Size& max_size); |
@@ -444,10 +462,8 @@ class ShellWindow : public content::NotificationObserver, |
base::WeakPtrFactory<ShellWindow> image_loader_ptr_factory_; |
- // Fullscreen entered by app.window api. |
- bool fullscreen_for_window_api_; |
- // Fullscreen entered by HTML requestFullscreen. |
- bool fullscreen_for_tab_; |
+ // Bit field of FullscreenType. |
+ int fullscreen_types_; |
// Size constraints on the window. |
SizeConstraints size_constraints_; |