1// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#import "chrome/browser/ui/cocoa/window_restore_utils.h"
6
7#import <Foundation/Foundation.h>
8
9#include "base/mac/mac_util.h"
10
11namespace restore_utils {
12
13bool IsWindowRestoreEnabled() {
14  if (!base::mac::IsOSLionOrLater())
15    return false;
16
17  NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
18  // The defaults must be synchronized here otherwise a stale value will be
19  // returned for an indeterminate amount of time.
20  [defaults synchronize];
21
22  // By default, the preference is not set. When it's not, the intrinsic Lion
23  // default (YES) should be returned.
24  NSDictionary* prefs = [defaults dictionaryRepresentation];
25  NSNumber* value = [prefs objectForKey:@"NSQuitAlwaysKeepsWindows"];
26  if (!value)
27    return true;
28
29  return !![value boolValue];
30}
31
32}  // namespace restore_utils
33