diff options
author | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-11 15:23:22 +0000 |
---|---|---|
committer | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-11 15:23:22 +0000 |
commit | 79c9e95c352e3b29d31ef83e45cd930bb4c2ff57 (patch) | |
tree | 7ca423b3975d050a76b69cad2ac189ae9ffef47c /chrome_frame | |
parent | 271068e43aee1971f1d2169900d9c93bc6ad84a2 (diff) | |
download | chromium_src-79c9e95c352e3b29d31ef83e45cd930bb4c2ff57.zip chromium_src-79c9e95c352e3b29d31ef83e45cd930bb4c2ff57.tar.gz chromium_src-79c9e95c352e3b29d31ef83e45cd930bb4c2ff57.tar.bz2 |
Change PolicyLoaderWin to load PReg files if possible.
We now query whether GPO is present and read directly from the corresponding
PReg files. The registry is used only as a fallback source for policy values.
To accomplish this, PolicyLoaderWin now works in two steps: It first converts
the GPO input into base::Value representation and then maps that to proper
policy values. This also unifies the handling for Chrome policy and 3rd-party
policy.
BUG=chromium:186445
TEST=unit tests
TBR=grt@chromium.org, cpu@chromium.org, ben@chromium.org
Review URL: https://codereview.chromium.org/13619014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193649 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame')
-rw-r--r-- | chrome_frame/chrome_launcher.cc | 2 | ||||
-rw-r--r-- | chrome_frame/policy_settings.cc | 6 | ||||
-rw-r--r-- | chrome_frame/test/policy_settings_unittest.cc | 6 |
3 files changed, 7 insertions, 7 deletions
diff --git a/chrome_frame/chrome_launcher.cc b/chrome_frame/chrome_launcher.cc index 88fc0da..28613f4 100644 --- a/chrome_frame/chrome_launcher.cc +++ b/chrome_frame/chrome_launcher.cc @@ -164,7 +164,7 @@ void AppendAdditionalLaunchParameters(std::wstring* command_line) { LONG result; bool found = false; for (int i = 0; !found && i < arraysize(kRootKeys); ++i) { - result = ::RegOpenKeyExW(kRootKeys[i], policy::kRegistryMandatorySubKey, 0, + result = ::RegOpenKeyExW(kRootKeys[i], policy::kRegistryChromePolicyKey, 0, KEY_QUERY_VALUE, &key); if (result == ERROR_SUCCESS) { DWORD size = 0; diff --git a/chrome_frame/policy_settings.cc b/chrome_frame/policy_settings.cc index bc873e8..846fd99 100644 --- a/chrome_frame/policy_settings.cc +++ b/chrome_frame/policy_settings.cc @@ -74,7 +74,7 @@ void PolicySettings::ReadUrlSettings( std::wstring settings_value( ASCIIToWide(policy::key::kChromeFrameRendererSettings)); for (int i = 0; i < arraysize(kRootKeys); ++i) { - if ((config_key.Open(kRootKeys[i], policy::kRegistryMandatorySubKey, + if ((config_key.Open(kRootKeys[i], policy::kRegistryChromePolicyKey, KEY_READ) == ERROR_SUCCESS) && (config_key.ReadValueDW(settings_value.c_str(), &value) == ERROR_SUCCESS)) { @@ -109,7 +109,7 @@ void PolicySettings::ReadContentTypeSetting( std::vector<std::wstring>* content_type_list) { DCHECK(content_type_list); - std::wstring sub_key(policy::kRegistryMandatorySubKey); + std::wstring sub_key(policy::kRegistryChromePolicyKey); sub_key += L"\\"; sub_key += ASCIIToWide(policy::key::kChromeFrameContentTypes); @@ -128,7 +128,7 @@ void PolicySettings::ReadStringSetting(const char* value_name, base::win::RegKey config_key; std::wstring value_name_str(ASCIIToWide(value_name)); for (int i = 0; i < arraysize(kRootKeys); ++i) { - if ((config_key.Open(kRootKeys[i], policy::kRegistryMandatorySubKey, + if ((config_key.Open(kRootKeys[i], policy::kRegistryChromePolicyKey, KEY_READ) == ERROR_SUCCESS) && (config_key.ReadValue(value_name_str.c_str(), value) == ERROR_SUCCESS)) { diff --git a/chrome_frame/test/policy_settings_unittest.cc b/chrome_frame/test/policy_settings_unittest.cc index e13af50..343b426 100644 --- a/chrome_frame/test/policy_settings_unittest.cc +++ b/chrome_frame/test/policy_settings_unittest.cc @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "base/basictypes.h" #include "base/at_exit.h" +#include "base/basictypes.h" #include "base/logging.h" #include "base/memory/scoped_ptr.h" #include "base/stringprintf.h" @@ -23,7 +23,7 @@ namespace { // A best effort way to zap CF policy entries that may be in the registry. void DeleteChromeFramePolicyEntries(HKEY root) { RegKey key; - if (key.Open(root, policy::kRegistryMandatorySubKey, + if (key.Open(root, policy::kRegistryChromePolicyKey, KEY_ALL_ACCESS) == ERROR_SUCCESS) { key.DeleteValue( ASCIIToWide(policy::key::kChromeFrameRendererSettings).c_str()); @@ -36,7 +36,7 @@ void DeleteChromeFramePolicyEntries(HKEY root) { bool InitializePolicyKey(HKEY policy_root, RegKey* policy_key) { EXPECT_EQ(ERROR_SUCCESS, policy_key->Create(policy_root, - policy::kRegistryMandatorySubKey, KEY_ALL_ACCESS)); + policy::kRegistryChromePolicyKey, KEY_ALL_ACCESS)); return policy_key->Valid(); } |