-
Notifications
You must be signed in to change notification settings - Fork 15k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: allow chromium to handle WM_NCCALCSIZE for frameless windows #21164
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have tested this PR under different combinations of window options and I can verify there is no regression.
The change looks good to me too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Nice catch!
Release Notes Persisted
|
I was unable to backport this PR to "6-1-x" cleanly; |
The failing tests are not related to this PR, merging. |
I was unable to backport this PR to "7-1-x" cleanly; |
I have automatically backported this PR to "8-x-y", please check out #21201 |
@deepak1556 has manually backported this PR to "7-1-x", please check out #21205 |
@deepak1556 has manually backported this PR to "6-1-x", please check out #21206 |
Description of Change
The event wasn't handled well for frameless window because of how we claim non client view with no system frame drawn https://cs.chromium.org/chromium/src/ui/views/win/hwnd_message_handler.cc?l=1421-1423
We handle it on our end #16596 but this has led to some perf regressions when maximizing and restoring windows, however if we provide the client area insets for frameless window, chromium can handle this event very well without us having to dedupe code paths.
Refs microsoft/vscode#84343, microsoft/vscode#81102
Verified not to regress the issues previously fixed by #16596, #18321, #19883, #19886, #19928
Checklist
npm test
passesRelease Notes
Notes: fix flickering when maximizing and restoring frameless windows