summaryrefslogtreecommitdiffstats
path: root/webkit/glue
diff options
context:
space:
mode:
authorpkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-07 22:15:34 +0000
committerpkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-07 22:15:34 +0000
commitf4812211951630ac47b96a1b7b78f3a3dcc2b9b9 (patch)
tree68db135c222a25e8a158bdff620624aa1d75ec34 /webkit/glue
parent42e5c865f8702de0cd9e24726fe9bf69cb5cae9c (diff)
downloadchromium_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.cc13
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