Chromium Code Reviews| Index: base/sys_info_ios.mm |
| diff --git a/base/sys_info_ios.mm b/base/sys_info_ios.mm |
| index 8b1ffd4521192f0f9db7e9c2b3b6621a4e6d1838..8b25ef5c631eb6d0dd4d4ff00548aacf7d216c00 100644 |
| --- a/base/sys_info_ios.mm |
| +++ b/base/sys_info_ios.mm |
| @@ -76,4 +76,36 @@ std::string SysInfo::CPUModelName() { |
| return std::string(); |
| } |
| +// static |
| +bool SysInfo::IsRunningOnIOS5OrLater() { |
| + return IsRunningOnOrLater(5, 0, 0); |
| +} |
| + |
| +// static |
| +bool SysInfo::IsRunningOnIOS6OrLater() { |
| + return IsRunningOnOrLater(6, 0, 0); |
| +} |
| + |
| +// static |
| +bool SysInfo::IsRunningOnOrLater(int major, int minor, int bugFix) { |
| + static int32 digits[3] = { 0, 0, 0 }; |
|
Mark Mentovai
2012/10/05 12:49:05
You know how I feel about these. I’d prefer to jus
qsr
2012/10/05 14:53:56
Done.
|
| + if (digits[0] == 0) { |
| + OperatingSystemVersionNumbers(&digits[0], &digits[1], &digits[2]); |
|
Mark Mentovai
2012/10/05 12:49:05
mac_util uses uname for its runtime OS version che
qsr
2012/10/05 14:53:56
On iOS, we are calling: [[UIDevice currentDevice]
|
| + } |
| + if (digits[0] < major) |
|
Mark Mentovai
2012/10/05 12:49:05
Seems like this could be written as a loop. Or wou
qsr
2012/10/05 14:53:56
I'll do a loop. Version is working on string. I do
|
| + return NO; |
| + if (digits[0] > major) |
| + return YES; |
| + // digits[0] == major |
| + if (digits[1] < minor) |
| + return NO; |
| + if (digits[1] > minor) |
| + return YES; |
| + // digits[1] == minor |
| + if (digits[2] < bugFix) |
| + return NO; |
| + // digits[2] >= bugFix |
| + return YES; |
| +} |
| + |
| } // namespace base |