summaryrefslogtreecommitdiffstats
path: root/chrome/browser/policy
diff options
context:
space:
mode:
authordanno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-03 10:24:11 +0000
committerdanno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-03 10:24:11 +0000
commit12a3c0247e14ff824027318e477693e8db1bbfd9 (patch)
tree50c0f8070bdc7b4046540bbad45389a614f7ee9d /chrome/browser/policy
parenta614c8154fa773c2b55ab36df9f67c67dc09c087 (diff)
downloadchromium_src-12a3c0247e14ff824027318e477693e8db1bbfd9.zip
chromium_src-12a3c0247e14ff824027318e477693e8db1bbfd9.tar.gz
chromium_src-12a3c0247e14ff824027318e477693e8db1bbfd9.tar.bz2
C++ readability review for danno
I wrote much of the cross-platform policy-providing mechanism for Chrome. Much of the policy code is cross platform, so I would like to apply for a Linux C++ readability review. However, my submitted CLs also contain Windows-specific code, so I'm unsure if Windows readability is more appropriate. * Implementation of managed policy abstraction on top of a preference store. This is the CL that is the initial preparation for implementing platform-specific policy - http://codereview.chromium.org/1692011 * Implement core mechanism to honor Windows Group Policy on top of initial CL - http://codereview.chromium.org/2119005 * Dynamic refresh of policy without restarting Chrome including Windows-specific code - http://codereview.chromium.org/2858060 BUG=none TEST=none Review URL: http://codereview.chromium.org/3774003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64897 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/policy')
-rw-r--r--chrome/browser/policy/config_dir_policy_provider.cc1
-rw-r--r--chrome/browser/policy/config_dir_policy_provider_unittest.cc76
-rw-r--r--chrome/browser/policy/configuration_policy_pref_store.cc381
-rw-r--r--chrome/browser/policy/configuration_policy_pref_store.h42
-rw-r--r--chrome/browser/policy/configuration_policy_pref_store_unittest.cc259
-rw-r--r--chrome/browser/policy/configuration_policy_provider.h6
-rw-r--r--chrome/browser/policy/configuration_policy_provider_mac.h1
-rw-r--r--chrome/browser/policy/configuration_policy_provider_mac_unittest.cc74
-rw-r--r--chrome/browser/policy/configuration_policy_provider_win.cc14
-rw-r--r--chrome/browser/policy/configuration_policy_provider_win.h16
-rw-r--r--chrome/browser/policy/configuration_policy_provider_win_unittest.cc84
-rw-r--r--chrome/browser/policy/configuration_policy_store.h81
-rw-r--r--chrome/browser/policy/configuration_policy_store_interface.h83
-rw-r--r--chrome/browser/policy/dummy_configuration_policy_provider.h4
-rw-r--r--chrome/browser/policy/file_based_policy_provider.cc5
-rw-r--r--chrome/browser/policy/file_based_policy_provider.h4
-rw-r--r--chrome/browser/policy/file_based_policy_provider_unittest.cc2
-rw-r--r--chrome/browser/policy/mock_configuration_policy_provider.cc35
-rw-r--r--chrome/browser/policy/mock_configuration_policy_provider.h26
-rw-r--r--chrome/browser/policy/mock_configuration_policy_store.h13
20 files changed, 620 insertions, 587 deletions
diff --git a/chrome/browser/policy/config_dir_policy_provider.cc b/chrome/browser/policy/config_dir_policy_provider.cc
index 6c1a4f3..f134aeb 100644
--- a/chrome/browser/policy/config_dir_policy_provider.cc
+++ b/chrome/browser/policy/config_dir_policy_provider.cc
@@ -82,5 +82,4 @@ ConfigDirPolicyProvider::ConfigDirPolicyProvider(
new ConfigDirPolicyLoader(config_dir)) {
}
-
} // namespace policy
diff --git a/chrome/browser/policy/config_dir_policy_provider_unittest.cc b/chrome/browser/policy/config_dir_policy_provider_unittest.cc
index 655c919..25893da 100644
--- a/chrome/browser/policy/config_dir_policy_provider_unittest.cc
+++ b/chrome/browser/policy/config_dir_policy_provider_unittest.cc
@@ -32,7 +32,7 @@ class ConfigDirPolicyProviderTestBase : public BASE {
std::string data;
JSONStringValueSerializer serializer(&data);
serializer.Serialize(dict);
- FilePath file_path(test_dir().AppendASCII(file_name));
+ const FilePath file_path(test_dir().AppendASCII(file_name));
ASSERT_TRUE(file_util::WriteFile(file_path, data.c_str(), data.size()));
}
@@ -104,7 +104,7 @@ TEST_F(ConfigDirPolicyLoaderTest, ReadPrefsMergePrefs) {
class ValueTestParams {
public:
// Assumes ownership of |test_value|.
- ValueTestParams(ConfigurationPolicyStore::PolicyType type,
+ ValueTestParams(ConfigurationPolicyType type,
const char* policy_key,
Value* test_value)
: type_(type),
@@ -129,28 +129,28 @@ class ValueTestParams {
test_value_.swap(other.test_value_);
}
- ConfigurationPolicyStore::PolicyType type() const { return type_; }
+ ConfigurationPolicyType type() const { return type_; }
const char* policy_key() const { return policy_key_; }
const Value* test_value() const { return test_value_.get(); }
// Factory methods that create parameter objects for different value types.
static ValueTestParams ForStringPolicy(
- ConfigurationPolicyStore::PolicyType type,
+ ConfigurationPolicyType type,
const char* policy_key) {
return ValueTestParams(type, policy_key, Value::CreateStringValue("test"));
}
static ValueTestParams ForBooleanPolicy(
- ConfigurationPolicyStore::PolicyType type,
+ ConfigurationPolicyType type,
const char* policy_key) {
return ValueTestParams(type, policy_key, Value::CreateBooleanValue(true));
}
static ValueTestParams ForIntegerPolicy(
- ConfigurationPolicyStore::PolicyType type,
+ ConfigurationPolicyType type,
const char* policy_key) {
return ValueTestParams(type, policy_key, Value::CreateIntegerValue(42));
}
static ValueTestParams ForListPolicy(
- ConfigurationPolicyStore::PolicyType type,
+ ConfigurationPolicyType type,
const char* policy_key) {
ListValue* value = new ListValue();
value->Set(0U, Value::CreateStringValue("first"));
@@ -159,7 +159,7 @@ class ValueTestParams {
}
private:
- ConfigurationPolicyStore::PolicyType type_;
+ ConfigurationPolicyType type_;
const char* policy_key_;
scoped_ptr<Value> test_value_;
};
@@ -225,94 +225,94 @@ INSTANTIATE_TEST_CASE_P(
ConfigDirPolicyProviderValueTest,
testing::Values(
ValueTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyHomePage,
+ kPolicyHomePage,
key::kHomepageLocation),
ValueTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyHomepageIsNewTabPage,
+ kPolicyHomepageIsNewTabPage,
key::kHomepageIsNewTabPage),
ValueTestParams::ForIntegerPolicy(
- ConfigurationPolicyStore::kPolicyRestoreOnStartup,
+ kPolicyRestoreOnStartup,
key::kRestoreOnStartup),
ValueTestParams::ForListPolicy(
- ConfigurationPolicyStore::kPolicyURLsToRestoreOnStartup,
+ kPolicyURLsToRestoreOnStartup,
key::kURLsToRestoreOnStartup),
ValueTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderEnabled,
+ kPolicyDefaultSearchProviderEnabled,
key::kDefaultSearchProviderEnabled),
ValueTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderName,
+ kPolicyDefaultSearchProviderName,
key::kDefaultSearchProviderName),
ValueTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderKeyword,
+ kPolicyDefaultSearchProviderKeyword,
key::kDefaultSearchProviderKeyword),
ValueTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderSearchURL,
+ kPolicyDefaultSearchProviderSearchURL,
key::kDefaultSearchProviderSearchURL),
ValueTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderSuggestURL,
+ kPolicyDefaultSearchProviderSuggestURL,
key::kDefaultSearchProviderSuggestURL),
ValueTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderIconURL,
+ kPolicyDefaultSearchProviderIconURL,
key::kDefaultSearchProviderIconURL),
ValueTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderEncodings,
+ kPolicyDefaultSearchProviderEncodings,
key::kDefaultSearchProviderEncodings),
ValueTestParams::ForIntegerPolicy(
- ConfigurationPolicyStore::kPolicyProxyServerMode,
+ kPolicyProxyServerMode,
key::kProxyServerMode),
ValueTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyProxyServer,
+ kPolicyProxyServer,
key::kProxyServer),
ValueTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyProxyPacUrl,
+ kPolicyProxyPacUrl,
key::kProxyPacUrl),
ValueTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyProxyBypassList,
+ kPolicyProxyBypassList,
key::kProxyBypassList),
ValueTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyAlternateErrorPagesEnabled,
+ kPolicyAlternateErrorPagesEnabled,
key::kAlternateErrorPagesEnabled),
ValueTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicySearchSuggestEnabled,
+ kPolicySearchSuggestEnabled,
key::kSearchSuggestEnabled),
ValueTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyDnsPrefetchingEnabled,
+ kPolicyDnsPrefetchingEnabled,
key::kDnsPrefetchingEnabled),
ValueTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicySafeBrowsingEnabled,
+ kPolicySafeBrowsingEnabled,
key::kSafeBrowsingEnabled),
ValueTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyMetricsReportingEnabled,
+ kPolicyMetricsReportingEnabled,
key::kMetricsReportingEnabled),
ValueTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyPasswordManagerEnabled,
+ kPolicyPasswordManagerEnabled,
key::kPasswordManagerEnabled),
ValueTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyPasswordManagerAllowShowPasswords,
+ kPolicyPasswordManagerAllowShowPasswords,
key::kPasswordManagerAllowShowPasswords),
ValueTestParams::ForListPolicy(
- ConfigurationPolicyStore::kPolicyDisabledPlugins,
+ kPolicyDisabledPlugins,
key::kDisabledPlugins),
ValueTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyAutoFillEnabled,
+ kPolicyAutoFillEnabled,
key::kAutoFillEnabled),
ValueTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyApplicationLocale,
+ kPolicyApplicationLocale,
key::kApplicationLocaleValue),
ValueTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicySyncDisabled,
+ kPolicySyncDisabled,
key::kSyncDisabled),
ValueTestParams::ForListPolicy(
- ConfigurationPolicyStore::kPolicyExtensionInstallAllowList,
+ kPolicyExtensionInstallAllowList,
key::kExtensionInstallAllowList),
ValueTestParams::ForListPolicy(
- ConfigurationPolicyStore::kPolicyExtensionInstallDenyList,
+ kPolicyExtensionInstallDenyList,
key::kExtensionInstallDenyList),
ValueTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyShowHomeButton,
+ kPolicyShowHomeButton,
key::kShowHomeButton),
ValueTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyPrintingEnabled,
+ kPolicyPrintingEnabled,
key::kPrintingEnabled)));
} // namespace policy
diff --git a/chrome/browser/policy/configuration_policy_pref_store.cc b/chrome/browser/policy/configuration_policy_pref_store.cc
index 8a72ff6..6691604 100644
--- a/chrome/browser/policy/configuration_policy_pref_store.cc
+++ b/chrome/browser/policy/configuration_policy_pref_store.cc
@@ -35,8 +35,7 @@ class ConfigurationPolicyProviderKeeper {
public:
ConfigurationPolicyProviderKeeper()
: managed_provider_(CreateManagedProvider()),
- recommended_provider_(CreateRecommendedProvider()) {
- }
+ recommended_provider_(CreateRecommendedProvider()) {}
virtual ~ConfigurationPolicyProviderKeeper() {}
ConfigurationPolicyProvider* managed_provider() const {
@@ -51,117 +50,125 @@ class ConfigurationPolicyProviderKeeper {
scoped_ptr<ConfigurationPolicyProvider> managed_provider_;
scoped_ptr<ConfigurationPolicyProvider> recommended_provider_;
- static ConfigurationPolicyProvider* CreateManagedProvider() {
- const ConfigurationPolicyProvider::PolicyDefinitionList* policy_list =
- ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList();
+ static ConfigurationPolicyProvider* CreateManagedProvider();
+ static ConfigurationPolicyProvider* CreateRecommendedProvider();
+
+ DISALLOW_COPY_AND_ASSIGN(ConfigurationPolicyProviderKeeper);
+};
+
+
+ConfigurationPolicyProvider*
+ ConfigurationPolicyProviderKeeper::CreateManagedProvider() {
+ const ConfigurationPolicyProvider::PolicyDefinitionList* policy_list =
+ ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList();
#if defined(OS_WIN)
- return new ConfigurationPolicyProviderWin(policy_list);
+ return new ConfigurationPolicyProviderWin(policy_list);
#elif defined(OS_MACOSX)
- return new ConfigurationPolicyProviderMac(policy_list);
+ return new ConfigurationPolicyProviderMac(policy_list);
#elif defined(OS_POSIX)
- FilePath config_dir_path;
- if (PathService::Get(chrome::DIR_POLICY_FILES, &config_dir_path)) {
- return new ConfigDirPolicyProvider(policy_list,
- config_dir_path.Append(FILE_PATH_LITERAL("managed")));
- } else {
- return new DummyConfigurationPolicyProvider(policy_list);
- }
-#else
+ FilePath config_dir_path;
+ if (PathService::Get(chrome::DIR_POLICY_FILES, &config_dir_path)) {
+ return new ConfigDirPolicyProvider(
+ policy_list,
+ config_dir_path.Append(FILE_PATH_LITERAL("managed")));
+ } else {
return new DummyConfigurationPolicyProvider(policy_list);
-#endif
}
+#else
+ return new DummyConfigurationPolicyProvider(policy_list);
+#endif
+}
- static ConfigurationPolicyProvider* CreateRecommendedProvider() {
- const ConfigurationPolicyProvider::PolicyDefinitionList* policy_list =
- ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList();
+ConfigurationPolicyProvider*
+ ConfigurationPolicyProviderKeeper::CreateRecommendedProvider() {
+ const ConfigurationPolicyProvider::PolicyDefinitionList* policy_list =
+ ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList();
#if defined(OS_POSIX) && !defined(OS_MACOSX)
- FilePath config_dir_path;
- if (PathService::Get(chrome::DIR_POLICY_FILES, &config_dir_path)) {
- return new ConfigDirPolicyProvider(policy_list,
- config_dir_path.Append(FILE_PATH_LITERAL("recommended")));
- } else {
- return new DummyConfigurationPolicyProvider(policy_list);
- }
-#else
+ FilePath config_dir_path;
+ if (PathService::Get(chrome::DIR_POLICY_FILES, &config_dir_path)) {
+ return new ConfigDirPolicyProvider(
+ policy_list,
+ config_dir_path.Append(FILE_PATH_LITERAL("recommended")));
+ } else {
return new DummyConfigurationPolicyProvider(policy_list);
-#endif
}
-
- DISALLOW_COPY_AND_ASSIGN(ConfigurationPolicyProviderKeeper);
-};
+#else
+ return new DummyConfigurationPolicyProvider(policy_list);
+#endif
+}
const ConfigurationPolicyPrefStore::PolicyToPreferenceMapEntry
- ConfigurationPolicyPrefStore::simple_policy_map_[] = {
+ ConfigurationPolicyPrefStore::kSimplePolicyMap[] = {
{ Value::TYPE_STRING, kPolicyHomePage, prefs::kHomePage },
{ Value::TYPE_BOOLEAN, kPolicyHomepageIsNewTabPage,
- prefs::kHomePageIsNewTabPage },
+ prefs::kHomePageIsNewTabPage },
{ Value::TYPE_INTEGER, kPolicyRestoreOnStartup,
- prefs::kRestoreOnStartup},
+ prefs::kRestoreOnStartup},
{ Value::TYPE_LIST, kPolicyURLsToRestoreOnStartup,
- prefs::kURLsToRestoreOnStartup },
+ prefs::kURLsToRestoreOnStartup },
{ Value::TYPE_BOOLEAN, kPolicyAlternateErrorPagesEnabled,
- prefs::kAlternateErrorPagesEnabled },
+ prefs::kAlternateErrorPagesEnabled },
{ Value::TYPE_BOOLEAN, kPolicySearchSuggestEnabled,
- prefs::kSearchSuggestEnabled },
+ prefs::kSearchSuggestEnabled },
{ Value::TYPE_BOOLEAN, kPolicyDnsPrefetchingEnabled,
- prefs::kDnsPrefetchingEnabled },
+ prefs::kDnsPrefetchingEnabled },
{ Value::TYPE_BOOLEAN, kPolicyDisableSpdy,
- prefs::kDisableSpdy },
+ prefs::kDisableSpdy },
{ Value::TYPE_BOOLEAN, kPolicySafeBrowsingEnabled,
- prefs::kSafeBrowsingEnabled },
+ prefs::kSafeBrowsingEnabled },
{ Value::TYPE_BOOLEAN, kPolicyPasswordManagerEnabled,
- prefs::kPasswordManagerEnabled },
+ prefs::kPasswordManagerEnabled },
{ Value::TYPE_BOOLEAN, kPolicyPasswordManagerAllowShowPasswords,
- prefs::kPasswordManagerAllowShowPasswords },
+ prefs::kPasswordManagerAllowShowPasswords },
{ Value::TYPE_BOOLEAN, kPolicyPrintingEnabled,
- prefs::kPrintingEnabled },
+ prefs::kPrintingEnabled },
{ Value::TYPE_BOOLEAN, kPolicyMetricsReportingEnabled,
- prefs::kMetricsReportingEnabled },
+ prefs::kMetricsReportingEnabled },
{ Value::TYPE_STRING, kPolicyApplicationLocale,
- prefs::kApplicationLocale},
+ prefs::kApplicationLocale},
{ Value::TYPE_LIST, kPolicyExtensionInstallAllowList,
- prefs::kExtensionInstallAllowList},
+ prefs::kExtensionInstallAllowList},
{ Value::TYPE_LIST, kPolicyExtensionInstallDenyList,
- prefs::kExtensionInstallDenyList},
+ prefs::kExtensionInstallDenyList},
{ Value::TYPE_LIST, kPolicyDisabledPlugins,
- prefs::kPluginsPluginsBlacklist},
+ prefs::kPluginsPluginsBlacklist},
{ Value::TYPE_BOOLEAN, kPolicyShowHomeButton,
- prefs::kShowHomeButton },
+ prefs::kShowHomeButton },
{ Value::TYPE_BOOLEAN, kPolicyJavascriptEnabled,
- prefs::kWebKitJavascriptEnabled },
+ prefs::kWebKitJavascriptEnabled },
{ Value::TYPE_BOOLEAN, kPolicySavingBrowserHistoryDisabled,
- prefs::kSavingBrowserHistoryDisabled },
+ prefs::kSavingBrowserHistoryDisabled },
{ Value::TYPE_BOOLEAN, kPolicyDeveloperToolsDisabled,
- prefs::kDevToolsDisabled },
+ prefs::kDevToolsDisabled },
{ Value::TYPE_BOOLEAN, kPolicyBlockThirdPartyCookies,
- prefs::kBlockThirdPartyCookies},
+ prefs::kBlockThirdPartyCookies},
#if defined(OS_CHROMEOS)
{ Value::TYPE_BOOLEAN, kPolicyChromeOsLockOnIdleSuspend,
- prefs::kEnableScreenLock },
+ prefs::kEnableScreenLock },
#endif
};
const ConfigurationPolicyPrefStore::PolicyToPreferenceMapEntry
- ConfigurationPolicyPrefStore::default_search_policy_map_[] = {
+ ConfigurationPolicyPrefStore::kDefaultSearchPolicyMap[] = {
{ Value::TYPE_BOOLEAN, kPolicyDefaultSearchProviderEnabled,
- prefs::kDefaultSearchProviderEnabled },
+ prefs::kDefaultSearchProviderEnabled },
{ Value::TYPE_STRING, kPolicyDefaultSearchProviderName,
- prefs::kDefaultSearchProviderName },
+ prefs::kDefaultSearchProviderName },
{ Value::TYPE_STRING, kPolicyDefaultSearchProviderKeyword,
- prefs::kDefaultSearchProviderKeyword },
+ prefs::kDefaultSearchProviderKeyword },
{ Value::TYPE_STRING, kPolicyDefaultSearchProviderSearchURL,
- prefs::kDefaultSearchProviderSearchURL },
+ prefs::kDefaultSearchProviderSearchURL },
{ Value::TYPE_STRING, kPolicyDefaultSearchProviderSuggestURL,
- prefs::kDefaultSearchProviderSuggestURL },
+ prefs::kDefaultSearchProviderSuggestURL },
{ Value::TYPE_STRING, kPolicyDefaultSearchProviderIconURL,
- prefs::kDefaultSearchProviderIconURL },
+ prefs::kDefaultSearchProviderIconURL },
{ Value::TYPE_STRING, kPolicyDefaultSearchProviderEncodings,
- prefs::kDefaultSearchProviderEncodings },
+ prefs::kDefaultSearchProviderEncodings },
};
const ConfigurationPolicyPrefStore::PolicyToPreferenceMapEntry
- ConfigurationPolicyPrefStore::proxy_policy_map_[] = {
+ ConfigurationPolicyPrefStore::kProxyPolicyMap[] = {
{ Value::TYPE_STRING, kPolicyProxyServer, prefs::kProxyServer },
{ Value::TYPE_STRING, kPolicyProxyPacUrl, prefs::kProxyPacUrl },
{ Value::TYPE_STRING, kPolicyProxyBypassList, prefs::kProxyBypassList }
@@ -171,82 +178,69 @@ const ConfigurationPolicyPrefStore::PolicyToPreferenceMapEntry
ConfigurationPolicyProvider::PolicyDefinitionList*
ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList() {
static ConfigurationPolicyProvider::PolicyDefinitionList::Entry entries[] = {
- { ConfigurationPolicyStore::kPolicyHomePage,
- Value::TYPE_STRING, key::kHomepageLocation },
- { ConfigurationPolicyStore::kPolicyHomepageIsNewTabPage,
- Value::TYPE_BOOLEAN, key::kHomepageIsNewTabPage },
- { ConfigurationPolicyStore::kPolicyRestoreOnStartup,
- Value::TYPE_INTEGER, key::kRestoreOnStartup },
- { ConfigurationPolicyStore::kPolicyURLsToRestoreOnStartup,
- Value::TYPE_LIST, key::kURLsToRestoreOnStartup },
- { ConfigurationPolicyStore::kPolicyDefaultSearchProviderEnabled,
- Value::TYPE_BOOLEAN, key::kDefaultSearchProviderEnabled },
- { ConfigurationPolicyStore::kPolicyDefaultSearchProviderName,
- Value::TYPE_STRING, key::kDefaultSearchProviderName },
- { ConfigurationPolicyStore::kPolicyDefaultSearchProviderKeyword,
- Value::TYPE_STRING, key::kDefaultSearchProviderKeyword },
- { ConfigurationPolicyStore::kPolicyDefaultSearchProviderSearchURL,
- Value::TYPE_STRING, key::kDefaultSearchProviderSearchURL },
- { ConfigurationPolicyStore::kPolicyDefaultSearchProviderSuggestURL,
- Value::TYPE_STRING, key::kDefaultSearchProviderSuggestURL },
- { ConfigurationPolicyStore::kPolicyDefaultSearchProviderIconURL,
- Value::TYPE_STRING, key::kDefaultSearchProviderIconURL },
- { ConfigurationPolicyStore::kPolicyDefaultSearchProviderEncodings,
- Value::TYPE_STRING, key::kDefaultSearchProviderEncodings },
- { ConfigurationPolicyStore::kPolicyProxyServerMode,
- Value::TYPE_INTEGER, key::kProxyServerMode },
- { ConfigurationPolicyStore::kPolicyProxyServer,
- Value::TYPE_STRING, key::kProxyServer },
- { ConfigurationPolicyStore::kPolicyProxyPacUrl,
- Value::TYPE_STRING, key::kProxyPacUrl },
- { ConfigurationPolicyStore::kPolicyProxyBypassList,
- Value::TYPE_STRING, key::kProxyBypassList },
- { ConfigurationPolicyStore::kPolicyAlternateErrorPagesEnabled,
- Value::TYPE_BOOLEAN, key::kAlternateErrorPagesEnabled },
- { ConfigurationPolicyStore::kPolicySearchSuggestEnabled,
- Value::TYPE_BOOLEAN, key::kSearchSuggestEnabled },
- { ConfigurationPolicyStore::kPolicyDnsPrefetchingEnabled,
- Value::TYPE_BOOLEAN, key::kDnsPrefetchingEnabled },
- { ConfigurationPolicyStore::kPolicyDisableSpdy,
- Value::TYPE_BOOLEAN, key::kDisableSpdy },
- { ConfigurationPolicyStore::kPolicySafeBrowsingEnabled,
- Value::TYPE_BOOLEAN, key::kSafeBrowsingEnabled },
- { ConfigurationPolicyStore::kPolicyMetricsReportingEnabled,
- Value::TYPE_BOOLEAN, key::kMetricsReportingEnabled },
- { ConfigurationPolicyStore::kPolicyPasswordManagerEnabled,
- Value::TYPE_BOOLEAN, key::kPasswordManagerEnabled },
- { ConfigurationPolicyStore::kPolicyPasswordManagerAllowShowPasswords,
- Value::TYPE_BOOLEAN, key::kPasswordManagerAllowShowPasswords },
- { ConfigurationPolicyStore::kPolicyAutoFillEnabled,
- Value::TYPE_BOOLEAN, key::kAutoFillEnabled },
- { ConfigurationPolicyStore::kPolicyDisabledPlugins,
- Value::TYPE_LIST, key::kDisabledPlugins },
- { ConfigurationPolicyStore::kPolicyApplicationLocale,
- Value::TYPE_STRING, key::kApplicationLocaleValue },
- { ConfigurationPolicyStore::kPolicySyncDisabled,
- Value::TYPE_BOOLEAN, key::kSyncDisabled },
- { ConfigurationPolicyStore::kPolicyExtensionInstallAllowList,
- Value::TYPE_LIST, key::kExtensionInstallAllowList },
- { ConfigurationPolicyStore::kPolicyExtensionInstallDenyList,
- Value::TYPE_LIST, key::kExtensionInstallDenyList },
- { ConfigurationPolicyStore::kPolicyExtensionInstallForceList,
- Value::TYPE_LIST, key::kExtensionInstallForceList },
- { ConfigurationPolicyStore::kPolicyShowHomeButton,
- Value::TYPE_BOOLEAN, key::kShowHomeButton },
- { ConfigurationPolicyStore::kPolicyPrintingEnabled,
- Value::TYPE_BOOLEAN, key::kPrintingEnabled },
- { ConfigurationPolicyStore::kPolicyJavascriptEnabled,
- Value::TYPE_BOOLEAN, key::kJavascriptEnabled },
- { ConfigurationPolicyStore::kPolicySavingBrowserHistoryDisabled,
- Value::TYPE_BOOLEAN, key::kSavingBrowserHistoryDisabled },
- { ConfigurationPolicyStore::kPolicyDeveloperToolsDisabled,
- Value::TYPE_BOOLEAN, key::kDeveloperToolsDisabled },
- { ConfigurationPolicyStore::kPolicyBlockThirdPartyCookies,
- Value::TYPE_BOOLEAN, key::kBlockThirdPartyCookies },
+ { kPolicyHomePage, Value::TYPE_STRING, key::kHomepageLocation },
+ { kPolicyHomepageIsNewTabPage, Value::TYPE_BOOLEAN,
+ key::kHomepageIsNewTabPage },
+ { kPolicyRestoreOnStartup, Value::TYPE_INTEGER, key::kRestoreOnStartup },
+ { kPolicyURLsToRestoreOnStartup, Value::TYPE_LIST,
+ key::kURLsToRestoreOnStartup },
+ { kPolicyDefaultSearchProviderEnabled, Value::TYPE_BOOLEAN,
+ key::kDefaultSearchProviderEnabled },
+ { kPolicyDefaultSearchProviderName, Value::TYPE_STRING,
+ key::kDefaultSearchProviderName },
+ { kPolicyDefaultSearchProviderKeyword, Value::TYPE_STRING,
+ key::kDefaultSearchProviderKeyword },
+ { kPolicyDefaultSearchProviderSearchURL, Value::TYPE_STRING,
+ key::kDefaultSearchProviderSearchURL },
+ { kPolicyDefaultSearchProviderSuggestURL, Value::TYPE_STRING,
+ key::kDefaultSearchProviderSuggestURL },
+ { kPolicyDefaultSearchProviderIconURL, Value::TYPE_STRING,
+ key::kDefaultSearchProviderIconURL },
+ { kPolicyDefaultSearchProviderEncodings, Value::TYPE_STRING,
+ key::kDefaultSearchProviderEncodings },
+ { kPolicyProxyServerMode, Value::TYPE_INTEGER, key::kProxyServerMode },
+ { kPolicyProxyServer, Value::TYPE_STRING, key::kProxyServer },
+ { kPolicyProxyPacUrl, Value::TYPE_STRING, key::kProxyPacUrl },
+ { kPolicyProxyBypassList, Value::TYPE_STRING, key::kProxyBypassList },
+ { kPolicyAlternateErrorPagesEnabled, Value::TYPE_BOOLEAN,
+ key::kAlternateErrorPagesEnabled },
+ { kPolicySearchSuggestEnabled, Value::TYPE_BOOLEAN,
+ key::kSearchSuggestEnabled },
+ { kPolicyDnsPrefetchingEnabled, Value::TYPE_BOOLEAN,
+ key::kDnsPrefetchingEnabled },
+ { kPolicyDisableSpdy, Value::TYPE_BOOLEAN, key::kDisableSpdy },
+ { kPolicySafeBrowsingEnabled, Value::TYPE_BOOLEAN,
+ key::kSafeBrowsingEnabled },
+ { kPolicyMetricsReportingEnabled, Value::TYPE_BOOLEAN,
+ key::kMetricsReportingEnabled },
+ { kPolicyPasswordManagerEnabled, Value::TYPE_BOOLEAN,
+ key::kPasswordManagerEnabled },
+ { kPolicyPasswordManagerAllowShowPasswords, Value::TYPE_BOOLEAN,
+ key::kPasswordManagerAllowShowPasswords },
+ { kPolicyAutoFillEnabled, Value::TYPE_BOOLEAN, key::kAutoFillEnabled },
+ { kPolicyDisabledPlugins, Value::TYPE_LIST, key::kDisabledPlugins },
+ { kPolicyApplicationLocale, Value::TYPE_STRING,
+ key::kApplicationLocaleValue },
+ { kPolicySyncDisabled, Value::TYPE_BOOLEAN, key::kSyncDisabled },
+ { kPolicyExtensionInstallAllowList, Value::TYPE_LIST,
+ key::kExtensionInstallAllowList },
+ { kPolicyExtensionInstallDenyList, Value::TYPE_LIST,
+ key::kExtensionInstallDenyList },
+ { kPolicyExtensionInstallForceList, Value::TYPE_LIST,
+ key::kExtensionInstallForceList },
+ { kPolicyShowHomeButton, Value::TYPE_BOOLEAN, key::kShowHomeButton },
+ { kPolicyPrintingEnabled, Value::TYPE_BOOLEAN, key::kPrintingEnabled },
+ { kPolicyJavascriptEnabled, Value::TYPE_BOOLEAN, key::kJavascriptEnabled },
+ { kPolicySavingBrowserHistoryDisabled, Value::TYPE_BOOLEAN,
+ key::kSavingBrowserHistoryDisabled },
+ { kPolicyDeveloperToolsDisabled, Value::TYPE_BOOLEAN,
+ key::kDeveloperToolsDisabled },
+ { kPolicyBlockThirdPartyCookies, Value::TYPE_BOOLEAN,
+ key::kBlockThirdPartyCookies },
#if defined(OS_CHROMEOS)
- { ConfigurationPolicyStore::kPolicyChromeOsLockOnIdleSuspend,
- Value::TYPE_BOOLEAN, key::kChromeOsLockOnIdleSuspend },
+ { kPolicyChromeOsLockOnIdleSuspend, Value::TYPE_BOOLEAN,
+ key::kChromeOsLockOnIdleSuspend },
#endif
};
@@ -267,21 +261,19 @@ ConfigurationPolicyPrefStore::ConfigurationPolicyPrefStore(
use_system_proxy_(false) {
}
-ConfigurationPolicyPrefStore::~ConfigurationPolicyPrefStore() {
-}
-
PrefStore::PrefReadError ConfigurationPolicyPrefStore::ReadPrefs() {
proxy_disabled_ = false;
proxy_configuration_specified_ = false;
lower_priority_proxy_settings_overridden_ = false;
- bool success = (provider_ == NULL || provider_->Provide(this));
+ const bool success = (provider_ == NULL || provider_->Provide(this));
FinalizeDefaultSearchPolicySettings();
return success ? PrefStore::PREF_READ_ERROR_NONE :
- PrefStore::PREF_READ_ERROR_OTHER;
+ PrefStore::PREF_READ_ERROR_OTHER;
}
-void ConfigurationPolicyPrefStore::Apply(PolicyType policy, Value* value) {
+void ConfigurationPolicyPrefStore::Apply(ConfigurationPolicyType policy,
+ Value* value) {
if (ApplyProxyPolicy(policy, value))
return;
@@ -291,12 +283,12 @@ void ConfigurationPolicyPrefStore::Apply(PolicyType policy, Value* value) {
if (ApplyAutoFillPolicy(policy, value))
return;
- if (ApplyPolicyFromMap(policy, value, default_search_policy_map_,
- arraysize(default_search_policy_map_)))
+ if (ApplyPolicyFromMap(policy, value, kDefaultSearchPolicyMap,
+ arraysize(kDefaultSearchPolicyMap)))
return;
- if (ApplyPolicyFromMap(policy, value, simple_policy_map_,
- arraysize(simple_policy_map_)))
+ if (ApplyPolicyFromMap(policy, value, kSimplePolicyMap,
+ arraysize(kSimplePolicyMap)))
return;
// Other policy implementations go here.
@@ -324,16 +316,18 @@ ConfigurationPolicyPrefStore::CreateRecommendedPolicyPrefStore() {
void ConfigurationPolicyPrefStore::GetProxyPreferenceSet(
ProxyPreferenceSet* proxy_pref_set) {
proxy_pref_set->clear();
- for (size_t current = 0; current < arraysize(proxy_policy_map_); ++current) {
- proxy_pref_set->insert(proxy_policy_map_[current].preference_path);
+ for (size_t current = 0; current < arraysize(kProxyPolicyMap); ++current) {
+ proxy_pref_set->insert(kProxyPolicyMap[current].preference_path);
}
proxy_pref_set->insert(prefs::kNoProxyServer);
proxy_pref_set->insert(prefs::kProxyAutoDetect);
}
const ConfigurationPolicyPrefStore::PolicyToPreferenceMapEntry*
-ConfigurationPolicyPrefStore::FindPolicyInMap(PolicyType policy,
- const PolicyToPreferenceMapEntry* map, int table_size) {
+ConfigurationPolicyPrefStore::FindPolicyInMap(
+ ConfigurationPolicyType policy,
+ const PolicyToPreferenceMapEntry* map,
+ int table_size) const {
for (int i = 0; i < table_size; ++i) {
if (map[i].policy_type == policy)
return map + i;
@@ -343,36 +337,41 @@ ConfigurationPolicyPrefStore::FindPolicyInMap(PolicyType policy,
bool ConfigurationPolicyPrefStore::RemovePreferencesOfMap(
const PolicyToPreferenceMapEntry* map, int table_size) {
- bool found_one = false;
+ bool found_any = false;
for (int i = 0; i < table_size; ++i) {
if (prefs_->Remove(map[i].preference_path, NULL))
- found_one = true;
+ found_any = true;
}
- return found_one;
+ return found_any;
}
-bool ConfigurationPolicyPrefStore::ApplyPolicyFromMap(PolicyType policy,
- Value* value, const PolicyToPreferenceMapEntry map[], int size) {
- const PolicyToPreferenceMapEntry* end = map + size;
- for (const PolicyToPreferenceMapEntry* current = map;
- current != end; ++current) {
- if (current->policy_type == policy) {
- DCHECK(current->value_type == value->GetType());
- prefs_->Set(current->preference_path, value);
+bool ConfigurationPolicyPrefStore::ApplyPolicyFromMap(
+ ConfigurationPolicyType policy,
+ Value* value,
+ const PolicyToPreferenceMapEntry* map,
+ int size) {
+ for (int current = 0; current < size; ++current) {
+ if (map[current].policy_type == policy) {
+ DCHECK_EQ(map[current].value_type, value->GetType())
+ << "mismatch in provided and expected policy value for preferences"
+ << map[current].preference_path << ". expected = "
+ << map[current].value_type << ", actual = "<< value->GetType();
+ prefs_->Set(map[current].preference_path, value);
return true;
}
}
return false;
}
-bool ConfigurationPolicyPrefStore::ApplyProxyPolicy(PolicyType policy,
- Value* value) {
+bool ConfigurationPolicyPrefStore::ApplyProxyPolicy(
+ ConfigurationPolicyType policy,
+ Value* value) {
bool result = false;
bool warn_about_proxy_disable_config = false;
bool warn_about_proxy_system_config = false;
const PolicyToPreferenceMapEntry* match_entry =
- FindPolicyInMap(policy, proxy_policy_map_, arraysize(proxy_policy_map_));
+ FindPolicyInMap(policy, kProxyPolicyMap, arraysize(kProxyPolicyMap));
// When the first proxy-related policy is applied, ALL proxy-related
// preferences that have been set by command-line switches, extensions,
@@ -383,7 +382,7 @@ bool ConfigurationPolicyPrefStore::ApplyProxyPolicy(PolicyType policy,
// policy.
if (!lower_priority_proxy_settings_overridden_ &&
(match_entry ||
- policy == ConfigurationPolicyPrefStore::kPolicyProxyServerMode)) {
+ policy == kPolicyProxyServerMode)) {
ProxyPreferenceSet proxy_preference_set;
GetProxyPreferenceSet(&proxy_preference_set);
for (ProxyPreferenceSet::const_iterator i = proxy_preference_set.begin();
@@ -394,25 +393,25 @@ bool ConfigurationPolicyPrefStore::ApplyProxyPolicy(PolicyType policy,
}
// Translate the proxy policy into preferences.
- if (policy == ConfigurationPolicyStore::kPolicyProxyServerMode) {
+ if (policy == kPolicyProxyServerMode) {
int int_value;
bool proxy_auto_detect = false;
if (value->GetAsInteger(&int_value)) {
result = true;
switch (int_value) {
- case ConfigurationPolicyStore::kPolicyNoProxyServerMode:
+ case kPolicyNoProxyServerMode:
if (!proxy_disabled_) {
if (proxy_configuration_specified_)
warn_about_proxy_disable_config = true;
proxy_disabled_ = true;
}
break;
- case ConfigurationPolicyStore::kPolicyAutoDetectProxyMode:
+ case kPolicyAutoDetectProxyMode:
proxy_auto_detect = true;
break;
- case ConfigurationPolicyStore::kPolicyManuallyConfiguredProxyMode:
+ case kPolicyManuallyConfiguredProxyMode:
break;
- case ConfigurationPolicyStore::kPolicyUseSystemProxyMode:
+ case kPolicyUseSystemProxyMode:
if (!use_system_proxy_) {
if (proxy_configuration_specified_)
warn_about_proxy_system_config = true;
@@ -469,9 +468,9 @@ bool ConfigurationPolicyPrefStore::ApplyProxyPolicy(PolicyType policy,
return result;
}
-bool ConfigurationPolicyPrefStore::ApplySyncPolicy(PolicyType policy,
- Value* value) {
- if (policy == ConfigurationPolicyStore::kPolicySyncDisabled) {
+bool ConfigurationPolicyPrefStore::ApplySyncPolicy(
+ ConfigurationPolicyType policy, Value* value) {
+ if (policy == kPolicySyncDisabled) {
bool disable_sync;
if (value->GetAsBoolean(&disable_sync) && disable_sync)
prefs_->Set(prefs::kSyncManaged, value);
@@ -482,9 +481,9 @@ bool ConfigurationPolicyPrefStore::ApplySyncPolicy(PolicyType policy,
return false;
}
-bool ConfigurationPolicyPrefStore::ApplyAutoFillPolicy(PolicyType policy,
- Value* value) {
- if (policy == ConfigurationPolicyStore::kPolicyAutoFillEnabled) {
+bool ConfigurationPolicyPrefStore::ApplyAutoFillPolicy(
+ ConfigurationPolicyType policy, Value* value) {
+ if (policy == kPolicyAutoFillEnabled) {
bool auto_fill_enabled;
if (value->GetAsBoolean(&auto_fill_enabled) && !auto_fill_enabled)
prefs_->Set(prefs::kAutoFillEnabled, Value::CreateBooleanValue(false));
@@ -501,6 +500,8 @@ void ConfigurationPolicyPrefStore::EnsureStringPrefExists(
prefs_->SetString(path, value);
}
+namespace {
+
// Implementation of SearchTermsData just for validation.
class SearchTermsDataForValidation : public SearchTermsData {
public:
@@ -515,25 +516,26 @@ class SearchTermsDataForValidation : public SearchTermsData {
}
#if defined(OS_WIN) && defined(GOOGLE_CHROME_BUILD)
virtual std::wstring GetRlzParameterValue() const {
- return L"";
+ return std::wstring();
}
#endif
private:
DISALLOW_COPY_AND_ASSIGN(SearchTermsDataForValidation);
};
+} // namepsace
void ConfigurationPolicyPrefStore::FinalizeDefaultSearchPolicySettings() {
bool enabled = true;
if (prefs_->GetBoolean(prefs::kDefaultSearchProviderEnabled, &enabled) &&
!enabled) {
// If default search is disabled, we ignore the other fields.
- prefs_->SetString(prefs::kDefaultSearchProviderName, "");
- prefs_->SetString(prefs::kDefaultSearchProviderSearchURL, "");
- prefs_->SetString(prefs::kDefaultSearchProviderSuggestURL, "");
- prefs_->SetString(prefs::kDefaultSearchProviderIconURL, "");
- prefs_->SetString(prefs::kDefaultSearchProviderEncodings, "");
- prefs_->SetString(prefs::kDefaultSearchProviderKeyword, "");
+ prefs_->SetString(prefs::kDefaultSearchProviderName, std::string());
+ prefs_->SetString(prefs::kDefaultSearchProviderSearchURL, std::string());
+ prefs_->SetString(prefs::kDefaultSearchProviderSuggestURL, std::string());
+ prefs_->SetString(prefs::kDefaultSearchProviderIconURL, std::string());
+ prefs_->SetString(prefs::kDefaultSearchProviderEncodings, std::string());
+ prefs_->SetString(prefs::kDefaultSearchProviderKeyword, std::string());
return;
}
std::string search_url;
@@ -541,7 +543,7 @@ void ConfigurationPolicyPrefStore::FinalizeDefaultSearchPolicySettings() {
if (prefs_->GetString(prefs::kDefaultSearchProviderSearchURL, &search_url) &&
!search_url.empty()) {
SearchTermsDataForValidation search_terms_data;
- TemplateURLRef search_url_ref(search_url, 0, 0);
+ const TemplateURLRef search_url_ref(search_url, 0, 0);
// It must support replacement (which implies it is valid).
if (search_url_ref.SupportsReplacementUsingTermsData(search_terms_data)) {
// The other entries are optional. Just make sure that they are all
@@ -559,14 +561,15 @@ void ConfigurationPolicyPrefStore::FinalizeDefaultSearchPolicySettings() {
GURL(search_url).host());
// And clear the IDs since these are not specified via policy.
- prefs_->SetString(prefs::kDefaultSearchProviderID, "");
- prefs_->SetString(prefs::kDefaultSearchProviderPrepopulateID, "");
+ prefs_->SetString(prefs::kDefaultSearchProviderID, std::string());
+ prefs_->SetString(prefs::kDefaultSearchProviderPrepopulateID,
+ std::string());
return;
}
}
// Required entries are not there. Remove any related entries.
- RemovePreferencesOfMap(default_search_policy_map_,
- arraysize(default_search_policy_map_));
+ RemovePreferencesOfMap(kDefaultSearchPolicyMap,
+ arraysize(kDefaultSearchPolicyMap));
}
} // namespace policy
diff --git a/chrome/browser/policy/configuration_policy_pref_store.h b/chrome/browser/policy/configuration_policy_pref_store.h
index 85edeec..066952b 100644
--- a/chrome/browser/policy/configuration_policy_pref_store.h
+++ b/chrome/browser/policy/configuration_policy_pref_store.h
@@ -13,7 +13,7 @@
#include "base/scoped_ptr.h"
#include "base/values.h"
#include "chrome/browser/policy/configuration_policy_provider.h"
-#include "chrome/browser/policy/configuration_policy_store.h"
+#include "chrome/browser/policy/configuration_policy_store_interface.h"
#include "chrome/common/pref_store.h"
namespace policy {
@@ -21,19 +21,21 @@ namespace policy {
// An implementation of the |PrefStore| that holds a Dictionary
// created through applied policy.
class ConfigurationPolicyPrefStore : public PrefStore,
- public ConfigurationPolicyStore {
+ public ConfigurationPolicyStoreInterface {
public:
+ typedef std::set<const char*> ProxyPreferenceSet;
+
// The ConfigurationPolicyPrefStore does not take ownership of the
// passed-in |provider|.
explicit ConfigurationPolicyPrefStore(ConfigurationPolicyProvider* provider);
- virtual ~ConfigurationPolicyPrefStore();
+ virtual ~ConfigurationPolicyPrefStore() {}
// PrefStore methods:
virtual PrefReadError ReadPrefs();
- virtual DictionaryValue* prefs() { return prefs_.get(); }
+ virtual DictionaryValue* prefs() const { return prefs_.get(); }
// ConfigurationPolicyStore methods:
- virtual void Apply(PolicyType setting, Value* value);
+ virtual void Apply(ConfigurationPolicyType setting, Value* value);
// Creates a ConfigurationPolicyPrefStore that reads managed policy.
static ConfigurationPolicyPrefStore* CreateManagedPolicyPrefStore();
@@ -45,8 +47,6 @@ class ConfigurationPolicyPrefStore : public PrefStore,
static ConfigurationPolicyProvider::PolicyDefinitionList*
GetChromePolicyDefinitionList();
- typedef std::set<const char*> ProxyPreferenceSet;
-
// Returns the set of preference paths that can be affected by a proxy
// policy.
static void GetProxyPreferenceSet(ProxyPreferenceSet* proxy_pref_set);
@@ -57,15 +57,15 @@ class ConfigurationPolicyPrefStore : public PrefStore,
// has an entry in |simple_policy_map_| with the following type.
struct PolicyToPreferenceMapEntry {
Value::ValueType value_type;
- PolicyType policy_type;
+ ConfigurationPolicyType policy_type;
const char* preference_path; // A DictionaryValue path, not a file path.
};
- static const PolicyToPreferenceMapEntry simple_policy_map_[];
- static const PolicyToPreferenceMapEntry proxy_policy_map_[];
- static const PolicyToPreferenceMapEntry default_search_policy_map_[];
+ static const PolicyToPreferenceMapEntry kSimplePolicyMap[];
+ static const PolicyToPreferenceMapEntry kProxyPolicyMap[];
+ static const PolicyToPreferenceMapEntry kDefaultSearchPolicyMap[];
static const ConfigurationPolicyProvider::PolicyDefinitionList
- policy_definition_list_;
+ kPolicyDefinitionList;
ConfigurationPolicyProvider* provider_;
scoped_ptr<DictionaryValue> prefs_;
@@ -89,29 +89,33 @@ class ConfigurationPolicyPrefStore : public PrefStore,
bool use_system_proxy_;
// Returns the map entry that corresponds to |policy| in the map.
- const PolicyToPreferenceMapEntry* FindPolicyInMap(PolicyType policy,
- const PolicyToPreferenceMapEntry* map, int size);
+ const PolicyToPreferenceMapEntry* FindPolicyInMap(
+ ConfigurationPolicyType policy,
+ const PolicyToPreferenceMapEntry* map,
+ int size) const;
// Remove the preferences found in the map from |prefs_|. Returns true if
// any such preferences were found and removed.
bool RemovePreferencesOfMap(const PolicyToPreferenceMapEntry* map,
int table_size);
- bool ApplyPolicyFromMap(PolicyType policy, Value* value,
- const PolicyToPreferenceMapEntry map[], int size);
+ bool ApplyPolicyFromMap(ConfigurationPolicyType policy,
+ Value* value,
+ const PolicyToPreferenceMapEntry* map,
+ int size);
// Processes proxy-specific policies. Returns true if the specified policy
// is a proxy-related policy. ApplyProxyPolicy assumes the ownership
// of |value| in the case that the policy is proxy-specific.
- bool ApplyProxyPolicy(PolicyType policy, Value* value);
+ bool ApplyProxyPolicy(ConfigurationPolicyType policy, Value* value);
// Handles sync-related policies. Returns true if the policy was handled.
// Assumes ownership of |value| in that case.
- bool ApplySyncPolicy(PolicyType policy, Value* value);
+ bool ApplySyncPolicy(ConfigurationPolicyType policy, Value* value);
// Handles policies that affect AutoFill. Returns true if the policy was
// handled and assumes ownership of |value| in that case.
- bool ApplyAutoFillPolicy(PolicyType policy, Value* value);
+ bool ApplyAutoFillPolicy(ConfigurationPolicyType policy, Value* value);
// Make sure that the |path| if present in |prefs_|. If not, set it to
// a blank string.
diff --git a/chrome/browser/policy/configuration_policy_pref_store_unittest.cc b/chrome/browser/policy/configuration_policy_pref_store_unittest.cc
index ca4d51e..0809c00 100644
--- a/chrome/browser/policy/configuration_policy_pref_store_unittest.cc
+++ b/chrome/browser/policy/configuration_policy_pref_store_unittest.cc
@@ -15,15 +15,15 @@ namespace policy {
// Holds a set of test parameters, consisting of pref name and policy type.
class TypeAndName {
public:
- TypeAndName(ConfigurationPolicyStore::PolicyType type, const char* pref_name)
+ TypeAndName(ConfigurationPolicyType type, const char* pref_name)
: type_(type),
pref_name_(pref_name) {}
- ConfigurationPolicyStore::PolicyType type() const { return type_; }
+ ConfigurationPolicyType type() const { return type_; }
const char* pref_name() const { return pref_name_; }
private:
- ConfigurationPolicyStore::PolicyType type_;
+ ConfigurationPolicyType type_;
const char* pref_name_;
};
@@ -47,7 +47,7 @@ TEST_P(ConfigurationPolicyPrefStoreListTest, SetValue) {
ListValue* list = NULL;
EXPECT_TRUE(store.prefs()->GetList(GetParam().pref_name(), &list));
ListValue::const_iterator current(list->begin());
- ListValue::const_iterator end(list->end());
+ const ListValue::const_iterator end(list->end());
ASSERT_TRUE(current != end);
std::string value;
(*current)->GetAsString(&value);
@@ -64,13 +64,13 @@ INSTANTIATE_TEST_CASE_P(
ConfigurationPolicyPrefStoreListTestInstance,
ConfigurationPolicyPrefStoreListTest,
testing::Values(
- TypeAndName(ConfigurationPolicyStore::kPolicyURLsToRestoreOnStartup,
+ TypeAndName(kPolicyURLsToRestoreOnStartup,
prefs::kURLsToRestoreOnStartup),
- TypeAndName(ConfigurationPolicyStore::kPolicyExtensionInstallAllowList,
+ TypeAndName(kPolicyExtensionInstallAllowList,
prefs::kExtensionInstallAllowList),
- TypeAndName(ConfigurationPolicyStore::kPolicyExtensionInstallDenyList,
+ TypeAndName(kPolicyExtensionInstallDenyList,
prefs::kExtensionInstallDenyList),
- TypeAndName(ConfigurationPolicyStore::kPolicyDisabledPlugins,
+ TypeAndName(kPolicyDisabledPlugins,
prefs::kPluginsPluginsBlacklist)));
// Test cases for string-valued policy settings.
@@ -97,15 +97,15 @@ INSTANTIATE_TEST_CASE_P(
ConfigurationPolicyPrefStoreStringTestInstance,
ConfigurationPolicyPrefStoreStringTest,
testing::Values(
- TypeAndName(ConfigurationPolicyStore::kPolicyHomePage,
+ TypeAndName(kPolicyHomePage,
prefs::kHomePage),
- TypeAndName(ConfigurationPolicyStore::kPolicyProxyServer,
+ TypeAndName(kPolicyProxyServer,
prefs::kProxyServer),
- TypeAndName(ConfigurationPolicyStore::kPolicyProxyPacUrl,
+ TypeAndName(kPolicyProxyPacUrl,
prefs::kProxyPacUrl),
- TypeAndName(ConfigurationPolicyStore::kPolicyProxyBypassList,
+ TypeAndName(kPolicyProxyBypassList,
prefs::kProxyBypassList),
- TypeAndName(ConfigurationPolicyStore::kPolicyApplicationLocale,
+ TypeAndName(kPolicyApplicationLocale,
prefs::kApplicationLocale)));
// Test cases for boolean-valued policy settings.
@@ -136,33 +136,31 @@ INSTANTIATE_TEST_CASE_P(
ConfigurationPolicyPrefStoreBooleanTestInstance,
ConfigurationPolicyPrefStoreBooleanTest,
testing::Values(
- TypeAndName(ConfigurationPolicyStore::kPolicyHomepageIsNewTabPage,
+ TypeAndName(kPolicyHomepageIsNewTabPage,
prefs::kHomePageIsNewTabPage),
- TypeAndName(ConfigurationPolicyStore::kPolicyAlternateErrorPagesEnabled,
+ TypeAndName(kPolicyAlternateErrorPagesEnabled,
prefs::kAlternateErrorPagesEnabled),
- TypeAndName(ConfigurationPolicyStore::kPolicySearchSuggestEnabled,
+ TypeAndName(kPolicySearchSuggestEnabled,
prefs::kSearchSuggestEnabled),
- TypeAndName(ConfigurationPolicyStore::kPolicyDnsPrefetchingEnabled,
+ TypeAndName(kPolicyDnsPrefetchingEnabled,
prefs::kDnsPrefetchingEnabled),
- TypeAndName(ConfigurationPolicyStore::kPolicyDisableSpdy,
+ TypeAndName(kPolicyDisableSpdy,
prefs::kDisableSpdy),
- TypeAndName(ConfigurationPolicyStore::kPolicySafeBrowsingEnabled,
+ TypeAndName(kPolicySafeBrowsingEnabled,
prefs::kSafeBrowsingEnabled),
- TypeAndName(ConfigurationPolicyStore::kPolicyMetricsReportingEnabled,
+ TypeAndName(kPolicyMetricsReportingEnabled,
prefs::kMetricsReportingEnabled),
- TypeAndName(ConfigurationPolicyStore::kPolicyPasswordManagerEnabled,
+ TypeAndName(kPolicyPasswordManagerEnabled,
prefs::kPasswordManagerEnabled),
- TypeAndName(ConfigurationPolicyStore::
- kPolicyPasswordManagerAllowShowPasswords,
+ TypeAndName(kPolicyPasswordManagerAllowShowPasswords,
prefs::kPasswordManagerAllowShowPasswords),
- TypeAndName(ConfigurationPolicyStore::kPolicyShowHomeButton,
+ TypeAndName(kPolicyShowHomeButton,
prefs::kShowHomeButton),
- TypeAndName(ConfigurationPolicyStore::kPolicyPrintingEnabled,
+ TypeAndName(kPolicyPrintingEnabled,
prefs::kPrintingEnabled),
- TypeAndName(ConfigurationPolicyStore::kPolicyJavascriptEnabled,
+ TypeAndName(kPolicyJavascriptEnabled,
prefs::kWebKitJavascriptEnabled),
- TypeAndName(ConfigurationPolicyStore::
- kPolicySavingBrowserHistoryDisabled,
+ TypeAndName(kPolicySavingBrowserHistoryDisabled,
prefs::kSavingBrowserHistoryDisabled)));
#if defined(OS_CHROMEOS)
@@ -170,8 +168,7 @@ INSTANTIATE_TEST_CASE_P(
CrosConfigurationPolicyPrefStoreBooleanTestInstance,
ConfigurationPolicyPrefStoreBooleanTest,
testing::Values(
- TypeAndName(ConfigurationPolicyStore::
- kPolicyChromeOsLockOnIdleSuspend,
+ TypeAndName(kPolicyChromeOsLockOnIdleSuspend,
prefs::kEnableScreenLock)));
#endif // defined(OS_CHROMEOS)
@@ -198,7 +195,7 @@ INSTANTIATE_TEST_CASE_P(
ConfigurationPolicyPrefStoreIntegerTestInstance,
ConfigurationPolicyPrefStoreIntegerTest,
testing::Values(
- TypeAndName(ConfigurationPolicyStore::kPolicyRestoreOnStartup,
+ TypeAndName(kPolicyRestoreOnStartup,
prefs::kRestoreOnStartup)));
// Test cases for the proxy policy settings.
@@ -208,15 +205,15 @@ class ConfigurationPolicyPrefStoreProxyTest : public testing::Test {
TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) {
scoped_ptr<MockConfigurationPolicyProvider> provider(
new MockConfigurationPolicyProvider());
- provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyBypassList,
- Value::CreateStringValue("http://chromium.org/override"));
- provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyPacUrl,
- Value::CreateStringValue("http://chromium.org/proxy.pac"));
- provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyServer,
- Value::CreateStringValue("chromium.org"));
- provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyServerMode,
- Value::CreateIntegerValue(
- ConfigurationPolicyStore::kPolicyManuallyConfiguredProxyMode));
+ provider->AddPolicy(kPolicyProxyBypassList,
+ Value::CreateStringValue("http://chromium.org/override"));
+ provider->AddPolicy(kPolicyProxyPacUrl,
+ Value::CreateStringValue("http://short.org/proxy.pac"));
+ provider->AddPolicy(kPolicyProxyServer,
+ Value::CreateStringValue("chromium.org"));
+ provider->AddPolicy(kPolicyProxyServerMode,
+ Value::CreateIntegerValue(
+ kPolicyManuallyConfiguredProxyMode));
ConfigurationPolicyPrefStore store(provider.get());
EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
@@ -226,7 +223,7 @@ TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) {
&string_result));
EXPECT_EQ("http://chromium.org/override", string_result);
EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyPacUrl, &string_result));
- EXPECT_EQ("http://chromium.org/proxy.pac", string_result);
+ EXPECT_EQ("http://short.org/proxy.pac", string_result);
EXPECT_TRUE(store.prefs()->GetString(prefs::kProxyServer, &string_result));
EXPECT_EQ("chromium.org", string_result);
bool bool_result;
@@ -239,11 +236,11 @@ TEST_F(ConfigurationPolicyPrefStoreProxyTest, ManualOptions) {
TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxy) {
scoped_ptr<MockConfigurationPolicyProvider> provider(
new MockConfigurationPolicyProvider());
- provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyBypassList,
- Value::CreateStringValue("http://chromium.org/override"));
- provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyServerMode,
- Value::CreateIntegerValue(
- ConfigurationPolicyStore::kPolicyNoProxyServerMode));
+ provider->AddPolicy(kPolicyProxyBypassList,
+ Value::CreateStringValue("http://chromium.org/override"));
+ provider->AddPolicy(kPolicyProxyServerMode,
+ Value::CreateIntegerValue(
+ kPolicyNoProxyServerMode));
ConfigurationPolicyPrefStore store(provider.get());
EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
@@ -263,11 +260,11 @@ TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxy) {
TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyReversedApplyOrder) {
scoped_ptr<MockConfigurationPolicyProvider> provider(
new MockConfigurationPolicyProvider());
- provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyServerMode,
- Value::CreateIntegerValue(
- ConfigurationPolicyStore::kPolicyNoProxyServerMode));
- provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyBypassList,
- Value::CreateStringValue("http://chromium.org/override"));
+ provider->AddPolicy(kPolicyProxyServerMode,
+ Value::CreateIntegerValue(
+ kPolicyNoProxyServerMode));
+ provider->AddPolicy(kPolicyProxyBypassList,
+ Value::CreateStringValue("http://chromium.org/override"));
ConfigurationPolicyPrefStore store(provider.get());
EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
@@ -287,9 +284,9 @@ TEST_F(ConfigurationPolicyPrefStoreProxyTest, NoProxyReversedApplyOrder) {
TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetect) {
scoped_ptr<MockConfigurationPolicyProvider> provider(
new MockConfigurationPolicyProvider());
- provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyServerMode,
- Value::CreateIntegerValue(
- ConfigurationPolicyStore::kPolicyAutoDetectProxyMode));
+ provider->AddPolicy(kPolicyProxyServerMode,
+ Value::CreateIntegerValue(
+ kPolicyAutoDetectProxyMode));
ConfigurationPolicyPrefStore store(provider.get());
EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
@@ -309,11 +306,11 @@ TEST_F(ConfigurationPolicyPrefStoreProxyTest, AutoDetect) {
TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystem) {
scoped_ptr<MockConfigurationPolicyProvider> provider(
new MockConfigurationPolicyProvider());
- provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyBypassList,
- Value::CreateStringValue("http://chromium.org/override"));
- provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyServerMode,
- Value::CreateIntegerValue(
- ConfigurationPolicyStore::kPolicyUseSystemProxyMode));
+ provider->AddPolicy(kPolicyProxyBypassList,
+ Value::CreateStringValue("http://chromium.org/override"));
+ provider->AddPolicy(kPolicyProxyServerMode,
+ Value::CreateIntegerValue(
+ kPolicyUseSystemProxyMode));
ConfigurationPolicyPrefStore store(provider.get());
EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
@@ -332,11 +329,11 @@ TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystem) {
TEST_F(ConfigurationPolicyPrefStoreProxyTest, UseSystemReversedApplyOrder) {
scoped_ptr<MockConfigurationPolicyProvider> provider(
new MockConfigurationPolicyProvider());
- provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyServerMode,
- Value::CreateIntegerValue(
- ConfigurationPolicyStore::kPolicyUseSystemProxyMode));
- provider->AddPolicy(ConfigurationPolicyStore::kPolicyProxyBypassList,
- Value::CreateStringValue("http://chromium.org/override"));
+ provider->AddPolicy(kPolicyProxyServerMode,
+ Value::CreateIntegerValue(
+ kPolicyUseSystemProxyMode));
+ provider->AddPolicy(kPolicyProxyBypassList,
+ Value::CreateStringValue("http://chromium.org/override"));
ConfigurationPolicyPrefStore store(provider.get());
EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
@@ -358,20 +355,20 @@ class ConfigurationPolicyPrefStoreDefaultSearchTest : public testing::Test {
// Checks that if the policy for default search is valid, i.e. there's a
// search URL, that all the elements have been given proper defaults.
TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) {
- const char* search_url = "http://test.com/search?t={searchTerms}";
+ const char* const search_url = "http://test.com/search?t={searchTerms}";
scoped_ptr<MockConfigurationPolicyProvider> provider(
new MockConfigurationPolicyProvider());
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderEnabled,
+ kPolicyDefaultSearchProviderEnabled,
Value::CreateBooleanValue(true));
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderSearchURL,
+ kPolicyDefaultSearchProviderSearchURL,
Value::CreateStringValue(search_url));
ConfigurationPolicyPrefStore store(provider.get());
EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
- DictionaryValue* prefs = store.prefs();
+ const DictionaryValue* prefs = store.prefs();
std::string string_result;
EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL,
@@ -384,57 +381,57 @@ TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MinimallyDefined) {
EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderKeyword,
&string_result));
- EXPECT_EQ(string_result, "");
+ EXPECT_EQ(string_result, std::string());
EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderSuggestURL,
&string_result));
- EXPECT_EQ(string_result, "");
+ EXPECT_EQ(string_result, std::string());
EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderIconURL,
&string_result));
- EXPECT_EQ(string_result, "");
+ EXPECT_EQ(string_result, std::string());
EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderEncodings,
&string_result));
- EXPECT_EQ(string_result, "");
+ EXPECT_EQ(string_result, std::string());
}
// Checks that for a fully defined search policy, all elements have been
// read properly.
TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) {
- const char* search_url = "http://test.com/search?t={searchTerms}";
- const char* suggest_url = "http://test.com/sugg?={searchTerms}";
- const char* icon_url = "http://test.com/icon.jpg";
- const char* name = "MyName";
- const char* keyword = "MyKeyword";
- const char* encodings = "UTF-16;UTF-8";
+ const char* const search_url = "http://test.com/search?t={searchTerms}";
+ const char* const suggest_url = "http://test.com/sugg?={searchTerms}";
+ const char* const icon_url = "http://test.com/icon.jpg";
+ const char* const name = "MyName";
+ const char* const keyword = "MyKeyword";
+ const char* const encodings = "UTF-16;UTF-8";
scoped_ptr<MockConfigurationPolicyProvider> provider(
new MockConfigurationPolicyProvider());
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderEnabled,
+ kPolicyDefaultSearchProviderEnabled,
Value::CreateBooleanValue(true));
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderSearchURL,
+ kPolicyDefaultSearchProviderSearchURL,
Value::CreateStringValue(search_url));
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderName,
+ kPolicyDefaultSearchProviderName,
Value::CreateStringValue(name));
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderKeyword,
+ kPolicyDefaultSearchProviderKeyword,
Value::CreateStringValue(keyword));
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderSuggestURL,
+ kPolicyDefaultSearchProviderSuggestURL,
Value::CreateStringValue(suggest_url));
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderIconURL,
+ kPolicyDefaultSearchProviderIconURL,
Value::CreateStringValue(icon_url));
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderEncodings,
+ kPolicyDefaultSearchProviderEncodings,
Value::CreateStringValue(encodings));
ConfigurationPolicyPrefStore store(provider.get());
EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
- DictionaryValue* prefs = store.prefs();
+ const DictionaryValue* prefs = store.prefs();
std::string result_search_url;
EXPECT_TRUE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL,
@@ -470,103 +467,103 @@ TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, FullyDefined) {
// Checks that if the default search policy is missing, that no elements of the
// default search policy will be present.
TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, MissingUrl) {
- const char* suggest_url = "http://test.com/sugg?t={searchTerms}";
- const char* icon_url = "http://test.com/icon.jpg";
- const char* name = "MyName";
- const char* keyword = "MyKeyword";
- const char* encodings = "UTF-16;UTF-8";
+ const char* const suggest_url = "http://test.com/sugg?t={searchTerms}";
+ const char* const icon_url = "http://test.com/icon.jpg";
+ const char* const name = "MyName";
+ const char* const keyword = "MyKeyword";
+ const char* const encodings = "UTF-16;UTF-8";
scoped_ptr<MockConfigurationPolicyProvider> provider(
new MockConfigurationPolicyProvider());
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderEnabled,
+ kPolicyDefaultSearchProviderEnabled,
Value::CreateBooleanValue(true));
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderName,
+ kPolicyDefaultSearchProviderName,
Value::CreateStringValue(name));
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderKeyword,
+ kPolicyDefaultSearchProviderKeyword,
Value::CreateStringValue(keyword));
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderSuggestURL,
+ kPolicyDefaultSearchProviderSuggestURL,
Value::CreateStringValue(suggest_url));
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderIconURL,
+ kPolicyDefaultSearchProviderIconURL,
Value::CreateStringValue(icon_url));
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderEncodings,
+ kPolicyDefaultSearchProviderEncodings,
Value::CreateStringValue(encodings));
ConfigurationPolicyPrefStore store(provider.get());
EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
- DictionaryValue* prefs = store.prefs();
+ const DictionaryValue* prefs = store.prefs();
std::string string_result;
EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL,
- &string_result));
+ &string_result));
EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderName,
- &string_result));
+ &string_result));
EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderKeyword,
- &string_result));
+ &string_result));
EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSuggestURL,
- &string_result));
+ &string_result));
EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderIconURL,
- &string_result));
+ &string_result));
EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderEncodings,
- &string_result));
+ &string_result));
}
// Checks that if the default search policy is invalid, that no elements of the
// default search policy will be present.
TEST_F(ConfigurationPolicyPrefStoreDefaultSearchTest, Invalid) {
- const char* bad_search_url = "http://test.com/noSearchTerms";
- const char* suggest_url = "http://test.com/sugg?t={searchTerms}";
- const char* icon_url = "http://test.com/icon.jpg";
- const char* name = "MyName";
- const char* keyword = "MyKeyword";
- const char* encodings = "UTF-16;UTF-8";
+ const char* const bad_search_url = "http://test.com/noSearchTerms";
+ const char* const suggest_url = "http://test.com/sugg?t={searchTerms}";
+ const char* const icon_url = "http://test.com/icon.jpg";
+ const char* const name = "MyName";
+ const char* const keyword = "MyKeyword";
+ const char* const encodings = "UTF-16;UTF-8";
scoped_ptr<MockConfigurationPolicyProvider> provider(
new MockConfigurationPolicyProvider());
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderEnabled,
+ kPolicyDefaultSearchProviderEnabled,
Value::CreateBooleanValue(true));
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderSearchURL,
+ kPolicyDefaultSearchProviderSearchURL,
Value::CreateStringValue(bad_search_url));
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderName,
+ kPolicyDefaultSearchProviderName,
Value::CreateStringValue(name));
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderKeyword,
+ kPolicyDefaultSearchProviderKeyword,
Value::CreateStringValue(keyword));
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderSuggestURL,
+ kPolicyDefaultSearchProviderSuggestURL,
Value::CreateStringValue(suggest_url));
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderIconURL,
+ kPolicyDefaultSearchProviderIconURL,
Value::CreateStringValue(icon_url));
provider->AddPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderEncodings,
+ kPolicyDefaultSearchProviderEncodings,
Value::CreateStringValue(encodings));
ConfigurationPolicyPrefStore store(provider.get());
EXPECT_EQ(store.ReadPrefs(), PrefStore::PREF_READ_ERROR_NONE);
- DictionaryValue* prefs = store.prefs();
+ const DictionaryValue* const prefs = store.prefs();
std::string string_result;
EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderEnabled,
- &string_result));
+ &string_result));
EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSearchURL,
- &string_result));
+ &string_result));
EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderName,
- &string_result));
+ &string_result));
EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderKeyword,
- &string_result));
+ &string_result));
EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderSuggestURL,
- &string_result));
+ &string_result));
EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderIconURL,
- &string_result));
+ &string_result));
EXPECT_FALSE(prefs->GetString(prefs::kDefaultSearchProviderEncodings,
- &string_result));
+ &string_result));
}
// Test cases for the Sync policy setting.
@@ -581,8 +578,7 @@ TEST_F(ConfigurationPolicyPrefStoreSyncTest, Default) {
TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) {
ConfigurationPolicyPrefStore store(NULL);
- store.Apply(ConfigurationPolicyPrefStore::kPolicySyncDisabled,
- Value::CreateBooleanValue(false));
+ store.Apply(kPolicySyncDisabled, Value::CreateBooleanValue(false));
// Enabling Sync should not set the pref.
bool result = false;
EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kSyncManaged, &result));
@@ -590,8 +586,7 @@ TEST_F(ConfigurationPolicyPrefStoreSyncTest, Enabled) {
TEST_F(ConfigurationPolicyPrefStoreSyncTest, Disabled) {
ConfigurationPolicyPrefStore store(NULL);
- store.Apply(ConfigurationPolicyPrefStore::kPolicySyncDisabled,
- Value::CreateBooleanValue(true));
+ store.Apply(kPolicySyncDisabled, Value::CreateBooleanValue(true));
// Sync should be flagged as managed.
bool result = false;
EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kSyncManaged, &result));
@@ -610,8 +605,7 @@ TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Default) {
TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Enabled) {
ConfigurationPolicyPrefStore store(NULL);
- store.Apply(ConfigurationPolicyPrefStore::kPolicyAutoFillEnabled,
- Value::CreateBooleanValue(true));
+ store.Apply(kPolicyAutoFillEnabled, Value::CreateBooleanValue(true));
// Enabling AutoFill should not set the pref.
bool result = false;
EXPECT_FALSE(store.prefs()->GetBoolean(prefs::kAutoFillEnabled, &result));
@@ -619,8 +613,7 @@ TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Enabled) {
TEST_F(ConfigurationPolicyPrefStoreAutoFillTest, Disabled) {
ConfigurationPolicyPrefStore store(NULL);
- store.Apply(ConfigurationPolicyPrefStore::kPolicyAutoFillEnabled,
- Value::CreateBooleanValue(false));
+ store.Apply(kPolicyAutoFillEnabled, Value::CreateBooleanValue(false));
// Disabling AutoFill should switch the pref to managed.
bool result = true;
EXPECT_TRUE(store.prefs()->GetBoolean(prefs::kAutoFillEnabled, &result));
diff --git a/chrome/browser/policy/configuration_policy_provider.h b/chrome/browser/policy/configuration_policy_provider.h
index da8d69eb..7969988 100644
--- a/chrome/browser/policy/configuration_policy_provider.h
+++ b/chrome/browser/policy/configuration_policy_provider.h
@@ -12,7 +12,7 @@
#include "base/basictypes.h"
#include "base/scoped_ptr.h"
#include "base/values.h"
-#include "chrome/browser/policy/configuration_policy_store.h"
+#include "chrome/browser/policy/configuration_policy_store_interface.h"
namespace policy {
@@ -25,7 +25,7 @@ class ConfigurationPolicyProvider {
// instance of the ConfigurationPolicyProvider.
struct PolicyDefinitionList {
struct Entry {
- ConfigurationPolicyStore::PolicyType policy_type;
+ ConfigurationPolicyType policy_type;
Value::ValueType value_type;
const char* name;
};
@@ -45,7 +45,7 @@ class ConfigurationPolicyProvider {
// the |ConfigurationPolicyProvider| must make calls to the
// |Apply| method of |store| to apply specific policies.
// Returns true if the policy could be provided, otherwise false.
- virtual bool Provide(ConfigurationPolicyStore* store) = 0;
+ virtual bool Provide(ConfigurationPolicyStoreInterface* store) = 0;
// Called by the subclass provider at any time to indicate that the currently
// applied policy is not longer current. A policy refresh will be initiated as
diff --git a/chrome/browser/policy/configuration_policy_provider_mac.h b/chrome/browser/policy/configuration_policy_provider_mac.h
index 0d6d15b..d804500 100644
--- a/chrome/browser/policy/configuration_policy_provider_mac.h
+++ b/chrome/browser/policy/configuration_policy_provider_mac.h
@@ -7,6 +7,7 @@
#pragma once
#include "base/scoped_ptr.h"
+#include "chrome/browser/policy/configuration_policy_store_interface.h"
#include "chrome/browser/policy/file_based_policy_provider.h"
#include "chrome/browser/preferences_mac.h"
diff --git a/chrome/browser/policy/configuration_policy_provider_mac_unittest.cc b/chrome/browser/policy/configuration_policy_provider_mac_unittest.cc
index e081cdf..5690375 100644
--- a/chrome/browser/policy/configuration_policy_provider_mac_unittest.cc
+++ b/chrome/browser/policy/configuration_policy_provider_mac_unittest.cc
@@ -20,7 +20,7 @@ namespace policy {
class PolicyTestParams {
public:
// Takes ownership of |test_value|.
- PolicyTestParams(ConfigurationPolicyStore::PolicyType type,
+ PolicyTestParams(ConfigurationPolicyType type,
const char* policy_name,
Value* test_value)
: type_(type),
@@ -45,7 +45,7 @@ class PolicyTestParams {
test_value_.swap(other.test_value_);
}
- ConfigurationPolicyStore::PolicyType type() const { return type_; }
+ ConfigurationPolicyType type() const { return type_; }
const char* policy_name() const { return policy_name_; }
const Value* test_value() const { return test_value_.get(); }
@@ -96,22 +96,22 @@ class PolicyTestParams {
// Factory methods that create parameter objects for different value types.
static PolicyTestParams ForStringPolicy(
- ConfigurationPolicyStore::PolicyType type,
+ ConfigurationPolicyType type,
const char* name) {
return PolicyTestParams(type, name, Value::CreateStringValue("test"));
}
static PolicyTestParams ForBooleanPolicy(
- ConfigurationPolicyStore::PolicyType type,
+ ConfigurationPolicyType type,
const char* name) {
return PolicyTestParams(type, name, Value::CreateBooleanValue(true));
}
static PolicyTestParams ForIntegerPolicy(
- ConfigurationPolicyStore::PolicyType type,
+ ConfigurationPolicyType type,
const char* name) {
return PolicyTestParams(type, name, Value::CreateIntegerValue(42));
}
static PolicyTestParams ForListPolicy(
- ConfigurationPolicyStore::PolicyType type,
+ ConfigurationPolicyType type,
const char* name) {
ListValue* value = new ListValue;
value->Set(0U, Value::CreateStringValue("first"));
@@ -120,7 +120,7 @@ class PolicyTestParams {
}
private:
- ConfigurationPolicyStore::PolicyType type_;
+ ConfigurationPolicyType type_;
const char* policy_name_;
scoped_ptr<Value> test_value_;
};
@@ -200,94 +200,94 @@ INSTANTIATE_TEST_CASE_P(
ConfigurationPolicyProviderMacTest,
testing::Values(
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyHomePage,
+ kPolicyHomePage,
key::kHomepageLocation),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyHomepageIsNewTabPage,
+ kPolicyHomepageIsNewTabPage,
key::kHomepageIsNewTabPage),
PolicyTestParams::ForIntegerPolicy(
- ConfigurationPolicyStore::kPolicyRestoreOnStartup,
+ kPolicyRestoreOnStartup,
key::kRestoreOnStartup),
PolicyTestParams::ForListPolicy(
- ConfigurationPolicyStore::kPolicyURLsToRestoreOnStartup,
+ kPolicyURLsToRestoreOnStartup,
key::kURLsToRestoreOnStartup),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderEnabled,
+ kPolicyDefaultSearchProviderEnabled,
key::kDefaultSearchProviderEnabled),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderName,
+ kPolicyDefaultSearchProviderName,
key::kDefaultSearchProviderName),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderKeyword,
+ kPolicyDefaultSearchProviderKeyword,
key::kDefaultSearchProviderKeyword),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderSearchURL,
+ kPolicyDefaultSearchProviderSearchURL,
key::kDefaultSearchProviderSearchURL),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderSuggestURL,
+ kPolicyDefaultSearchProviderSuggestURL,
key::kDefaultSearchProviderSuggestURL),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderIconURL,
+ kPolicyDefaultSearchProviderIconURL,
key::kDefaultSearchProviderIconURL),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderEncodings,
+ kPolicyDefaultSearchProviderEncodings,
key::kDefaultSearchProviderEncodings),
PolicyTestParams::ForIntegerPolicy(
- ConfigurationPolicyStore::kPolicyProxyServerMode,
+ kPolicyProxyServerMode,
key::kProxyServerMode),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyProxyServer,
+ kPolicyProxyServer,
key::kProxyServer),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyProxyPacUrl,
+ kPolicyProxyPacUrl,
key::kProxyPacUrl),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyProxyBypassList,
+ kPolicyProxyBypassList,
key::kProxyBypassList),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyAlternateErrorPagesEnabled,
+ kPolicyAlternateErrorPagesEnabled,
key::kAlternateErrorPagesEnabled),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicySearchSuggestEnabled,
+ kPolicySearchSuggestEnabled,
key::kSearchSuggestEnabled),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyDnsPrefetchingEnabled,
+ kPolicyDnsPrefetchingEnabled,
key::kDnsPrefetchingEnabled),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicySafeBrowsingEnabled,
+ kPolicySafeBrowsingEnabled,
key::kSafeBrowsingEnabled),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyMetricsReportingEnabled,
+ kPolicyMetricsReportingEnabled,
key::kMetricsReportingEnabled),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyPasswordManagerEnabled,
+ kPolicyPasswordManagerEnabled,
key::kPasswordManagerEnabled),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyPasswordManagerAllowShowPasswords,
+ kPolicyPasswordManagerAllowShowPasswords,
key::kPasswordManagerAllowShowPasswords),
PolicyTestParams::ForListPolicy(
- ConfigurationPolicyStore::kPolicyDisabledPlugins,
+ kPolicyDisabledPlugins,
key::kDisabledPlugins),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyAutoFillEnabled,
+ kPolicyAutoFillEnabled,
key::kAutoFillEnabled),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyApplicationLocale,
+ kPolicyApplicationLocale,
key::kApplicationLocaleValue),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicySyncDisabled,
+ kPolicySyncDisabled,
key::kSyncDisabled),
PolicyTestParams::ForListPolicy(
- ConfigurationPolicyStore::kPolicyExtensionInstallAllowList,
+ kPolicyExtensionInstallAllowList,
key::kExtensionInstallAllowList),
PolicyTestParams::ForListPolicy(
- ConfigurationPolicyStore::kPolicyExtensionInstallDenyList,
+ kPolicyExtensionInstallDenyList,
key::kExtensionInstallDenyList),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyShowHomeButton,
+ kPolicyShowHomeButton,
key::kShowHomeButton),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyPrintingEnabled,
+ kPolicyPrintingEnabled,
key::kPrintingEnabled)));
} // namespace policy
diff --git a/chrome/browser/policy/configuration_policy_provider_win.cc b/chrome/browser/policy/configuration_policy_provider_win.cc
index 50e2fc5..8f86973 100644
--- a/chrome/browser/policy/configuration_policy_provider_win.cc
+++ b/chrome/browser/policy/configuration_policy_provider_win.cc
@@ -145,7 +145,9 @@ void ConfigurationPolicyProviderWin::GroupPolicyChangeWatcher::
void ConfigurationPolicyProviderWin::GroupPolicyChangeWatcher::
OnObjectSignaled(HANDLE object) {
DCHECK(object == user_policy_changed_event_.handle() ||
- object == machine_policy_changed_event_.handle());
+ object == machine_policy_changed_event_.handle())
+ << "unexpected object signaled policy reload, obj = "
+ << std::showbase << std::hex << object;
Reload();
}
@@ -168,7 +170,7 @@ ConfigurationPolicyProviderWin::~ConfigurationPolicyProviderWin() {
}
bool ConfigurationPolicyProviderWin::GetRegistryPolicyString(
- const string16& name, string16* result) {
+ const string16& name, string16* result) const {
string16 path = string16(kRegistrySubKey);
RegKey policy_key;
// First try the global policy.
@@ -184,7 +186,7 @@ bool ConfigurationPolicyProviderWin::GetRegistryPolicyString(
}
bool ConfigurationPolicyProviderWin::GetRegistryPolicyStringList(
- const string16& key, ListValue* result) {
+ const string16& key, ListValue* result) const {
string16 path = string16(kRegistrySubKey);
path += ASCIIToUTF16("\\") + key;
RegKey policy_key;
@@ -204,7 +206,7 @@ bool ConfigurationPolicyProviderWin::GetRegistryPolicyStringList(
}
bool ConfigurationPolicyProviderWin::GetRegistryPolicyBoolean(
- const string16& value_name, bool* result) {
+ const string16& value_name, bool* result) const {
DWORD value;
RegKey hkcu_policy_key(HKEY_LOCAL_MACHINE, kRegistrySubKey, KEY_READ);
if (hkcu_policy_key.ReadValueDW(value_name.c_str(), &value)) {
@@ -221,7 +223,7 @@ bool ConfigurationPolicyProviderWin::GetRegistryPolicyBoolean(
}
bool ConfigurationPolicyProviderWin::GetRegistryPolicyInteger(
- const string16& value_name, uint32* result) {
+ const string16& value_name, uint32* result) const {
DWORD value;
RegKey hkcu_policy_key(HKEY_LOCAL_MACHINE, kRegistrySubKey, KEY_READ);
if (hkcu_policy_key.ReadValueDW(value_name.c_str(), &value)) {
@@ -238,7 +240,7 @@ bool ConfigurationPolicyProviderWin::GetRegistryPolicyInteger(
}
bool ConfigurationPolicyProviderWin::Provide(
- ConfigurationPolicyStore* store) {
+ ConfigurationPolicyStoreInterface* store) {
const PolicyDefinitionList* policy_list(policy_definition_list());
for (const PolicyDefinitionList::Entry* current = policy_list->begin;
current != policy_list->end; ++current) {
diff --git a/chrome/browser/policy/configuration_policy_provider_win.h b/chrome/browser/policy/configuration_policy_provider_win.h
index c30f447..c2d5509 100644
--- a/chrome/browser/policy/configuration_policy_provider_win.h
+++ b/chrome/browser/policy/configuration_policy_provider_win.h
@@ -11,7 +11,7 @@
#include "base/scoped_ptr.h"
#include "base/waitable_event.h"
#include "base/weak_ptr.h"
-#include "chrome/browser/policy/configuration_policy_store.h"
+#include "chrome/browser/policy/configuration_policy_store_interface.h"
#include "chrome/browser/policy/configuration_policy_provider.h"
namespace base {
@@ -88,7 +88,7 @@ class ConfigurationPolicyProviderWin
virtual ~ConfigurationPolicyProviderWin();
// ConfigurationPolicyProvider method overrides:
- virtual bool Provide(ConfigurationPolicyStore* store);
+ virtual bool Provide(ConfigurationPolicyStoreInterface* store);
protected:
// The sub key path for Chromium's Group Policy information in the
@@ -103,12 +103,14 @@ class ConfigurationPolicyProviderWin
// Reads a string registry value |name| at the specified |key| and puts the
// resulting string in |result|.
-
- bool GetRegistryPolicyString(const string16& name, string16* result);
+ bool GetRegistryPolicyString(const string16& name, string16* result) const;
// Gets a list value contained under |key| one level below the policy root.
- bool GetRegistryPolicyStringList(const string16& key, ListValue* result);
- bool GetRegistryPolicyBoolean(const string16& value_name, bool* result);
- bool GetRegistryPolicyInteger(const string16& value_name, uint32* result);
+ bool GetRegistryPolicyStringList(const string16& key,
+ ListValue* result) const;
+ bool GetRegistryPolicyBoolean(const string16& value_name,
+ bool* result) const;
+ bool GetRegistryPolicyInteger(const string16& value_name,
+ uint32* result) const;
};
} // namespace policy
diff --git a/chrome/browser/policy/configuration_policy_provider_win_unittest.cc b/chrome/browser/policy/configuration_policy_provider_win_unittest.cc
index d0cda3b..39c4dce 100644
--- a/chrome/browser/policy/configuration_policy_provider_win_unittest.cc
+++ b/chrome/browser/policy/configuration_policy_provider_win_unittest.cc
@@ -29,15 +29,17 @@ const wchar_t kUnitTestMachineOverrideSubKey[] =
const wchar_t kUnitTestUserOverrideSubKey[] =
L"SOFTWARE\\Chromium Unit Tests\\HKCU Override";
+namespace {
+
// Holds policy type, corresponding policy name string and a valid value for use
// in parametrized value tests.
class PolicyTestParams {
public:
// Assumes ownership of |hklm_value| and |hkcu_value|.
- PolicyTestParams(ConfigurationPolicyStore::PolicyType type,
- const char* policy_name,
- Value* hklm_value,
- Value* hkcu_value)
+ PolicyTestParams(ConfigurationPolicyType type,
+ const char* policy_name,
+ Value* hklm_value,
+ Value* hkcu_value)
: type_(type),
policy_name_(policy_name),
hklm_value_(hklm_value),
@@ -63,14 +65,14 @@ class PolicyTestParams {
hkcu_value_.swap(other.hkcu_value_);
}
- ConfigurationPolicyStore::PolicyType type() const { return type_; }
+ ConfigurationPolicyType type() const { return type_; }
const char* policy_name() const { return policy_name_; }
const Value* hklm_value() const { return hklm_value_.get(); }
const Value* hkcu_value() const { return hkcu_value_.get(); }
// Factory methods for different value types.
static PolicyTestParams ForStringPolicy(
- ConfigurationPolicyStore::PolicyType type,
+ ConfigurationPolicyType type,
const char* policy_name) {
return PolicyTestParams(type,
policy_name,
@@ -78,7 +80,7 @@ class PolicyTestParams {
Value::CreateStringValue("string_b"));
}
static PolicyTestParams ForBooleanPolicy(
- ConfigurationPolicyStore::PolicyType type,
+ ConfigurationPolicyType type,
const char* policy_name) {
return PolicyTestParams(type,
policy_name,
@@ -86,7 +88,7 @@ class PolicyTestParams {
Value::CreateBooleanValue(false));
}
static PolicyTestParams ForIntegerPolicy(
- ConfigurationPolicyStore::PolicyType type,
+ ConfigurationPolicyType type,
const char* policy_name) {
return PolicyTestParams(type,
policy_name,
@@ -94,7 +96,7 @@ class PolicyTestParams {
Value::CreateIntegerValue(17));
}
static PolicyTestParams ForListPolicy(
- ConfigurationPolicyStore::PolicyType type,
+ ConfigurationPolicyType type,
const char* policy_name) {
ListValue* hklm_value = new ListValue;
hklm_value->Set(0U, Value::CreateStringValue("It's a plane!"));
@@ -105,12 +107,14 @@ class PolicyTestParams {
}
private:
- ConfigurationPolicyStore::PolicyType type_;
+ ConfigurationPolicyType type_;
const char* policy_name_;
scoped_ptr<Value> hklm_value_;
scoped_ptr<Value> hkcu_value_;
};
+} // namespace
+
// This test class provides sandboxing and mocking for the parts of the
// Windows Registry implementing Group Policy. The |SetUp| method prepares
// two temporary sandbox keys in |kUnitTestRegistrySubKey|, one for HKLM and one
@@ -255,7 +259,7 @@ void ConfigurationPolicyProviderWinTest::WriteValue(HKEY hive,
const ListValue* list = static_cast<const ListValue*>(value);
RegKey key(hive,
(string16(policy::kRegistrySubKey) + ASCIIToUTF16("\\") +
- UTF8ToUTF16(name)).c_str(),
+ UTF8ToUTF16(name)).c_str(),
KEY_ALL_ACCESS);
int index = 1;
for (ListValue::const_iterator element(list->begin());
@@ -338,91 +342,91 @@ INSTANTIATE_TEST_CASE_P(
ConfigurationPolicyProviderWinTest,
testing::Values(
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyHomePage,
+ kPolicyHomePage,
key::kHomepageLocation),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyHomepageIsNewTabPage,
+ kPolicyHomepageIsNewTabPage,
key::kHomepageIsNewTabPage),
PolicyTestParams::ForIntegerPolicy(
- ConfigurationPolicyStore::kPolicyRestoreOnStartup,
+ kPolicyRestoreOnStartup,
key::kRestoreOnStartup),
PolicyTestParams::ForListPolicy(
- ConfigurationPolicyStore::kPolicyURLsToRestoreOnStartup,
+ kPolicyURLsToRestoreOnStartup,
key::kURLsToRestoreOnStartup),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderEnabled,
+ kPolicyDefaultSearchProviderEnabled,
key::kDefaultSearchProviderEnabled),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderName,
+ kPolicyDefaultSearchProviderName,
key::kDefaultSearchProviderName),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderKeyword,
+ kPolicyDefaultSearchProviderKeyword,
key::kDefaultSearchProviderKeyword),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderSearchURL,
+ kPolicyDefaultSearchProviderSearchURL,
key::kDefaultSearchProviderSearchURL),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderSuggestURL,
+ kPolicyDefaultSearchProviderSuggestURL,
key::kDefaultSearchProviderSuggestURL),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderIconURL,
+ kPolicyDefaultSearchProviderIconURL,
key::kDefaultSearchProviderIconURL),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyDefaultSearchProviderEncodings,
+ kPolicyDefaultSearchProviderEncodings,
key::kDefaultSearchProviderEncodings),
PolicyTestParams::ForIntegerPolicy(
- ConfigurationPolicyStore::kPolicyProxyServerMode,
+ kPolicyProxyServerMode,
key::kProxyServerMode),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyProxyServer,
+ kPolicyProxyServer,
key::kProxyServer),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyProxyPacUrl,
+ kPolicyProxyPacUrl,
key::kProxyPacUrl),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyProxyBypassList,
+ kPolicyProxyBypassList,
key::kProxyBypassList),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyAlternateErrorPagesEnabled,
+ kPolicyAlternateErrorPagesEnabled,
key::kAlternateErrorPagesEnabled),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicySearchSuggestEnabled,
+ kPolicySearchSuggestEnabled,
key::kSearchSuggestEnabled),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyDnsPrefetchingEnabled,
+ kPolicyDnsPrefetchingEnabled,
key::kDnsPrefetchingEnabled),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicySafeBrowsingEnabled,
+ kPolicySafeBrowsingEnabled,
key::kSafeBrowsingEnabled),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyMetricsReportingEnabled,
+ kPolicyMetricsReportingEnabled,
key::kMetricsReportingEnabled),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyPasswordManagerEnabled,
+ kPolicyPasswordManagerEnabled,
key::kPasswordManagerEnabled),
PolicyTestParams::ForListPolicy(
- ConfigurationPolicyStore::kPolicyDisabledPlugins,
+ kPolicyDisabledPlugins,
key::kDisabledPlugins),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyAutoFillEnabled,
+ kPolicyAutoFillEnabled,
key::kAutoFillEnabled),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicySyncDisabled,
+ kPolicySyncDisabled,
key::kSyncDisabled),
PolicyTestParams::ForStringPolicy(
- ConfigurationPolicyStore::kPolicyApplicationLocale,
+ kPolicyApplicationLocale,
key::kApplicationLocaleValue),
PolicyTestParams::ForListPolicy(
- ConfigurationPolicyStore::kPolicyExtensionInstallAllowList,
+ kPolicyExtensionInstallAllowList,
key::kExtensionInstallAllowList),
PolicyTestParams::ForListPolicy(
- ConfigurationPolicyStore::kPolicyExtensionInstallDenyList,
+ kPolicyExtensionInstallDenyList,
key::kExtensionInstallDenyList),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyShowHomeButton,
+ kPolicyShowHomeButton,
key::kShowHomeButton),
PolicyTestParams::ForBooleanPolicy(
- ConfigurationPolicyStore::kPolicyPrintingEnabled,
+ kPolicyPrintingEnabled,
key::kPrintingEnabled)));
} // namespace policy
diff --git a/chrome/browser/policy/configuration_policy_store.h b/chrome/browser/policy/configuration_policy_store.h
deleted file mode 100644
index 9412d81..0000000
--- a/chrome/browser/policy/configuration_policy_store.h
+++ /dev/null
@@ -1,81 +0,0 @@
-// 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_POLICY_CONFIGURATION_POLICY_STORE_H_
-#define CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_STORE_H_
-#pragma once
-
-#include "base/basictypes.h"
-
-class Value;
-
-namespace policy {
-
-// An abstract super class for policy stores that provides a method that can be
-// called by a |ConfigurationPolicyProvider| to specify a policy.
-class ConfigurationPolicyStore {
- public:
- ConfigurationPolicyStore() {}
- virtual ~ConfigurationPolicyStore() {}
-
- enum PolicyType {
- kPolicyHomePage,
- kPolicyHomepageIsNewTabPage,
- kPolicyRestoreOnStartup,
- kPolicyURLsToRestoreOnStartup,
- kPolicyDefaultSearchProviderEnabled,
- kPolicyDefaultSearchProviderName,
- kPolicyDefaultSearchProviderKeyword,
- kPolicyDefaultSearchProviderSearchURL,
- kPolicyDefaultSearchProviderSuggestURL,
- kPolicyDefaultSearchProviderIconURL,
- kPolicyDefaultSearchProviderEncodings,
- kPolicyDisableSpdy,
- kPolicyProxyServerMode,
- kPolicyProxyServer,
- kPolicyProxyPacUrl,
- kPolicyProxyBypassList,
- kPolicyAlternateErrorPagesEnabled,
- kPolicySearchSuggestEnabled,
- kPolicyDnsPrefetchingEnabled,
- kPolicySafeBrowsingEnabled,
- kPolicyMetricsReportingEnabled,
- kPolicyPasswordManagerEnabled,
- kPolicyPasswordManagerAllowShowPasswords,
- kPolicyAutoFillEnabled,
- kPolicySyncDisabled,
- kPolicyApplicationLocale,
- kPolicyExtensionInstallAllowList,
- kPolicyExtensionInstallDenyList,
- kPolicyExtensionInstallForceList,
- kPolicyShowHomeButton,
- kPolicyDisabledPlugins,
- kPolicyPrintingEnabled,
- kPolicyChromeFrameRendererSettings,
- kPolicyRenderInChromeFrameList,
- kPolicyRenderInHostList,
- kPolicyJavascriptEnabled,
- kPolicySavingBrowserHistoryDisabled,
- kPolicyDeveloperToolsDisabled,
- kPolicyChromeOsLockOnIdleSuspend,
- kPolicyBlockThirdPartyCookies,
- };
-
- static const int kPolicyNoProxyServerMode = 0;
- static const int kPolicyAutoDetectProxyMode = 1;
- static const int kPolicyManuallyConfiguredProxyMode = 2;
- static const int kPolicyUseSystemProxyMode = 3;
-
- // A |ConfigurationPolicyProvider| specifies the value of a policy setting
- // through a call to |Apply|.
- // The configuration policy pref store takes over the ownership of |value|.
- virtual void Apply(PolicyType policy, Value* value) = 0;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(ConfigurationPolicyStore);
-};
-
-} // namespace policy
-
-#endif // CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_STORE_H_
diff --git a/chrome/browser/policy/configuration_policy_store_interface.h b/chrome/browser/policy/configuration_policy_store_interface.h
new file mode 100644
index 0000000..7bdcf74
--- /dev/null
+++ b/chrome/browser/policy/configuration_policy_store_interface.h
@@ -0,0 +1,83 @@
+// 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_POLICY_CONFIGURATION_POLICY_STORE_INTERFACE_H_
+#define CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_STORE_INTERFACE_H_
+#pragma once
+
+#include "base/basictypes.h"
+
+class Value;
+
+namespace policy {
+
+enum ConfigurationPolicyType {
+ kPolicyHomePage,
+ kPolicyHomepageIsNewTabPage,
+ kPolicyRestoreOnStartup,
+ kPolicyURLsToRestoreOnStartup,
+ kPolicyDefaultSearchProviderEnabled,
+ kPolicyDefaultSearchProviderName,
+ kPolicyDefaultSearchProviderKeyword,
+ kPolicyDefaultSearchProviderSearchURL,
+ kPolicyDefaultSearchProviderSuggestURL,
+ kPolicyDefaultSearchProviderIconURL,
+ kPolicyDefaultSearchProviderEncodings,
+ kPolicyDisableSpdy,
+ kPolicyProxyServerMode,
+ kPolicyProxyServer,
+ kPolicyProxyPacUrl,
+ kPolicyProxyBypassList,
+ kPolicyAlternateErrorPagesEnabled,
+ kPolicySearchSuggestEnabled,
+ kPolicyDnsPrefetchingEnabled,
+ kPolicySafeBrowsingEnabled,
+ kPolicyMetricsReportingEnabled,
+ kPolicyPasswordManagerEnabled,
+ kPolicyPasswordManagerAllowShowPasswords,
+ kPolicyAutoFillEnabled,
+ kPolicySyncDisabled,
+ kPolicyApplicationLocale,
+ kPolicyExtensionInstallAllowList,
+ kPolicyExtensionInstallDenyList,
+ kPolicyShowHomeButton,
+ kPolicyDisabledPlugins,
+ kPolicyPrintingEnabled,
+ kPolicyChromeFrameRendererSettings,
+ kPolicyRenderInChromeFrameList,
+ kPolicyRenderInHostList,
+ kPolicyJavascriptEnabled,
+ kPolicySavingBrowserHistoryDisabled,
+ kPolicyDeveloperToolsDisabled,
+ kPolicyBlockThirdPartyCookies,
+ kPolicyExtensionInstallForceList,
+ kPolicyChromeOsLockOnIdleSuspend,
+};
+
+static const int kPolicyNoProxyServerMode = 0;
+static const int kPolicyAutoDetectProxyMode = 1;
+static const int kPolicyManuallyConfiguredProxyMode = 2;
+static const int kPolicyUseSystemProxyMode = 3;
+
+// An abstract super class for policy stores that provides a method that can be
+// called by a |ConfigurationPolicyProvider| to specify a policy.
+class ConfigurationPolicyStoreInterface {
+ public:
+ virtual ~ConfigurationPolicyStoreInterface() {}
+
+ // A |ConfigurationPolicyProvider| specifies the value of a policy
+ // setting through a call to |Apply|. The configuration policy pref
+ // store takes over the ownership of |value|.
+ virtual void Apply(ConfigurationPolicyType policy, Value* value) = 0;
+
+ protected:
+ ConfigurationPolicyStoreInterface() {}
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(ConfigurationPolicyStoreInterface);
+};
+
+} // namespace policy
+
+#endif // CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_STORE_INTERFACE_H_
diff --git a/chrome/browser/policy/dummy_configuration_policy_provider.h b/chrome/browser/policy/dummy_configuration_policy_provider.h
index 46ab2fb..2c519cb 100644
--- a/chrome/browser/policy/dummy_configuration_policy_provider.h
+++ b/chrome/browser/policy/dummy_configuration_policy_provider.h
@@ -6,7 +6,7 @@
#define CHROME_BROWSER_POLICY_DUMMY_CONFIGURATION_POLICY_PROVIDER_H_
#pragma once
-#include "chrome/browser/policy/configuration_policy_store.h"
+#include "chrome/browser/policy/configuration_policy_store_interface.h"
#include "chrome/browser/policy/configuration_policy_provider.h"
namespace policy {
@@ -19,7 +19,7 @@ class DummyConfigurationPolicyProvider : public ConfigurationPolicyProvider {
}
virtual ~DummyConfigurationPolicyProvider() {}
- virtual bool Provide(ConfigurationPolicyStore* store) {
+ virtual bool Provide(ConfigurationPolicyStoreInterface* store) {
return true;
}
diff --git a/chrome/browser/policy/file_based_policy_provider.cc b/chrome/browser/policy/file_based_policy_provider.cc
index 285b918..5a92105 100644
--- a/chrome/browser/policy/file_based_policy_provider.cc
+++ b/chrome/browser/policy/file_based_policy_provider.cc
@@ -50,7 +50,8 @@ FileBasedPolicyProvider::~FileBasedPolicyProvider() {
loader_->Stop();
}
-bool FileBasedPolicyProvider::Provide(ConfigurationPolicyStore* store) {
+bool FileBasedPolicyProvider::Provide(
+ ConfigurationPolicyStoreInterface* store) {
scoped_ptr<DictionaryValue> policy(loader_->GetPolicy());
DCHECK(policy.get());
DecodePolicyValueTree(policy.get(), store);
@@ -59,7 +60,7 @@ bool FileBasedPolicyProvider::Provide(ConfigurationPolicyStore* store) {
void FileBasedPolicyProvider::DecodePolicyValueTree(
DictionaryValue* policies,
- ConfigurationPolicyStore* store) {
+ ConfigurationPolicyStoreInterface* store) {
const PolicyDefinitionList* policy_list(policy_definition_list());
for (const PolicyDefinitionList::Entry* i = policy_list->begin;
i != policy_list->end; ++i) {
diff --git a/chrome/browser/policy/file_based_policy_provider.h b/chrome/browser/policy/file_based_policy_provider.h
index 2f3dfae..49af11f 100644
--- a/chrome/browser/policy/file_based_policy_provider.h
+++ b/chrome/browser/policy/file_based_policy_provider.h
@@ -64,12 +64,12 @@ class FileBasedPolicyProvider
virtual ~FileBasedPolicyProvider();
// ConfigurationPolicyProvider implementation.
- virtual bool Provide(ConfigurationPolicyStore* store);
+ virtual bool Provide(ConfigurationPolicyStoreInterface* store);
private:
// Decodes the value tree and writes the configuration to the given |store|.
void DecodePolicyValueTree(DictionaryValue* policies,
- ConfigurationPolicyStore* store);
+ ConfigurationPolicyStoreInterface* store);
// Watches for changes to the configuration directory.
scoped_refptr<FileBasedPolicyWatcher> watcher_;
diff --git a/chrome/browser/policy/file_based_policy_provider_unittest.cc b/chrome/browser/policy/file_based_policy_provider_unittest.cc
index 1aa812d..c78c586 100644
--- a/chrome/browser/policy/file_based_policy_provider_unittest.cc
+++ b/chrome/browser/policy/file_based_policy_provider_unittest.cc
@@ -50,7 +50,7 @@ class MockPolicyProvider : public ConfigurationPolicyProvider,
ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList()) {
}
- virtual bool Provide(ConfigurationPolicyStore* store) {
+ virtual bool Provide(ConfigurationPolicyStoreInterface* store) {
return true;
}
diff --git a/chrome/browser/policy/mock_configuration_policy_provider.cc b/chrome/browser/policy/mock_configuration_policy_provider.cc
new file mode 100644
index 0000000..4f11497
--- /dev/null
+++ b/chrome/browser/policy/mock_configuration_policy_provider.cc
@@ -0,0 +1,35 @@
+// 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/policy/mock_configuration_policy_provider.h"
+
+#include "chrome/browser/policy/configuration_policy_pref_store.h"
+
+namespace policy {
+
+MockConfigurationPolicyProvider::MockConfigurationPolicyProvider()
+ : ConfigurationPolicyProvider(
+ ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList()) {
+}
+
+MockConfigurationPolicyProvider::~MockConfigurationPolicyProvider() {
+ STLDeleteValues(&policy_map_);
+}
+
+void MockConfigurationPolicyProvider::AddPolicy(ConfigurationPolicyType policy,
+ Value* value) {
+ std::swap(policy_map_[policy], value);
+ delete value;
+}
+
+bool MockConfigurationPolicyProvider::Provide(
+ ConfigurationPolicyStoreInterface* store) {
+ for (PolicyMap::const_iterator current = policy_map_.begin();
+ current != policy_map_.end(); ++current) {
+ store->Apply(current->first, current->second->DeepCopy());
+ }
+ return true;
+}
+
+}
diff --git a/chrome/browser/policy/mock_configuration_policy_provider.h b/chrome/browser/policy/mock_configuration_policy_provider.h
index a7fe270..8ba8a88 100644
--- a/chrome/browser/policy/mock_configuration_policy_provider.h
+++ b/chrome/browser/policy/mock_configuration_policy_provider.h
@@ -18,31 +18,17 @@ namespace policy {
// values for polices.
class MockConfigurationPolicyProvider : public ConfigurationPolicyProvider {
public:
- MockConfigurationPolicyProvider()
- : ConfigurationPolicyProvider(
- ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList()) {
- }
- ~MockConfigurationPolicyProvider() {
- STLDeleteValues(&policy_map_);
- }
+ MockConfigurationPolicyProvider();
+ virtual ~MockConfigurationPolicyProvider();
- typedef std::map<ConfigurationPolicyStore::PolicyType, Value*> PolicyMap;
-
- void AddPolicy(ConfigurationPolicyStore::PolicyType policy, Value* value) {
- std::swap(policy_map_[policy], value);
- delete value;
- }
+ void AddPolicy(ConfigurationPolicyType policy, Value* value);
// ConfigurationPolicyProvider method overrides.
- virtual bool Provide(ConfigurationPolicyStore* store) {
- for (PolicyMap::const_iterator current = policy_map_.begin();
- current != policy_map_.end(); ++current) {
- store->Apply(current->first, current->second->DeepCopy());
- }
- return true;
- }
+ virtual bool Provide(ConfigurationPolicyStoreInterface* store);
private:
+ typedef std::map<ConfigurationPolicyType, Value*> PolicyMap;
+
PolicyMap policy_map_;
};
diff --git a/chrome/browser/policy/mock_configuration_policy_store.h b/chrome/browser/policy/mock_configuration_policy_store.h
index 29c4c5a..87dc646 100644
--- a/chrome/browser/policy/mock_configuration_policy_store.h
+++ b/chrome/browser/policy/mock_configuration_policy_store.h
@@ -10,30 +10,31 @@
#include <utility>
#include "base/stl_util-inl.h"
-#include "chrome/browser/policy/configuration_policy_store.h"
+#include "chrome/browser/policy/configuration_policy_store_interface.h"
namespace policy {
// Mock ConfigurationPolicyStore implementation that records values for policy
// settings as they get set.
-class MockConfigurationPolicyStore : public ConfigurationPolicyStore {
+class MockConfigurationPolicyStore : public ConfigurationPolicyStoreInterface {
public:
+ typedef std::map<ConfigurationPolicyType, Value*> PolicyMap;
+
MockConfigurationPolicyStore() {}
~MockConfigurationPolicyStore() {
STLDeleteValues(&policy_map_);
}
- typedef std::map<ConfigurationPolicyStore::PolicyType, Value*> PolicyMap;
- const PolicyMap& policy_map() { return policy_map_; }
+ const PolicyMap& policy_map() const { return policy_map_; }
// Get a value for the given policy. Returns NULL if that key doesn't exist.
- const Value* Get(ConfigurationPolicyStore::PolicyType type) const {
+ const Value* Get(ConfigurationPolicyType type) const {
PolicyMap::const_iterator entry(policy_map_.find(type));
return entry == policy_map_.end() ? NULL : entry->second;
}
// ConfigurationPolicyStore implementation.
- virtual void Apply(PolicyType policy, Value* value) {
+ virtual void Apply(ConfigurationPolicyType policy, Value* value) {
std::swap(policy_map_[policy], value);
delete value;
}