feat: add BrowserWindow.isSnapped() (#46226)

* feat: add BrowserWindow.isSnapped() on Windows

Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>

* docs: mark _Readonly_

Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
This commit is contained in:
trop[bot] 2025-03-25 08:16:13 -05:00 committed by GitHub
parent 6f3c9fcf99
commit 25e5055065
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 52 additions and 0 deletions

View file

@ -1488,6 +1488,22 @@ bool NativeWindowViews::IsMenuBarVisible() const {
return root_view_.is_menu_bar_visible();
}
bool NativeWindowViews::IsSnapped() const {
#if BUILDFLAG(IS_WIN)
// IsWindowArranged() is not a part of any header file.
// https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-iswindowarranged
using IsWindowArrangedFuncType = BOOL(WINAPI*)(HWND);
static const auto is_window_arranged_func =
reinterpret_cast<IsWindowArrangedFuncType>(
base::win::GetUser32FunctionPointer("IsWindowArranged"));
return is_window_arranged_func
? is_window_arranged_func(GetAcceleratedWidget())
: false;
#else
return false;
#endif
}
void NativeWindowViews::SetBackgroundMaterial(const std::string& material) {
NativeWindow::SetBackgroundMaterial(material);