🐛 fix(window): 修复 Windows 启动最大化显示不全

- 校验原生窗口状态与 WebView2 surface 覆盖率
- 在窗口线程刷新 WebView2 bounds,并为异步窗口命令增加状态屏障
- 完善工作区兜底和多显示器坐标转换
- 补充启动最大化、状态轮询及跨平台回归测试

Fixes #824
This commit is contained in:
Syngnat
2026-08-03 23:26:15 +08:00
parent 1403393178
commit f2e773efc5
17 changed files with 657 additions and 21 deletions

View File

@@ -39,6 +39,7 @@ var desktopOnlyAppMethods = map[string]struct{}{
"SetMacNativeWindowControls": {},
"SetApplicationBrandIcon": {},
"ResetWebViewZoom": {},
"RefreshWebViewBounds": {},
"SelectDataRootDirectory": {},
"GetDataRootDirectoryInfo": {},
"ApplyDataRootDirectory": {},

View File

@@ -108,6 +108,7 @@ func TestMethodInvokerRejectsDesktopOnlyAppMethodsBeforeReflection(t *testing.T)
"ExportDatabaseSQLWithOptions", "ExportSchemaSQLWithOptions",
"ApplyDataRootDirectory", "OpenDataRootDirectory", "SelectLogDirectory", "ApplyLogDirectory", "OpenLogDirectory",
"SelectSavedQueryDirectory", "ApplySavedQueryDirectory", "OpenSavedQueryDirectory", "RevealSavedQueryInFolder", "SetApplicationBrandIcon",
"RefreshWebViewBounds",
} {
_, err := invoker.Invoke(invokeRequest{Namespace: "app", Receiver: "app", Method: method})
if err == nil || !strings.Contains(err.Error(), "unavailable in web runtime") {