diff options
author | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-14 20:05:21 +0000 |
---|---|---|
committer | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-14 20:05:21 +0000 |
commit | 4cd7adb2f69afcebd5690b10d24cd13f5c05f095 (patch) | |
tree | b563fafc38aed7c76795ff568d035dc7b011e361 | |
parent | e63783695ea1efc9789883c132b7cfb56c26454c (diff) | |
download | chromium_src-4cd7adb2f69afcebd5690b10d24cd13f5c05f095.zip chromium_src-4cd7adb2f69afcebd5690b10d24cd13f5c05f095.tar.gz chromium_src-4cd7adb2f69afcebd5690b10d24cd13f5c05f095.tar.bz2 |
Policy provider for the Mac.
BUG=http://crbug.com/7147
TEST=unit tested; not integrated yet
Review URL: http://codereview.chromium.org/2605002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49715 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/configuration_policy_provider_mac.cc | 78 | ||||
-rw-r--r-- | chrome/browser/configuration_policy_provider_mac.h | 30 | ||||
-rw-r--r-- | chrome/browser/configuration_policy_provider_mac_unittest.cc | 142 | ||||
-rw-r--r--[-rwxr-xr-x] | chrome/browser/configuration_policy_provider_win.cc | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | chrome/browser/configuration_policy_provider_win.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | chrome/browser/configuration_policy_provider_win_unittest.cc | 28 | ||||
-rw-r--r-- | chrome/browser/preferences_mac.cc | 15 | ||||
-rw-r--r-- | chrome/browser/preferences_mac.h | 32 | ||||
-rw-r--r-- | chrome/browser/preferences_mock_mac.cc | 45 | ||||
-rw-r--r-- | chrome/browser/preferences_mock_mac.h | 30 | ||||
-rwxr-xr-x | chrome/chrome_browser.gypi | 9 | ||||
-rwxr-xr-x | chrome/chrome_tests.gypi | 3 |
12 files changed, 392 insertions, 20 deletions
diff --git a/chrome/browser/configuration_policy_provider_mac.cc b/chrome/browser/configuration_policy_provider_mac.cc new file mode 100644 index 0000000..c1a9c2c --- /dev/null +++ b/chrome/browser/configuration_policy_provider_mac.cc @@ -0,0 +1,78 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/configuration_policy_provider_mac.h" + +#include "base/logging.h" +#include "base/scoped_cftyperef.h" +#include "base/sys_string_conversions.h" + +ConfigurationPolicyProviderMac::ConfigurationPolicyProviderMac() + : preferences_(new MacPreferences()) { +} + +ConfigurationPolicyProviderMac::ConfigurationPolicyProviderMac( + MacPreferences* preferences) : preferences_(preferences) { +} + +bool ConfigurationPolicyProviderMac::Provide(ConfigurationPolicyStore* store) { + bool success = true; + const PolicyValueMap* mapping = PolicyValueMapping(); + + for (PolicyValueMap::const_iterator current = mapping->begin(); + current != mapping->end(); ++current) { + scoped_cftyperef<CFStringRef> name( + base::SysUTF8ToCFStringRef(current->name)); + scoped_cftyperef<CFPropertyListRef> value( + preferences_->CopyAppValue(name, kCFPreferencesCurrentApplication)); + if (!value.get()) + continue; + if (!preferences_->AppValueIsForced(name, kCFPreferencesCurrentApplication)) + continue; + + switch (current->value_type) { + case Value::TYPE_STRING: + if (CFGetTypeID(value) == CFStringGetTypeID()) { + std::string string_value = + base::SysCFStringRefToUTF8((CFStringRef)value.get()); + store->Apply( + current->policy_type, + Value::CreateStringValue(string_value)); + } else { + success = false; + } + break; + case Value::TYPE_BOOLEAN: + if (CFGetTypeID(value) == CFBooleanGetTypeID()) { + bool bool_value = CFBooleanGetValue((CFBooleanRef)value.get()); + store->Apply(current->policy_type, + Value::CreateBooleanValue(bool_value)); + } else { + success = false; + } + break; + case Value::TYPE_INTEGER: + if (CFGetTypeID(value) == CFNumberGetTypeID()) { + int int_value; + bool cast = CFNumberGetValue((CFNumberRef)value.get(), + kCFNumberIntType, + &int_value); + if (cast) + store->Apply(current->policy_type, + Value::CreateIntegerValue(int_value)); + else + success = false; + } else { + success = false; + } + break; + default: + NOTREACHED(); + return false; + } + } + + return success; +} + diff --git a/chrome/browser/configuration_policy_provider_mac.h b/chrome/browser/configuration_policy_provider_mac.h new file mode 100644 index 0000000..1cb67a1 --- /dev/null +++ b/chrome/browser/configuration_policy_provider_mac.h @@ -0,0 +1,30 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_CONFIGURATION_POLICY_PROVIDER_MAC_H_ +#define CHROME_BROWSER_CONFIGURATION_POLICY_PROVIDER_MAC_H_ + +#include "base/scoped_ptr.h" +#include "chrome/browser/configuration_policy_store.h" +#include "chrome/browser/configuration_policy_provider.h" +#include "chrome/browser/preferences_mac.h" + +// An implementation of |ConfigurationPolicyProvider| using the mechanism +// provided by Mac OS X's managed preferences. +class ConfigurationPolicyProviderMac : public ConfigurationPolicyProvider { + public: + ConfigurationPolicyProviderMac(); + // For testing; takes ownership of |preferences|. + explicit ConfigurationPolicyProviderMac(MacPreferences* preferences); + virtual ~ConfigurationPolicyProviderMac() { } + + // ConfigurationPolicyProvider method overrides: + virtual bool Provide(ConfigurationPolicyStore* store); + + protected: + scoped_ptr<MacPreferences> preferences_; +}; + +#endif // CHROME_BROWSER_CONFIGURATION_POLICY_PROVIDER_MAC_H_ + diff --git a/chrome/browser/configuration_policy_provider_mac_unittest.cc b/chrome/browser/configuration_policy_provider_mac_unittest.cc new file mode 100644 index 0000000..d237891 --- /dev/null +++ b/chrome/browser/configuration_policy_provider_mac_unittest.cc @@ -0,0 +1,142 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include <gtest/gtest.h> + +#include "base/stl_util-inl.h" +#include "base/sys_string_conversions.h" +#include "chrome/browser/configuration_policy_provider_mac.h" +#include "chrome/browser/mock_configuration_policy_store.h" +#include "chrome/browser/preferences_mock_mac.h" + +// A subclass of |ConfigurationPolicyProviderMac| providing access to various +// internal things without an orgy of FRIEND_TESTS. +class TestConfigurationPolicyProviderMac + : public ConfigurationPolicyProviderMac { + public: + TestConfigurationPolicyProviderMac() : + ConfigurationPolicyProviderMac(new MockPreferences()) { } + virtual ~TestConfigurationPolicyProviderMac() { } + + void AddTestItem(ConfigurationPolicyStore::PolicyType policy, + CFPropertyListRef value, + bool is_forced); + + typedef std::vector<PolicyValueMapEntry> PolicyValueMap; + static const PolicyValueMap* PolicyValueMapping() { + return ConfigurationPolicyProvider::PolicyValueMapping(); + } +}; + +void TestConfigurationPolicyProviderMac::AddTestItem( + ConfigurationPolicyStore::PolicyType policy, + CFPropertyListRef value, + bool is_forced) { + const PolicyValueMap* mapping = PolicyValueMapping(); + for (PolicyValueMap::const_iterator current = mapping->begin(); + current != mapping->end(); ++current) { + if (current->policy_type == policy) { + scoped_cftyperef<CFStringRef> name( + base::SysUTF8ToCFStringRef(current->name)); + static_cast<MockPreferences*>(preferences_.get())-> + AddTestItem(name, value, is_forced); + } + } +} + +TEST(ConfigurationPolicyProviderMacTest, TestPolicyDefault) { + MockConfigurationPolicyStore store; + TestConfigurationPolicyProviderMac provider; + + provider.Provide(&store); + + const MockConfigurationPolicyStore::PolicyMap& map(store.policy_map()); + EXPECT_FALSE(ContainsKey(map, ConfigurationPolicyStore::kPolicyHomePage)); +} + +TEST(ConfigurationPolicyProviderMacTest, TestHomePagePolicy) { + MockConfigurationPolicyStore store; + TestConfigurationPolicyProviderMac provider; + provider.AddTestItem(ConfigurationPolicyStore::kPolicyHomePage, + CFSTR("http://chromium.org"), + true); + + provider.Provide(&store); + + const MockConfigurationPolicyStore::PolicyMap& map(store.policy_map()); + MockConfigurationPolicyStore::PolicyMap::const_iterator i = + map.find(ConfigurationPolicyStore::kPolicyHomePage); + ASSERT_TRUE(i != map.end()); + std::string value; + i->second->GetAsString(&value); + EXPECT_EQ("http://chromium.org", value); +} + +TEST(ConfigurationPolicyProviderMacTest, TestHomePagePolicyUnforced) { + MockConfigurationPolicyStore store; + TestConfigurationPolicyProviderMac provider; + provider.AddTestItem(ConfigurationPolicyStore::kPolicyHomePage, + CFSTR("http://chromium.org"), + false); + + provider.Provide(&store); + + const MockConfigurationPolicyStore::PolicyMap& map(store.policy_map()); + EXPECT_FALSE(ContainsKey(map, ConfigurationPolicyStore::kPolicyHomePage)); +} + +TEST(ConfigurationPolicyProviderMacTest, TestHomePagePolicyWrongType) { + MockConfigurationPolicyStore store; + TestConfigurationPolicyProviderMac provider; + provider.AddTestItem(ConfigurationPolicyStore::kPolicyHomePage, + kCFBooleanTrue, + true); + + provider.Provide(&store); + + const MockConfigurationPolicyStore::PolicyMap& map(store.policy_map()); + EXPECT_FALSE(ContainsKey(map, ConfigurationPolicyStore::kPolicyHomePage)); +} + +TEST(ConfigurationPolicyProviderMacTest, TestHomepageIsNewTabPagePolicy) { + MockConfigurationPolicyStore store; + TestConfigurationPolicyProviderMac provider; + provider.AddTestItem(ConfigurationPolicyStore::kPolicyHomepageIsNewTabPage, + kCFBooleanTrue, + true); + + provider.Provide(&store); + + const MockConfigurationPolicyStore::PolicyMap& map(store.policy_map()); + MockConfigurationPolicyStore::PolicyMap::const_iterator i = + map.find(ConfigurationPolicyStore::kPolicyHomepageIsNewTabPage); + ASSERT_TRUE(i != map.end()); + bool value = false; + i->second->GetAsBoolean(&value); + EXPECT_EQ(true, value); +} + +TEST(ConfigurationPolicyProviderMacTest, TestCookiesModePolicy) { + MockConfigurationPolicyStore store; + TestConfigurationPolicyProviderMac provider; + int test_value = 2; + scoped_cftyperef<CFNumberRef> test_number( + CFNumberCreate(kCFAllocatorDefault, + kCFNumberIntType, + &test_value)); + provider.AddTestItem(ConfigurationPolicyStore::kPolicyCookiesMode, + test_number, + true); + + provider.Provide(&store); + + const MockConfigurationPolicyStore::PolicyMap& map(store.policy_map()); + MockConfigurationPolicyStore::PolicyMap::const_iterator i = + map.find(ConfigurationPolicyStore::kPolicyCookiesMode); + ASSERT_TRUE(i != map.end()); + int value = 0; + i->second->GetAsInteger(&value); + EXPECT_EQ(2, value); +} + diff --git a/chrome/browser/configuration_policy_provider_win.cc b/chrome/browser/configuration_policy_provider_win.cc index 420ff36..420ff36 100755..100644 --- a/chrome/browser/configuration_policy_provider_win.cc +++ b/chrome/browser/configuration_policy_provider_win.cc diff --git a/chrome/browser/configuration_policy_provider_win.h b/chrome/browser/configuration_policy_provider_win.h index f5c5eee..f5c5eee 100755..100644 --- a/chrome/browser/configuration_policy_provider_win.h +++ b/chrome/browser/configuration_policy_provider_win.h diff --git a/chrome/browser/configuration_policy_provider_win_unittest.cc b/chrome/browser/configuration_policy_provider_win_unittest.cc index 1451ede..cf3bc68 100755..100644 --- a/chrome/browser/configuration_policy_provider_win_unittest.cc +++ b/chrome/browser/configuration_policy_provider_win_unittest.cc @@ -9,6 +9,7 @@ #include "base/logging.h" #include "base/registry.h" #include "base/scoped_ptr.h" +#include "base/stl_util-inl.h" #include "base/string_piece.h" #include "base/utf_string_conversions.h" #include "chrome/browser/configuration_policy_provider_win.h" @@ -189,9 +190,7 @@ void ConfigurationPolicyProviderWinTest::TestBooleanPolicyDefault( provider.Provide(&store); const MockConfigurationPolicyStore::PolicyMap& map(store.policy_map()); - MockConfigurationPolicyStore::PolicyMap::const_iterator i = - map.find(type); - EXPECT_TRUE(i == map.end()); + EXPECT_FALSE(ContainsKey(map, type)); } void ConfigurationPolicyProviderWinTest::TestBooleanPolicyHKLM( @@ -203,7 +202,7 @@ void ConfigurationPolicyProviderWinTest::TestBooleanPolicyHKLM( const MockConfigurationPolicyStore::PolicyMap& map(store.policy_map()); MockConfigurationPolicyStore::PolicyMap::const_iterator i = map.find(type); - EXPECT_TRUE(i != map.end()); + ASSERT_TRUE(i != map.end()); bool value = false; i->second->GetAsBoolean(&value); EXPECT_EQ(true, value); @@ -222,9 +221,7 @@ TEST_F(ConfigurationPolicyProviderWinTest, TestHomePagePolicyDefault) { provider.Provide(&store); const MockConfigurationPolicyStore::PolicyMap& map(store.policy_map()); - MockConfigurationPolicyStore::PolicyMap::const_iterator i = - map.find(ConfigurationPolicyStore::kPolicyHomePage); - EXPECT_TRUE(i == map.end()); + EXPECT_FALSE(ContainsKey(map, ConfigurationPolicyStore::kPolicyHomePage)); } TEST_F(ConfigurationPolicyProviderWinTest, TestHomePagePolicyHKCU) { @@ -238,7 +235,7 @@ TEST_F(ConfigurationPolicyProviderWinTest, TestHomePagePolicyHKCU) { const MockConfigurationPolicyStore::PolicyMap& map(store.policy_map()); MockConfigurationPolicyStore::PolicyMap::const_iterator i = map.find(ConfigurationPolicyStore::kPolicyHomePage); - EXPECT_TRUE(i != map.end()); + ASSERT_TRUE(i != map.end()); string16 value; i->second->GetAsString(&value); EXPECT_EQ(L"http://chromium.org", value); @@ -252,9 +249,7 @@ TEST_F(ConfigurationPolicyProviderWinTest, TestHomePagePolicyHKCUWrongType) { provider.Provide(&store); const MockConfigurationPolicyStore::PolicyMap& map(store.policy_map()); - MockConfigurationPolicyStore::PolicyMap::const_iterator i = - map.find(ConfigurationPolicyStore::kPolicyHomePage); - EXPECT_TRUE(i == map.end()); + EXPECT_FALSE(ContainsKey(map, ConfigurationPolicyStore::kPolicyHomePage)); } TEST_F(ConfigurationPolicyProviderWinTest, TestHomePagePolicyHKLM) { @@ -268,7 +263,7 @@ TEST_F(ConfigurationPolicyProviderWinTest, TestHomePagePolicyHKLM) { const MockConfigurationPolicyStore::PolicyMap& map(store.policy_map()); MockConfigurationPolicyStore::PolicyMap::const_iterator i = map.find(ConfigurationPolicyStore::kPolicyHomePage); - EXPECT_TRUE(i != map.end()); + ASSERT_TRUE(i != map.end()); string16 value; i->second->GetAsString(&value); EXPECT_EQ(L"http://chromium.org", value); @@ -287,7 +282,7 @@ TEST_F(ConfigurationPolicyProviderWinTest, TestHomePagePolicyHKLMOverHKCU) { const MockConfigurationPolicyStore::PolicyMap& map(store.policy_map()); MockConfigurationPolicyStore::PolicyMap::const_iterator i = map.find(ConfigurationPolicyStore::kPolicyHomePage); - EXPECT_TRUE(i != map.end()); + ASSERT_TRUE(i != map.end()); string16 value; i->second->GetAsString(&value); EXPECT_EQ(L"http://crbug.com", value); @@ -332,9 +327,8 @@ TEST_F(ConfigurationPolicyProviderWinTest, provider.Provide(&store); const MockConfigurationPolicyStore::PolicyMap& map(store.policy_map()); - MockConfigurationPolicyStore::PolicyMap::const_iterator i = - map.find(ConfigurationPolicyStore::kPolicyCookiesMode); - EXPECT_TRUE(i == map.end()); + EXPECT_FALSE(ContainsKey(map, + ConfigurationPolicyStore::kPolicyCookiesMode)); } TEST_F(ConfigurationPolicyProviderWinTest, @@ -348,7 +342,7 @@ TEST_F(ConfigurationPolicyProviderWinTest, const MockConfigurationPolicyStore::PolicyMap& map(store.policy_map()); MockConfigurationPolicyStore::PolicyMap::const_iterator i = map.find(ConfigurationPolicyStore::kPolicyCookiesMode); - EXPECT_TRUE(i != map.end()); + ASSERT_TRUE(i != map.end()); int value = 0; i->second->GetAsInteger(&value); EXPECT_EQ(2, value); diff --git a/chrome/browser/preferences_mac.cc b/chrome/browser/preferences_mac.cc new file mode 100644 index 0000000..f1430f7 --- /dev/null +++ b/chrome/browser/preferences_mac.cc @@ -0,0 +1,15 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/preferences_mac.h" + +CFPropertyListRef MacPreferences::CopyAppValue(CFStringRef key, + CFStringRef applicationID) { + return CFPreferencesCopyAppValue(key, applicationID); +} + +Boolean MacPreferences::AppValueIsForced(CFStringRef key, + CFStringRef applicationID) { + return CFPreferencesAppValueIsForced(key, applicationID); +} diff --git a/chrome/browser/preferences_mac.h b/chrome/browser/preferences_mac.h new file mode 100644 index 0000000..8c70ea1 --- /dev/null +++ b/chrome/browser/preferences_mac.h @@ -0,0 +1,32 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_PREFERENCES_MAC_H_ +#define CHROME_BROWSER_PREFERENCES_MAC_H_ + +#include <CoreFoundation/CoreFoundation.h> + +#include "base/basictypes.h" + +// Wraps a small part of the CFPreferences API surface in a very thin layer, to +// allow it to be mocked out for testing. + +// See CFPreferences documentation for function documentation, as these call +// through directly to their CFPreferences equivalents (Foo -> +// CFPreferencesFoo). +class MacPreferences { + public: + MacPreferences() {} + virtual ~MacPreferences() {} + + virtual CFPropertyListRef CopyAppValue(CFStringRef key, + CFStringRef applicationID); + + virtual Boolean AppValueIsForced(CFStringRef key, CFStringRef applicationID); + + private: + DISALLOW_COPY_AND_ASSIGN(MacPreferences); +}; + +#endif // CHROME_BROWSER_PREFERENCES_MAC_H_ diff --git a/chrome/browser/preferences_mock_mac.cc b/chrome/browser/preferences_mock_mac.cc new file mode 100644 index 0000000..aa32a93 --- /dev/null +++ b/chrome/browser/preferences_mock_mac.cc @@ -0,0 +1,45 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/preferences_mock_mac.h" + +MockPreferences::MockPreferences() { + values_.reset(CFDictionaryCreateMutable(kCFAllocatorDefault, + 0, + &kCFTypeDictionaryKeyCallBacks, + &kCFTypeDictionaryValueCallBacks)); + forced_.reset(CFSetCreateMutable(kCFAllocatorDefault, + 0, + &kCFTypeSetCallBacks)); +} + +MockPreferences::~MockPreferences() { +} + + +CFPropertyListRef MockPreferences::CopyAppValue(CFStringRef key, + CFStringRef applicationID) { + CFPropertyListRef value; + Boolean found = CFDictionaryGetValueIfPresent(values_, + key, + &value); + if (!found || !value) + return NULL; + CFRetain(value); + return value; +} + +Boolean MockPreferences::AppValueIsForced(CFStringRef key, + CFStringRef applicationID) { + return CFSetContainsValue(forced_, key); +} + +void MockPreferences::AddTestItem(CFStringRef key, + CFPropertyListRef value, + bool is_forced) { + CFDictionarySetValue(values_, key, value); + if (is_forced) + CFSetAddValue(forced_, key); +} + diff --git a/chrome/browser/preferences_mock_mac.h b/chrome/browser/preferences_mock_mac.h new file mode 100644 index 0000000..6735ad1 --- /dev/null +++ b/chrome/browser/preferences_mock_mac.h @@ -0,0 +1,30 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_PREFERENCES_MOCK_MAC_H_ +#define CHROME_BROWSER_PREFERENCES_MOCK_MAC_H_ + +#include "base/scoped_cftyperef.h" +#include "chrome/browser/preferences_mac.h" + +// Mock preferences wrapper for testing code that interacts with CFPreferences. +class MockPreferences : public MacPreferences { + public: + MockPreferences(); + virtual ~MockPreferences(); + + virtual CFPropertyListRef CopyAppValue(CFStringRef key, + CFStringRef applicationID); + + virtual Boolean AppValueIsForced(CFStringRef key, CFStringRef applicationID); + + // Adds a preference item with the given info to the test set. + void AddTestItem(CFStringRef key, CFPropertyListRef value, bool is_forced); + + private: + scoped_cftyperef<CFMutableDictionaryRef> values_; + scoped_cftyperef<CFMutableSetRef> forced_; +}; + +#endif // CHROME_BROWSER_PREFERENCES_MOCK_MAC_H_ diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index 2535b6d..cc75e14 100755 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -917,6 +917,8 @@ 'browser/configuration_policy_pref_store.h', 'browser/configuration_policy_provider.cc', 'browser/configuration_policy_provider.h', + 'browser/configuration_policy_provider_mac.cc', + 'browser/configuration_policy_provider_mac.h', 'browser/configuration_policy_provider_win.cc', 'browser/configuration_policy_provider_win.h', 'browser/cross_site_request_manager.cc', @@ -1644,8 +1646,8 @@ 'browser/load_from_memory_cache_details.h', 'browser/load_notification_details.h', 'browser/location_bar.h', - 'browser/location_bar_util.cc', - 'browser/location_bar_util.h', + 'browser/location_bar_util.cc', + 'browser/location_bar_util.h', 'browser/login_model.h', 'browser/login_prompt.cc', 'browser/login_prompt.h', @@ -1834,9 +1836,10 @@ 'browser/pref_member.h', 'browser/pref_service.cc', 'browser/pref_service.h', - 'browser/pref_store.h', 'browser/pref_value_store.cc', 'browser/pref_value_store.h', + 'browser/preferences_mac.cc', + 'browser/preferences_mac.h', 'browser/printing/print_dialog_gtk.cc', 'browser/printing/print_dialog_gtk.h', 'browser/printing/print_dialog_cloud.cc', diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi index 7786f58..ab34683 100755 --- a/chrome/chrome_tests.gypi +++ b/chrome/chrome_tests.gypi @@ -756,6 +756,7 @@ 'browser/config_dir_policy_provider_unittest.cc', 'browser/command_updater_unittest.cc', 'browser/configuration_policy_pref_store_unittest.cc', + 'browser/configuration_policy_provider_mac_unittest.cc', 'browser/configuration_policy_provider_win_unittest.cc', 'browser/cookies_tree_model_unittest.cc', 'browser/debugger/devtools_manager_unittest.cc', @@ -870,6 +871,8 @@ 'browser/password_manager/password_store_win_unittest.cc', 'browser/pref_member_unittest.cc', 'browser/pref_service_unittest.cc', + 'browser/preferences_mock_mac.cc', + 'browser/preferences_mock_mac.h', 'browser/printing/print_dialog_cloud_unittest.cc', 'browser/printing/print_job_unittest.cc', 'browser/privacy_blacklist/blacklist_interceptor_unittest.cc', |