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 bc8ac7431f25d1fd6f026f8049d589cba01fa6fd..1bb0c95acf2df61975b1cc6423eb8514bb3488e4 100644
  11. --- a/ui/ozone/platform/x11/ozone_platform_x11.cc
  12. +++ b/ui/ozone/platform/x11/ozone_platform_x11.cc
  13. @@ -192,6 +192,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 78e83ecd9bf73cbc8d9c1d697f022f9f1f0f1d66..8ca1b1451b5bea0100a723e327762d16622c76fe 100644
  23. --- a/ui/ozone/public/ozone_platform.h
  24. +++ b/ui/ozone/public/ozone_platform.h
  25. @@ -128,6 +128,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;