mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-08-22 08:53:46 +08:00
🐛 fix(window): 修复 Windows 恢复窗口后字体模糊
- Windows 从任务栏恢复窗口时直接触发 WebView2 zoom reset - restore 场景不再依赖 viewport ratio drift 判断 - 覆盖最大化和非最大化窗口的恢复修复路径 - 保留最大化窗口零动画修复,避免二次最大化抖动 - 补充窗口恢复策略和 App 自动修复路径测试
This commit is contained in:
@@ -27,9 +27,11 @@ describe('windowStateUi', () => {
|
||||
expect(shouldToggleMaximisedWindowForScaleFix('restore', true)).toBe(false);
|
||||
});
|
||||
|
||||
it('only calls the backend WebView2 zoom reset after a real restore drift', () => {
|
||||
it('calls the backend WebView2 zoom reset whenever a minimized window is restored', () => {
|
||||
expect(shouldResetWebViewZoomForScaleFix('restore', true)).toBe(true);
|
||||
expect(shouldResetWebViewZoomForScaleFix('restore', false)).toBe(false);
|
||||
// 字体模糊/DirectWrite 度量缓存异常不一定表现为 viewport ratio drift,
|
||||
// 因此任务栏恢复场景必须直接走零动画 WebView2 zoom reset。
|
||||
expect(shouldResetWebViewZoomForScaleFix('restore', false)).toBe(true);
|
||||
expect(shouldResetWebViewZoomForScaleFix('activation', true)).toBe(false);
|
||||
expect(shouldResetWebViewZoomForScaleFix('ratio-change', true)).toBe(false);
|
||||
});
|
||||
|
||||
@@ -22,8 +22,8 @@ export const shouldToggleMaximisedWindowForScaleFix = (
|
||||
|
||||
export const shouldResetWebViewZoomForScaleFix = (
|
||||
reason: WindowScaleFixReason,
|
||||
hasViewportScaleDrift: boolean,
|
||||
): boolean => reason === 'restore' && hasViewportScaleDrift;
|
||||
_hasViewportScaleDrift: boolean,
|
||||
): boolean => reason === 'restore';
|
||||
|
||||
export const resolveWindowsScaleCheckDelayMs = (trigger: WindowsScaleCheckTrigger): number =>
|
||||
trigger === 'resize' ? 240 : 0;
|
||||
|
||||
Reference in New Issue
Block a user