From b44dbd15aeb4dbe7a5be36f7f5c55e6cddf0bac9 Mon Sep 17 00:00:00 2001 From: "amanda@chromium.org" Date: Sun, 11 Oct 2009 19:02:15 +0000 Subject: Change Mac fullscreen mode to be a stack, not a flag. This fixes crashes and misbehavior of fullscreen browser windows and plugins, especially when they interact. BUG=23571,24216 TEST=open up multiple browser windows, make them fullscreen, and go to pages (such as video players) that can invoke full screen plugins. The menu bar should hide when the first window becomes fullscreen, show again after the last window stops being fullscreen, and not crash at any of those transitions. Review URL: http://codereview.chromium.org/269022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28690 0039d316-1c4b-4281-b951-d872f2087c98 --- base/mac_util.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'base/mac_util.h') diff --git a/base/mac_util.h b/base/mac_util.h index 0baab02..fc886e54 100644 --- a/base/mac_util.h +++ b/base/mac_util.h @@ -60,6 +60,18 @@ CGColorSpaceRef GetSRGBColorSpace(); // is a static value; do not release it! CGColorSpaceRef GetSystemColorSpace(); +// Add a request for full screen mode. This does not by itself create a +// fullscreen window; rather, it manages per-application state related to +// fullscreen windows. For example, if the menu bar is not currently +// hidden, this will hide it. Must be called on main thread. +void RequestFullScreen(); + +// Release a request for full screen mode. As with RequestFullScree(), this +// does not affect windows directly, but rather manages per-application state. +// For example, if there are no other outstanding requests for full screen, +// this will show the menu bar. Must be called on main thread. +void ReleaseFullScreen(); + } // namespace mac_util #endif // BASE_MAC_UTIL_H_ -- cgit v1.1