Index: chrome_frame/utils.cc |
=================================================================== |
--- chrome_frame/utils.cc (revision 217795) |
+++ chrome_frame/utils.cc (working copy) |
@@ -9,6 +9,7 @@ |
#include <htiframe.h> |
#include <mshtml.h> |
#include <shlobj.h> |
+#include <limits> |
#include "base/file_version_info.h" |
#include "base/lazy_instance.h" |
@@ -65,6 +66,7 @@ |
const wchar_t kChromeFrameConfigKey[] = L"Software\\Google\\ChromeFrame"; |
const wchar_t kEnableBuggyBhoIntercept[] = L"EnableBuggyBhoIntercept"; |
const wchar_t kEnableGCFRendererByDefault[] = L"IsDefaultRenderer"; |
+const wchar_t kSkipGCFMetadataCheck[] = L"SkipGCFMetadataCheck"; |
const wchar_t kExcludeUAFromDomainList[] = L"ExcludeUAFromDomain"; |
const wchar_t kPatchProtocols[] = L"PatchProtocols"; |
const wchar_t kRenderInGCFUrlList[] = L"RenderInGcfUrls"; |
@@ -737,6 +739,24 @@ |
return is_default != 0; |
} |
+// Check for the registry key 'SkipGCFMetadataCheck' and if true, then |
+// ignore presence of <meta http-equiv="X-UA-Compatible" content="chrome=1"> |
+bool SkipMetadataCheck() { |
+ // Check policy settings |
+ PolicySettings::SkipMetadataCheck metadataCheck = |
+ PolicySettings::GetInstance()->skip_metadata_check(); |
+ if (metadataCheck != PolicySettings::SKIP_METADATA_CHECK_NOT_SPECIFIED) |
+ return (metadataCheck == PolicySettings::SKIP_METADATA_CHECK_YES); |
+ |
+ DWORD skip = 0; |
+ RegKey config_key; |
+ if (config_key.Open(HKEY_CURRENT_USER, kChromeFrameConfigKey, |
+ KEY_READ) == ERROR_SUCCESS) { |
+ config_key.ReadValueDW(kSkipGCFMetadataCheck, &skip); |
+ } |
+ return skip != 0; |
+} |
+ |
RendererType RendererTypeForUrl(const std::wstring& url) { |
// First check if the default renderer settings are specified by policy. |
// If so, then that overrides the user settings. |