diff options
Diffstat (limited to 'devel/electron37/files/patch-electron_shell_browser_native__window__views.cc')
-rw-r--r-- | devel/electron37/files/patch-electron_shell_browser_native__window__views.cc | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/devel/electron37/files/patch-electron_shell_browser_native__window__views.cc b/devel/electron37/files/patch-electron_shell_browser_native__window__views.cc new file mode 100644 index 000000000000..dc3bb249236d --- /dev/null +++ b/devel/electron37/files/patch-electron_shell_browser_native__window__views.cc @@ -0,0 +1,182 @@ +--- electron/shell/browser/native_window_views.cc.orig 2025-07-02 10:12:01 UTC ++++ electron/shell/browser/native_window_views.cc +@@ -51,7 +51,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/strings/string_util.h" + #include "shell/browser/browser.h" + #include "shell/browser/linux/unity_service.h" +@@ -299,7 +299,7 @@ NativeWindowViews::NativeWindowViews(const gin_helper: + params.parent = parent->GetNativeWindow(); + + params.native_widget = new ElectronDesktopNativeWidgetAura(this); +-#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"; +@@ -324,7 +324,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); +@@ -448,7 +448,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); +@@ -469,7 +469,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(); +@@ -530,7 +530,7 @@ void NativeWindowViews::Show() { + + NotifyWindowShow(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (global_menu_bar_) + global_menu_bar_->OnWindowMapped(); + +@@ -546,7 +546,7 @@ void NativeWindowViews::ShowInactive() { + + NotifyWindowShow(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (global_menu_bar_) + global_menu_bar_->OnWindowMapped(); + +@@ -565,7 +565,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 +@@ -596,7 +596,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(); +@@ -846,7 +846,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 (!resizable_) { +@@ -1103,7 +1103,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 + } +@@ -1143,7 +1143,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::GetScreen()->GetDisplayNearestWindow(GetNativeWindow()); + gfx::Rect window_bounds_in_screen = display.work_area(); +@@ -1368,7 +1368,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(); +@@ -1424,7 +1424,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( +@@ -1470,7 +1470,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); + } +@@ -1568,7 +1568,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 = +@@ -1666,7 +1666,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()); +@@ -1771,7 +1771,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 + } +@@ -1827,7 +1827,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) +@@ -1846,7 +1846,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) |