| // Copyright 2018 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. |
| |
| #include "remoting/base/platform_details.h" |
| |
| #include "base/system/sys_info.h" |
| #include "build/build_config.h" |
| |
| #if defined(OS_MACOSX) && !defined(OS_IOS) |
| #include "base/mac/mac_util.h" |
| #endif |
| |
| namespace remoting { |
| |
| // Get the Operating System Version, removing the need to check for OS |
| // definitions, to keep the format used consistent. |
| std::string GetOperatingSystemVersionString() { |
| #if defined(OS_MACOSX) && !defined(OS_IOS) |
| if (base::mac::IsAtLeastOS10_10()) { |
| return base::SysInfo::OperatingSystemVersion(); |
| } else { |
| // MacOS Hosts prior to 10.10 were reporting incorrect OS versions after the |
| // removal of the 10.9 and lower checks back in ~M66. Since we don't know |
| // the exact version in this case, I've chosen a number that is obviously |
| // not a valid MacOS OS version. That way it will be easier to find if |
| // someone is unaware of this problem and does a code search to find it. |
| // See crbug.com/889259 for more context. |
| return "10.9.9999"; |
| } |
| #else |
| return base::SysInfo::OperatingSystemVersion(); |
| #endif |
| } |
| |
| } // namespace remoting |