- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / policy / preferences_mock_mac.cc
1 // Copyright (c) 2010 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 #include "chrome/browser/policy/preferences_mock_mac.h"
6
7 MockPreferences::MockPreferences() {
8   values_.reset(CFDictionaryCreateMutable(kCFAllocatorDefault,
9                                           0,
10                                           &kCFTypeDictionaryKeyCallBacks,
11                                           &kCFTypeDictionaryValueCallBacks));
12   forced_.reset(CFSetCreateMutable(kCFAllocatorDefault,
13                                    0,
14                                    &kCFTypeSetCallBacks));
15 }
16
17 MockPreferences::~MockPreferences() {
18 }
19
20 Boolean MockPreferences::AppSynchronize(CFStringRef applicationID) {
21   return true;
22 }
23
24 CFPropertyListRef MockPreferences::CopyAppValue(CFStringRef key,
25                                                 CFStringRef applicationID) {
26   CFPropertyListRef value;
27   Boolean found = CFDictionaryGetValueIfPresent(values_,
28                                                 key,
29                                                 &value);
30   if (!found || !value)
31     return NULL;
32   CFRetain(value);
33   return value;
34 }
35
36 Boolean MockPreferences::AppValueIsForced(CFStringRef key,
37                                           CFStringRef applicationID) {
38   return CFSetContainsValue(forced_, key);
39 }
40
41 void MockPreferences::AddTestItem(CFStringRef key,
42                                   CFPropertyListRef value,
43                                   bool is_forced) {
44   CFDictionarySetValue(values_, key, value);
45   if (is_forced)
46     CFSetAddValue(forced_, key);
47 }