fix: calling of X11 functions when running under Wayland (#33355)
* fix: don't call X11 functions in file dialog and message box * refactor: remove unused GtkUiPlatform declaration * fix: set gtk darktheme only when running under X11 * fix: replace X11 window state watcher with implementation using ozone * fix: make sure global menu barr is used only when supported * fix: don't call X11 function in native window views under wayland * style: fix lint issues * fix: use GtkUiPlatform::ShowGtkWindow instead of gtk_window_present directly * refactor: extract CreateGlobalMenuBar into separate function * refactor: move checking for WaylandWindowDecorations inside class * fix: check if we run under X11 only in ozone build * refactor: drop including unused ui/base/ui_base_features.h header * fix: modify ui_gtk_public_header.patch to also export gtk_ui.h * fix: refactor guarding of X11 calls - Introduce patch exposing new electron_can_call_x11 property - Replace defined(USE_OZONE) with BUILDFLAG(OZONE_PLATFORM_X11) flags * fix: remove the last remaining usage of USE_X11 * fix: usage of BUILDFLAG(OZONE_PLATFORM_X11) not building on non ozone * fix: call UpdateWindowState from OnBoundsChanged only under X11
This commit is contained in:
parent
1153a5ce5a
commit
cdf2b3f4e4
16 changed files with 305 additions and 309 deletions
|
@ -16,6 +16,13 @@
|
|||
#include "third_party/skia/include/core/SkRegion.h"
|
||||
#include "ui/views/widget/widget_observer.h"
|
||||
|
||||
#if defined(USE_OZONE)
|
||||
#include "ui/ozone/buildflags.h"
|
||||
#if BUILDFLAG(OZONE_PLATFORM_X11)
|
||||
#define USE_OZONE_PLATFORM_X11
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
#include "base/win/scoped_gdi_object.h"
|
||||
#include "shell/browser/ui/win/taskbar_host.h"
|
||||
|
@ -32,7 +39,7 @@ class GlobalMenuBarX11;
|
|||
class RootView;
|
||||
class WindowStateWatcher;
|
||||
|
||||
#if defined(USE_X11)
|
||||
#if defined(USE_OZONE_PLATFORM_X11)
|
||||
class EventDisabler;
|
||||
#endif
|
||||
|
||||
|
@ -259,12 +266,12 @@ class NativeWindowViews : public NativeWindow,
|
|||
// events from resizing the window.
|
||||
extensions::SizeConstraints old_size_constraints_;
|
||||
|
||||
#if defined(USE_X11)
|
||||
#if defined(USE_OZONE)
|
||||
std::unique_ptr<GlobalMenuBarX11> global_menu_bar_;
|
||||
|
||||
// Handles window state events.
|
||||
std::unique_ptr<WindowStateWatcher> window_state_watcher_;
|
||||
#endif
|
||||
|
||||
#if defined(USE_OZONE_PLATFORM_X11)
|
||||
// To disable the mouse events.
|
||||
std::unique_ptr<EventDisabler> event_disabler_;
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue