introduce_ozoneplatform_electron_can_call_x11_property.patch 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
  2. From: Marek Rusinowski <[email protected]>
  3. Date: Wed, 23 Mar 2022 21:09:37 +0100
  4. Subject: introduce OzonePlatform::electron_can_call_x11 property
  5. We expose this additonal property in the OzonePlatform to be able to easily
  6. determine whatever we can call X11 functions without crashing the application
  7. at rutime. It would be best if eventually all usages of this property were
  8. replaced with clean ozone native implementations.
  9. diff --git a/ui/ozone/platform/x11/ozone_platform_x11.cc b/ui/ozone/platform/x11/ozone_platform_x11.cc
  10. index 3409429c7bbe0ac0960564c69d613e0cfa853765..ea48ed5231b5e01a72cd18ff3bd4058cef4ba81d 100644
  11. --- a/ui/ozone/platform/x11/ozone_platform_x11.cc
  12. +++ b/ui/ozone/platform/x11/ozone_platform_x11.cc
  13. @@ -193,6 +193,7 @@ class OzonePlatformX11 : public OzonePlatform,
  14. base::MessagePumpType::UI;
  15. properties->supports_vulkan_swap_chain = true;
  16. properties->skia_can_fall_back_to_x11 = true;
  17. + properties->electron_can_call_x11 = true;
  18. properties->platform_shows_drag_image = false;
  19. properties->supports_global_application_menus = true;
  20. properties->app_modal_dialogs_use_event_blocker = true;
  21. diff --git a/ui/ozone/public/ozone_platform.h b/ui/ozone/public/ozone_platform.h
  22. index 21b4bceb3b7fcf191d4a4c0805823969e7ca99e4..f0cbb0ae08f6d0bc837c21c259ec5613e2ce62f6 100644
  23. --- a/ui/ozone/public/ozone_platform.h
  24. +++ b/ui/ozone/public/ozone_platform.h
  25. @@ -124,6 +124,10 @@ class COMPONENT_EXPORT(OZONE) OzonePlatform {
  26. // Linux only: determines if Skia can fall back to the X11 output device.
  27. bool skia_can_fall_back_to_x11 = false;
  28. + // Linux only: determines is Electron can call selected X11 functions while
  29. + // it migrates to pure ozone abstractions.
  30. + bool electron_can_call_x11 = false;
  31. +
  32. // Wayland only: determines whether windows which are not top level ones
  33. // should be given parents explicitly.
  34. bool set_parent_for_non_top_level_windows = false;