| Index: base/win/windows_version.cc
|
| diff --git a/base/win/windows_version.cc b/base/win/windows_version.cc
|
| index 5779074ddf6f329338592f91964399ee7d35a2fe..3b280ce7023dfc59ccac1795b553af2038142109 100644
|
| --- a/base/win/windows_version.cc
|
| +++ b/base/win/windows_version.cc
|
| @@ -39,12 +39,23 @@ OSInfo::OSInfo()
|
| if ((version_number_.major == 5) && (version_number_.minor > 0)) {
|
| version_ = (version_number_.minor == 1) ? VERSION_XP : VERSION_SERVER_2003;
|
| } else if (version_number_.major == 6) {
|
| - if (version_info.wProductType == VER_NT_WORKSTATION)
|
| - version_ = (version_number_.minor == 0) ? VERSION_VISTA : VERSION_WIN7;
|
| - else
|
| + if (version_info.wProductType == VER_NT_WORKSTATION) {
|
| + switch (version_number_.minor) {
|
| + case 0:
|
| + version_ = VERSION_VISTA;
|
| + break;
|
| + case 1:
|
| + version_ = VERSION_WIN7;
|
| + break;
|
| + default: // case 2 appears to be win8.
|
| + version_ = VERSION_WIN8;
|
| + }
|
| + } else {
|
| version_ = VERSION_SERVER_2008;
|
| + }
|
| } else if (version_number_.major > 6) {
|
| - version_ = VERSION_WIN7;
|
| + NOTREACHED();
|
| + version_ = VERSION_WIN_LAST;
|
| }
|
| service_pack_.major = version_info.wServicePackMajor;
|
| service_pack_.minor = version_info.wServicePackMinor;
|
|
|