diff options
Diffstat (limited to 'chrome_frame/chrome_frame_automation.cc')
-rw-r--r-- | chrome_frame/chrome_frame_automation.cc | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/chrome_frame/chrome_frame_automation.cc b/chrome_frame/chrome_frame_automation.cc index b05c32aa..7a49f18 100644 --- a/chrome_frame/chrome_frame_automation.cc +++ b/chrome_frame/chrome_frame_automation.cc @@ -45,6 +45,15 @@ static const wchar_t kUmaSendIntervalValue[] = L"UmaSendInterval"; // threads. Lock g_ChromeFrameHistogramLock; +namespace { +std::wstring GetCurrentModuleVersion() { + scoped_ptr<FileVersionInfo> module_version_info( + FileVersionInfo::CreateFileVersionInfoForCurrentModule()); + DCHECK(module_version_info.get() != NULL); + return module_version_info->file_version(); +} +} + class ChromeFrameAutomationProxyImpl::TabProxyNotificationMessageFilter : public IPC::ChannelProxy::MessageFilter { public: @@ -305,6 +314,10 @@ void AutomationProxyCacheEntry::CreateProxy(ChromeFrameLaunchParams* params, command_line->AppendSwitchPath(switches::kUserDataDir, params->profile_path()); + // Ensure that Chrome is running the specified version of chrome.dll. + command_line->AppendSwitchNative(switches::kChromeVersion, + GetCurrentModuleVersion()); + if (!params->language().empty()) command_line->AppendSwitchNative(switches::kLang, params->language()); @@ -1301,14 +1314,7 @@ void ChromeFrameAutomationClient::SendContextMenuCommandToChromeFrame( } std::wstring ChromeFrameAutomationClient::GetVersion() const { - static FileVersionInfo* version_info = - FileVersionInfo::CreateFileVersionInfoForCurrentModule(); - - std::wstring version; - if (version_info) - version = version_info->product_version(); - - return version; + return GetCurrentModuleVersion(); } void ChromeFrameAutomationClient::Print(HDC print_dc, |