refactor: replace USE_X11 with OS_LINUX for sharing code with Ozone#21
refactor: replace USE_X11 with OS_LINUX for sharing code with Ozone#21
Conversation
🔍 PR Link Analysis🔗 Ranked Links#1 these Wayland patches🔍 The referenced patch series demonstrates the specific code changes needed to replace X11-specific conditionals with Linux-generic ones, enabling Electron to share code with Ozone and support Wayland. #2 going away🔍 The issue requests that Electron provide prebuilt binaries compatible with Wayland, as current Linux releases link to X11 libraries and perform poorly on Wayland-based systems, especially embedded devices. #3 commit guidelines🔍 This pull request replaces the USE_X11 build flag with OS_LINUX to enable sharing code across X11 and Wayland (Ozone) backends. #4 https://github.com/electron/electron/blob/master/CONTRIBUTING.md🔍 The pull request replaces #5 chromium#1085700🔍 The webpage content is not available, but based on the PR context, this change replaces the USE_X11 preprocessor macro with OS_LINUX to allow shared code paths between X11 and Wayland (Ozone) builds on Linux. #6 these chromium changes🔍 The webpage describes Gerrit Code Review, a web-based code review system for Git repositories, which is used to manage and review patches like the Wayland support changes referenced in this PR. |
Description of Change
This pull-request is a small first step in trying to bring support for Wayland to Electron. I'm planning to follow up on this with more pull-requests in an effort to upstream these Wayland patches.
However, those patches will need some adjustments in order to make them compatible with the upcoming Chromium changes (chromium#1085700) which will soon be merged into Electron (#25488). In particular, it should be taken into consideration that the
USE_X11andUSE_OZONEbuild flags are no longer mutually exclusive.Also,
USE_X11is going away so it might be desirable as a long term goal to remove it from Electron too and replace it with the Ozone equivalents.With that in mind, this pull-request replaces a few instances of
#if defined(USE_X11)with#if defined(OS_LINUX)where it was identified that the guarded code could be shared with Ozone.The more meaningful changes will come in the upcoming pull-requests but I'll be waiting for these chromium changes to be pulled into Electron first (#24984, #25488).
Checklist
npm testpassesRelease Notes
Notes: none