Index: chrome_frame/policy_settings.cc |
=================================================================== |
--- chrome_frame/policy_settings.cc (revision 217795) |
+++ chrome_frame/policy_settings.cc (working copy) |
@@ -84,8 +84,8 @@ |
DCHECK(value == RENDERER_NOT_SPECIFIED || |
value == RENDER_IN_HOST || |
- value == RENDER_IN_CHROME_FRAME) << |
- "invalid default renderer setting: " << value; |
+ value == RENDER_IN_CHROME_FRAME) |
+ << "invalid default renderer setting: " << value; |
if (value != RENDER_IN_HOST && value != RENDER_IN_CHROME_FRAME) { |
DVLOG(1) << "default renderer not specified via policy"; |
@@ -105,6 +105,40 @@ |
} |
// static |
+void PolicySettings::ReadMetadataCheckSettings( |
+ SkipMetadataCheck* skip_metadata_check) { |
+ DCHECK(skip_metadata_check); |
+ |
+ *skip_metadata_check = SKIP_METADATA_CHECK_NOT_SPECIFIED; |
+ |
+ base::win::RegKey config_key; |
+ DWORD value = SKIP_METADATA_CHECK_NOT_SPECIFIED; |
+ string16 settings_value( |
+ ASCIIToWide(policy::key::kSkipMetadataCheck)); |
+ for (int i = 0; i < arraysize(kRootKeys); ++i) { |
+ if ((config_key.Open(kRootKeys[i], policy::kRegistryChromePolicyKey, |
+ KEY_READ) == ERROR_SUCCESS) && |
+ (config_key.ReadValueDW(settings_value.c_str(), |
+ &value) == ERROR_SUCCESS)) { |
+ break; |
+ } |
+ } |
+ |
+ DCHECK(value == SKIP_METADATA_CHECK_NOT_SPECIFIED || |
+ value == SKIP_METADATA_CHECK_NO || |
+ value == SKIP_METADATA_CHECK_YES) |
+ << "invalid skip metadata check setting: " << value; |
+ |
+ if (value != SKIP_METADATA_CHECK_NO && value != SKIP_METADATA_CHECK_YES) { |
+ DVLOG(1) << "metadata check not specified via policy"; |
+ } else { |
+ *skip_metadata_check = static_cast<SkipMetadataCheck>(value); |
+ DVLOG(1) << "SkipMetadata check as specified via policy: " |
+ << *skip_metadata_check; |
+ } |
+} |
+ |
+// static |
void PolicySettings::ReadContentTypeSetting( |
std::vector<std::wstring>* content_type_list) { |
DCHECK(content_type_list); |
@@ -156,6 +190,7 @@ |
void PolicySettings::RefreshFromRegistry() { |
RendererForUrl default_renderer; |
+ SkipMetadataCheck skip_metadata_check; |
std::vector<std::wstring> renderer_exclusion_list; |
std::vector<std::wstring> content_type_list; |
std::wstring application_locale; |
@@ -165,6 +200,7 @@ |
// Read the latest settings from the registry |
ReadUrlSettings(&default_renderer, &renderer_exclusion_list); |
+ ReadMetadataCheckSettings(&skip_metadata_check); |
ReadContentTypeSetting(&content_type_list); |
ReadStringSetting(policy::key::kApplicationLocaleValue, &application_locale); |
ReadStringSetting(policy::key::kAdditionalLaunchParameters, |
@@ -181,6 +217,7 @@ |
using std::swap; |
swap(default_renderer_, default_renderer); |
+ swap(skip_metadata_check_, skip_metadata_check); |
swap(renderer_exclusion_list_, renderer_exclusion_list); |
swap(content_type_list_, content_type_list); |
swap(application_locale_, application_locale); |