aboutsummaryrefslogtreecommitdiff
path: root/devel/electron39/files/patch-electron_shell_browser_native__window__views.cc
diff options
context:
space:
mode:
Diffstat (limited to 'devel/electron39/files/patch-electron_shell_browser_native__window__views.cc')
-rw-r--r--devel/electron39/files/patch-electron_shell_browser_native__window__views.cc191
1 files changed, 191 insertions, 0 deletions
diff --git a/devel/electron39/files/patch-electron_shell_browser_native__window__views.cc b/devel/electron39/files/patch-electron_shell_browser_native__window__views.cc
new file mode 100644
index 000000000000..a2c99b2b5972
--- /dev/null
+++ b/devel/electron39/files/patch-electron_shell_browser_native__window__views.cc
@@ -0,0 +1,191 @@
+--- electron/shell/browser/native_window_views.cc.orig 2025-10-27 17:58:27 UTC
++++ electron/shell/browser/native_window_views.cc
+@@ -53,7 +53,7 @@
+ #include "ui/wm/core/shadow_types.h"
+ #include "ui/wm/core/window_util.h"
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "base/notimplemented.h"
+ #include "shell/browser/browser.h"
+ #include "shell/browser/linux/unity_service.h"
+@@ -283,7 +283,7 @@ NativeWindowViews::NativeWindowViews(const gin_helper:
+ params.parent = parent->GetNativeWindow();
+
+ params.native_widget = new ElectronDesktopNativeWidgetAura{this, widget()};
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ std::string name = Browser::Get()->GetName();
+ // Set WM_WINDOW_ROLE.
+ params.wm_role_name = "browser-window";
+@@ -308,7 +308,7 @@ NativeWindowViews::NativeWindowViews(const gin_helper:
+ std::string window_type;
+ options.Get(options::kType, &window_type);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Set _GTK_THEME_VARIANT to dark if we have "dark-theme" option set.
+ if (options.ValueOrDefault(options::kDarkTheme, false))
+ SetGTKDarkThemeEnabled(true);
+@@ -429,7 +429,7 @@ NativeWindowViews::NativeWindowViews(const gin_helper:
+ if (window)
+ window->AddPreTargetHandler(this);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // On linux after the widget is initialized we might have to force set the
+ // bounds if the bounds are smaller than the current display
+ SetBounds(gfx::Rect(GetPosition(), bounds.size()), false);
+@@ -503,7 +503,7 @@ void NativeWindowViews::SetGTKDarkThemeEnabled(bool us
+ }
+
+ void NativeWindowViews::SetGTKDarkThemeEnabled(bool use_dark_theme) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (x11_util::IsX11()) {
+ const std::string color = use_dark_theme ? "dark" : "light";
+ auto* connection = x11::Connection::Get();
+@@ -564,7 +564,7 @@ void NativeWindowViews::Show() {
+
+ NotifyWindowShow();
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (global_menu_bar_)
+ global_menu_bar_->OnWindowMapped();
+
+@@ -580,7 +580,7 @@ void NativeWindowViews::ShowInactive() {
+
+ NotifyWindowShow();
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (global_menu_bar_)
+ global_menu_bar_->OnWindowMapped();
+
+@@ -599,7 +599,7 @@ void NativeWindowViews::Hide() {
+
+ NotifyWindowHide();
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (global_menu_bar_)
+ global_menu_bar_->OnWindowUnmapped();
+ #endif
+@@ -630,7 +630,7 @@ bool NativeWindowViews::IsEnabled() const {
+ bool NativeWindowViews::IsEnabled() const {
+ #if BUILDFLAG(IS_WIN)
+ return ::IsWindowEnabled(GetAcceleratedWidget());
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (x11_util::IsX11())
+ return !event_disabler_.get();
+ NOTIMPLEMENTED();
+@@ -864,7 +864,7 @@ void NativeWindowViews::SetBounds(const gfx::Rect& bou
+ }
+ #endif
+
+-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // On Linux and Windows the minimum and maximum size should be updated with
+ // window size when window is not resizable.
+ if (!CanResize()) {
+@@ -1124,7 +1124,7 @@ bool NativeWindowViews::IsClosable() const {
+ return false;
+ }
+ return !(info.fState & MFS_DISABLED);
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return true;
+ #endif
+ }
+@@ -1164,7 +1164,7 @@ void NativeWindowViews::Center() {
+ // for now to avoid breaking API contract, but should consider the long
+ // term plan for this aligning with upstream.
+ void NativeWindowViews::Center() {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ auto display =
+ display::Screen::Get()->GetDisplayNearestWindow(GetNativeWindow());
+ gfx::Rect window_bounds_in_screen = display.work_area();
+@@ -1380,7 +1380,7 @@ void NativeWindowViews::SetMenu(ElectronMenuModel* men
+ }
+
+ void NativeWindowViews::SetMenu(ElectronMenuModel* menu_model) {
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Remove global menu bar.
+ if (global_menu_bar_ && menu_model == nullptr) {
+ global_menu_bar_.reset();
+@@ -1436,7 +1436,7 @@ void NativeWindowViews::SetParentWindow(NativeWindow*
+ void NativeWindowViews::SetParentWindow(NativeWindow* parent) {
+ NativeWindow::SetParentWindow(parent);
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (x11_util::IsX11()) {
+ auto* connection = x11::Connection::Get();
+ connection->SetProperty(
+@@ -1482,7 +1482,7 @@ void NativeWindowViews::SetProgressBar(double progress
+ NativeWindow::ProgressState state) {
+ #if BUILDFLAG(IS_WIN)
+ taskbar_host_.SetProgressBar(GetAcceleratedWidget(), progress, state);
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (unity::IsRunning()) {
+ unity::SetProgressFraction(progress);
+ }
+@@ -1608,7 +1608,7 @@ content::DesktopMediaID NativeWindowViews::GetDesktopM
+ #if BUILDFLAG(IS_WIN)
+ window_handle =
+ reinterpret_cast<content::DesktopMediaID::Id>(accelerated_widget);
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ window_handle = static_cast<uint32_t>(accelerated_widget);
+ #endif
+ aura::WindowTreeHost* const host =
+@@ -1706,7 +1706,7 @@ void NativeWindowViews::SetIcon(HICON window_icon, HIC
+ SendMessage(hwnd, WM_SETICON, ICON_BIG,
+ reinterpret_cast<LPARAM>(app_icon_.get()));
+ }
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ void NativeWindowViews::SetIcon(const gfx::ImageSkia& icon) {
+ auto* tree_host = views::DesktopWindowTreeHostLinux::GetHostForWidget(
+ GetAcceleratedWidget());
+@@ -1827,7 +1827,7 @@ bool NativeWindowViews::CanMinimize() const {
+ bool NativeWindowViews::CanMinimize() const {
+ #if BUILDFLAG(IS_WIN)
+ return minimizable_;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return true;
+ #endif
+ }
+@@ -1869,7 +1869,7 @@ std::unique_ptr<views::FrameView> NativeWindowViews::C
+ #endif
+ }
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ electron::ClientFrameViewLinux* NativeWindowViews::GetClientFrameViewLinux() {
+ // Check to make sure this window's non-client frame view is a
+ // ClientFrameViewLinux. If either has_frame() or has_client_frame()
+@@ -1892,7 +1892,7 @@ void NativeWindowViews::HandleKeyboardEvent(
+ if (widget_destroyed_)
+ return;
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (event.windows_key_code == ui::VKEY_BROWSER_BACK)
+ NotifyWindowExecuteAppCommand(kBrowserBackward);
+ else if (event.windows_key_code == ui::VKEY_BROWSER_FORWARD)
+@@ -1911,7 +1911,7 @@ void NativeWindowViews::OnMouseEvent(ui::MouseEvent* e
+ // Alt+Click should not toggle menu bar.
+ root_view_.ResetAltState();
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ if (event->changed_button_flags() == ui::EF_BACK_MOUSE_BUTTON)
+ NotifyWindowExecuteAppCommand(kBrowserBackward);
+ else if (event->changed_button_flags() == ui::EF_FORWARD_MOUSE_BUTTON)