commit | 251f13a00be12e784c8908e3396b291ff90fa18e | [log] [tgz] |
---|---|---|
author | Jesse McKenna <jessemckenna@google.com> | Thu Nov 17 21:15:03 2022 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Nov 17 21:15:03 2022 |
tree | cade56918fa9d6b6c957146ecf22f297bc6f0995 | |
parent | 5a15f6a13258222053fb7abfb1ef1625c3156a54 [diff] |
Use kernel32 version for OS deprecation infobar This change makes the code to detect obsolete Windows versions get the OS version from `Kernel32Version()` instead of `GetVersion()`. If Chrome is run in App Compatibility mode [1], `GetVersion()` will return the compatibility-mode version rather than the true system version. This may be done by Windows automatically in certain cases, or by system administrators, anti-virus software, etc. The code to detect obsolete Windows versions is used to display warnings that the OS is no longer supported (e.g., the Windows 7/8 deprecation infobar recently added [2]). This means the current code shows warnings to users in compatibility mode for unsupported versions even if their actual OS is Windows 10, which can confuse users [3]. `Kernel32Version()` returns the correct OS version by checking the version of kernel32.dll, and is used in e.g., Crashpad to ensure the right version is recorded. This change was tested by looking for the Windows 7/8 deprecation infobar on the following systems: * Windows 10 (not shown) * Windows 10 in compatibility mode for Windows 8 (not shown) * Windows 7 (shown) * Windows 8.1 (shown) * Windows 8.1 in compatibility mode for Windows 7 (shown, infobar correctly says the OS version is Windows 8.1) [1] done by: 1. right-clicking a taskbar icon 2. navigating to Properties > Compatibility 3. checking the box "Run this program in compatibility mode for" 4. choosing the desired Windows version in the dropdown menu 5. clicking OK 6. launching Chrome via the taskbar icon [2] crrev.com/c/4004000 [3] example support thread from the Win XP/Vista deprecation: https://support.google.com/chrome/thread/99522885/chrome-thinks-i-m-using-xp-but-i-m-using-windows-10?hl=en Bug: 1377525 Change-Id: Ifd413d7efd941e7bb6c7d278ae2414e360147fab Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4031572 Reviewed-by: Bruce Dawson <brucedawson@chromium.org> Reviewed-by: Will Harris <wfh@chromium.org> Commit-Queue: Jesse McKenna <jessemckenna@google.com> Cr-Commit-Position: refs/heads/main@{#1073035}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone
! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.