diff options
Diffstat (limited to 'devel/electron38/files/patch-electron_shell_browser_native__window__views.cc')
-rw-r--r-- | devel/electron38/files/patch-electron_shell_browser_native__window__views.cc | 191 |
1 files changed, 191 insertions, 0 deletions
diff --git a/devel/electron38/files/patch-electron_shell_browser_native__window__views.cc b/devel/electron38/files/patch-electron_shell_browser_native__window__views.cc new file mode 100644 index 000000000000..fc0e80f6bb35 --- /dev/null +++ b/devel/electron38/files/patch-electron_shell_browser_native__window__views.cc @@ -0,0 +1,191 @@ +--- electron/shell/browser/native_window_views.cc.orig 2025-09-02 20:56:04 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" +@@ -284,7 +284,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"; +@@ -309,7 +309,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); +@@ -430,7 +430,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); +@@ -504,7 +504,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(); +@@ -565,7 +565,7 @@ void NativeWindowViews::Show() { + + NotifyWindowShow(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (global_menu_bar_) + global_menu_bar_->OnWindowMapped(); + +@@ -581,7 +581,7 @@ void NativeWindowViews::ShowInactive() { + + NotifyWindowShow(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (global_menu_bar_) + global_menu_bar_->OnWindowMapped(); + +@@ -600,7 +600,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 +@@ -631,7 +631,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(); +@@ -865,7 +865,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_) { +@@ -1122,7 +1122,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 + } +@@ -1162,7 +1162,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(); +@@ -1378,7 +1378,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(); +@@ -1434,7 +1434,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( +@@ -1480,7 +1480,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); + } +@@ -1606,7 +1606,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 = +@@ -1704,7 +1704,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()); +@@ -1825,7 +1825,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 + } +@@ -1867,7 +1867,7 @@ NativeWindowViews::CreateNonClientFrameView(views::Wid + #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() +@@ -1890,7 +1890,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) +@@ -1909,7 +1909,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) |