| Index: base/mac/mac_util.mm
|
| diff --git a/base/mac/mac_util.mm b/base/mac/mac_util.mm
|
| index 4fb1a42ca2f80255421c6b518ded9f3102db35a9..3263db1fb28bff77769e7b782dbe24850c10ed2c 100644
|
| --- a/base/mac/mac_util.mm
|
| +++ b/base/mac/mac_util.mm
|
| @@ -28,17 +28,16 @@ namespace {
|
|
|
| // The current count of outstanding requests for full screen mode from browser
|
| // windows, plugins, etc.
|
| -int g_full_screen_requests[kNumFullScreenModes] = { 0, 0, 0};
|
| +int g_full_screen_requests[kNumFullScreenModes] = { 0 };
|
|
|
| -// Sets the appropriate SystemUIMode based on the current full screen requests.
|
| -// Since only one SystemUIMode can be active at a given time, full screen
|
| -// requests are ordered by priority. If there are no outstanding full screen
|
| -// requests, reverts to normal mode. If the correct SystemUIMode is already
|
| -// set, does nothing.
|
| +// Sets the appropriate application presentation option based on the current
|
| +// full screen requests. Since only one presentation option can be active at a
|
| +// given time, full screen requests are ordered by priority. If there are no
|
| +// outstanding full screen requests, reverts to normal mode. If the correct
|
| +// presentation option is already set, does nothing.
|
| void SetUIMode() {
|
| - // Get the current UI mode.
|
| - SystemUIMode current_mode;
|
| - GetSystemUIMode(¤t_mode, NULL);
|
| + NSApplicationPresentationOptions current_options =
|
| + [NSApp presentationOptions];
|
|
|
| // Determine which mode should be active, based on which requests are
|
| // currently outstanding. More permissive requests take precedence. For
|
| @@ -46,19 +45,20 @@ void SetUIMode() {
|
| // windows request |kFullScreenModeHideDock| when the fullscreen overlay is
|
| // down. Precedence goes to plugins in this case, so AutoHideAll wins over
|
| // HideDock.
|
| - SystemUIMode desired_mode = kUIModeNormal;
|
| - SystemUIOptions desired_options = 0;
|
| + NSApplicationPresentationOptions desired_options =
|
| + NSApplicationPresentationDefault;
|
| if (g_full_screen_requests[kFullScreenModeAutoHideAll] > 0) {
|
| - desired_mode = kUIModeAllHidden;
|
| - desired_options = kUIOptionAutoShowMenuBar;
|
| + desired_options = NSApplicationPresentationHideDock |
|
| + NSApplicationPresentationAutoHideMenuBar;
|
| } else if (g_full_screen_requests[kFullScreenModeHideDock] > 0) {
|
| - desired_mode = kUIModeContentHidden;
|
| + desired_options = NSApplicationPresentationHideDock;
|
| } else if (g_full_screen_requests[kFullScreenModeHideAll] > 0) {
|
| - desired_mode = kUIModeAllHidden;
|
| + desired_options = NSApplicationPresentationHideDock |
|
| + NSApplicationPresentationHideMenuBar;
|
| }
|
|
|
| - if (current_mode != desired_mode)
|
| - SetSystemUIMode(desired_mode, desired_options);
|
| + if (current_options != desired_options)
|
| + [NSApp setPresentationOptions:desired_options];
|
| }
|
|
|
| // Looks into Shared File Lists corresponding to Login Items for the item
|
|
|