chore: drop support for Windows 7 / 8 / 8.1 (#36427)

* chore: drop support for Windows 7 & 8

* chore: remove disable-redraw-lock.patch

* chore: update patches

* Update docs/breaking-changes.md

Co-authored-by: Erick Zhao <erick@hotmail.ca>

* Update docs/breaking-changes.md

Co-authored-by: Keeley Hammond <vertedinde@electronjs.org>

* fix breaking-changes.md

* chore: note last supported version

Co-authored-by: Jeremy Rose <jeremya@chromium.org>

* chore: add link to deprecation policy

* Update docs/breaking-changes.md

Co-authored-by: Jeremy Rose <jeremya@chromium.org>

* update README.md

Co-authored-by: Milan Burda <miburda@microsoft.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Erick Zhao <erick@hotmail.ca>
Co-authored-by: Keeley Hammond <vertedinde@electronjs.org>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
This commit is contained in:
Milan Burda 2022-12-01 02:13:29 +01:00 committed by GitHub
parent 4ff0642af7
commit eb291485bb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
34 changed files with 63 additions and 2606 deletions

View file

@ -71,41 +71,11 @@ bool GetAppUserModelID(ScopedHString* app_id) {
}
bool IsRunningInDesktopBridgeImpl() {
if (IsWindows8OrGreater()) {
// GetPackageFamilyName is not available on Windows 7
using GetPackageFamilyNameFuncPtr = decltype(&GetPackageFamilyName);
static bool initialize_get_package_family_name = true;
static GetPackageFamilyNameFuncPtr get_package_family_namePtr = NULL;
if (initialize_get_package_family_name) {
initialize_get_package_family_name = false;
HMODULE kernel32_base = GetModuleHandle(L"Kernel32.dll");
if (!kernel32_base) {
NOTREACHED() << std::string(" ") << std::string(__FUNCTION__)
<< std::string("(): Can't open Kernel32.dll");
return false;
}
get_package_family_namePtr =
reinterpret_cast<GetPackageFamilyNameFuncPtr>(
GetProcAddress(kernel32_base, "GetPackageFamilyName"));
if (!get_package_family_namePtr) {
return false;
}
}
UINT32 length = PACKAGE_FAMILY_NAME_MAX_LENGTH;
wchar_t packageFamilyName[PACKAGE_FAMILY_NAME_MAX_LENGTH];
HANDLE proc = GetCurrentProcess();
LONG result =
(*get_package_family_namePtr)(proc, &length, packageFamilyName);
return result == ERROR_SUCCESS;
} else {
return false;
}
UINT32 length = PACKAGE_FAMILY_NAME_MAX_LENGTH;
wchar_t packageFamilyName[PACKAGE_FAMILY_NAME_MAX_LENGTH];
HANDLE proc = GetCurrentProcess();
LONG result = GetPackageFamilyName(proc, &length, packageFamilyName);
return result == ERROR_SUCCESS;
}
bool IsRunningInDesktopBridge() {

View file

@ -18,8 +18,6 @@ namespace electron {
bool GetPreferredLanguagesUsingGlobalization(
std::vector<std::wstring>* languages) {
if (base::win::GetVersion() < base::win::Version::WIN10)
return false;
if (!base::win::ResolveCoreWinRTDelayload() ||
!base::win::ScopedHString::ResolveCoreWinRTStringDelayload())
return false;

View file

@ -361,23 +361,11 @@ bool MoveItemToTrashWithError(const base::FilePath& path,
// Elevation prompt enabled for UAC protected files. This overrides the
// SILENT, NO_UI and NOERRORUI flags.
if (base::win::GetVersion() >= base::win::Version::WIN8) {
// Windows 8 introduces the flag RECYCLEONDELETE and deprecates the
// ALLOWUNDO in favor of ADDUNDORECORD.
if (FAILED(pfo->SetOperationFlags(
FOF_NO_UI | FOFX_ADDUNDORECORD | FOF_NOERRORUI | FOF_SILENT |
FOFX_SHOWELEVATIONPROMPT | FOFX_RECYCLEONDELETE))) {
*error = "Failed to set operation flags";
return false;
}
} else {
// For Windows 7 and Vista, RecycleOnDelete is the default behavior.
if (FAILED(pfo->SetOperationFlags(FOF_NO_UI | FOF_ALLOWUNDO |
FOF_NOERRORUI | FOF_SILENT |
FOFX_SHOWELEVATIONPROMPT))) {
*error = "Failed to set operation flags";
return false;
}
if (FAILED(pfo->SetOperationFlags(
FOF_NO_UI | FOFX_ADDUNDORECORD | FOF_NOERRORUI | FOF_SILENT |
FOFX_SHOWELEVATIONPROMPT | FOFX_RECYCLEONDELETE))) {
*error = "Failed to set operation flags";
return false;
}
// Create an IShellItem from the supplied source path.