Index: chrome_frame/policy_settings.cc |
diff --git a/chrome_frame/policy_settings.cc b/chrome_frame/policy_settings.cc |
index 16faec1ae3942d296cc1bb9c40ce7d3b24b3bc6a..70412375b7a811d0a14873b195896dccae975864 100644 |
--- a/chrome_frame/policy_settings.cc |
+++ b/chrome_frame/policy_settings.cc |
@@ -137,6 +137,23 @@ void PolicySettings::ReadStringSetting(const char* value_name, |
} |
} |
+// static |
+void PolicySettings::ReadBoolSetting(const char* value_name, bool* value) { |
+ DCHECK(value); |
+ base::win::RegKey config_key; |
+ std::wstring value_name_str(ASCIIToWide(value_name)); |
+ DWORD dword_value = 0; |
+ for (int i = 0; i < arraysize(kRootKeys); ++i) { |
+ if ((config_key.Open(kRootKeys[i], policy::kRegistryChromePolicyKey, |
+ KEY_QUERY_VALUE) == ERROR_SUCCESS) && |
+ (config_key.ReadValueDW(value_name_str.c_str(), |
+ &dword_value) == ERROR_SUCCESS)) { |
+ *value = (dword_value != 0); |
+ break; |
+ } |
+ } |
+} |
+ |
void PolicySettings::RefreshFromRegistry() { |
RendererForUrl default_renderer; |
std::vector<std::wstring> renderer_exclusion_list; |
@@ -144,6 +161,7 @@ void PolicySettings::RefreshFromRegistry() { |
std::wstring application_locale; |
CommandLine additional_launch_parameters(CommandLine::NO_PROGRAM); |
std::wstring additional_parameters_str; |
+ bool suppress_turndown_prompt = false; |
// Read the latest settings from the registry |
ReadUrlSettings(&default_renderer, &renderer_exclusion_list); |
@@ -155,6 +173,8 @@ void PolicySettings::RefreshFromRegistry() { |
additional_parameters_str.insert(0, L"fake.exe "); |
additional_launch_parameters.ParseFromString(additional_parameters_str); |
} |
+ ReadBoolSetting(policy::key::kSuppressChromeFrameTurndownPrompt, |
+ &suppress_turndown_prompt); |
// Nofail swap in the new values. (Note: this is all that need be protected |
// under a mutex if/when this becomes thread safe.) |
@@ -165,6 +185,7 @@ void PolicySettings::RefreshFromRegistry() { |
swap(content_type_list_, content_type_list); |
swap(application_locale_, application_locale); |
swap(additional_launch_parameters_, additional_launch_parameters); |
+ swap(suppress_turndown_prompt_, suppress_turndown_prompt); |
} |
// static |