diff options
author | pkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-07 22:15:34 +0000 |
---|---|---|
committer | pkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-07 22:15:34 +0000 |
commit | f4812211951630ac47b96a1b7b78f3a3dcc2b9b9 (patch) | |
tree | 68db135c222a25e8a158bdff620624aa1d75ec34 /webkit/glue | |
parent | 42e5c865f8702de0cd9e24726fe9bf69cb5cae9c (diff) | |
download | chromium_src-f4812211951630ac47b96a1b7b78f3a3dcc2b9b9.zip chromium_src-f4812211951630ac47b96a1b7b78f3a3dcc2b9b9.tar.gz chromium_src-f4812211951630ac47b96a1b7b78f3a3dcc2b9b9.tar.bz2 |
Make the windows_version.h functions threadsafe by using a singleton. Add accessors to the singleton for more values that various code wants, then convert almost everyone using OSVERSIONINFO or SYSTEM_INFO structs to calling these accessors. Declare an AtExitManager in the out-of-process test runner since it didn't have one and that breaks singleton-using code in the test executable (as opposed to in chrome.dll).
A few other minor cleanups along the way (binding of "*", shorter code, etc.). Because I ran into problems with it while modifying gcapi.cc, I cleaned up our usage of strsafe.h a bit, so that files that don't need it don't include it and files that do use STRSAFE_NO_DEPRECATE instead of a modified #include order.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6816027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80851 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue')
-rw-r--r-- | webkit/glue/user_agent.cc | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/webkit/glue/user_agent.cc b/webkit/glue/user_agent.cc index c8d8b24..f92bc9a 100644 --- a/webkit/glue/user_agent.cc +++ b/webkit/glue/user_agent.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -64,14 +64,15 @@ std::string BuildOSCpuInfo() { #if defined(OS_WIN) std::string architecture_token; - if (base::win::GetWOW64Status() == base::win::WOW64_ENABLED) { + base::win::OSInfo* os_info = base::win::OSInfo::GetInstance(); + if (os_info->wow64_status() == base::win::OSInfo::WOW64_ENABLED) { architecture_token = "; WOW64"; } else { - base::win::WindowsArchitecture windows_architecture = - base::win::GetWindowsArchitecture(); - if (windows_architecture == base::win::X64_ARCHITECTURE) + base::win::OSInfo::WindowsArchitecture windows_architecture = + os_info->architecture(); + if (windows_architecture == base::win::OSInfo::X64_ARCHITECTURE) architecture_token = "; Win64; x64"; - else if (windows_architecture == base::win::IA64_ARCHITECTURE) + else if (windows_architecture == base::win::OSInfo::IA64_ARCHITECTURE) architecture_token = "; Win64; IA64"; } #endif |