| Index: chrome/browser/bug_report_util.cc
|
| ===================================================================
|
| --- chrome/browser/bug_report_util.cc (revision 80528)
|
| +++ chrome/browser/bug_report_util.cc (working copy)
|
| @@ -13,6 +13,7 @@
|
| #include "base/memory/singleton.h"
|
| #include "base/string_util.h"
|
| #include "base/utf_string_conversions.h"
|
| +#include "base/win/windows_version.h"
|
| #include "chrome/browser/browser_list.h"
|
| #include "chrome/browser/browser_process_impl.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| @@ -156,21 +157,14 @@
|
| }
|
|
|
| // static
|
| -void BugReportUtil::SetOSVersion(std::string *os_version) {
|
| +void BugReportUtil::SetOSVersion(std::string* os_version) {
|
| #if defined(OS_WIN)
|
| - OSVERSIONINFO osvi;
|
| - ZeroMemory(&osvi, sizeof(OSVERSIONINFO));
|
| - osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
|
| -
|
| - if (GetVersionEx(&osvi)) {
|
| - *os_version = StringPrintf("%d.%d.%d %S",
|
| - osvi.dwMajorVersion,
|
| - osvi.dwMinorVersion,
|
| - osvi.dwBuildNumber,
|
| - osvi.szCSDVersion);
|
| - } else {
|
| - *os_version = "unknown";
|
| - }
|
| + OSInfo* os_info = base::win::OSInfo::GetInstance();
|
| + const int* version = os_info->version_number();
|
| + *os_version = StringPrintf("%d.%d.%d", version[0], version[1], version[2]);
|
| + int service_pack = os_info->service_pack()[0];
|
| + if (service_pack > 0)
|
| + os_version->append(StringPrintf("Service Pack %d", service_pack));
|
| #elif defined(OS_MACOSX)
|
| int32 major;
|
| int32 minor;
|
|
|