fix: external resize hit targets for frameless windows on Windows#50706
Merged
ckerr merged 1 commit intoApr 9, 2026
Merged
Conversation
a5ffffa to
26b8c8f
Compare
This comment was marked as resolved.
This comment was marked as resolved.
26b8c8f to
02b7ff0
Compare
Member
|
The build fails with this: |
Member
Author
|
/request-review @ckerr,@codebytere |
3 tasks
77adbf8 to
2d852af
Compare
d466d6a to
c107dc5
Compare
3 tasks
ca99815 to
7ec7a37
Compare
7ec7a37 to
ca4dfcb
Compare
ca4dfcb to
1132dbf
Compare
codebytere
approved these changes
Apr 9, 2026
codebytere
left a comment
Member
There was a problem hiding this comment.
tested and looks good to me :)
Member
Author
|
@codebytere I don’t think this will be backportable to 40.x, just 41 and newer. |
ckerr
approved these changes
Apr 9, 2026
|
Release Notes Persisted
|
This was referenced Apr 9, 2026
Contributor
|
I have automatically backported this PR to "41-x-y", please check out #50863 |
Contributor
|
I have automatically backported this PR to "42-x-y", please check out #50864 |
This was referenced Apr 22, 2026
This was referenced Apr 29, 2026
3 tasks
tobias-jarvelov
added a commit
to mullvad/mullvadvpn-app
that referenced
this pull request
May 18, 2026
The window is 16px less in width and 8px less in height than the what we have set as the window bounds, Likely related to the following issue: electron/electron#50783 See also: electron/electron#51179 electron/electron#50706
tobias-jarvelov
added a commit
to mullvad/mullvadvpn-app
that referenced
this pull request
May 18, 2026
The window is 16px less in width and 8px less in height than the what we have set as the window bounds, Likely related to the following issue: electron/electron#50783 See also: electron/electron#51179 electron/electron#50706
3 tasks
tobias-jarvelov
added a commit
to mullvad/mullvadvpn-app
that referenced
this pull request
May 21, 2026
The window is 16px less in width and 8px less in height than the what we have set as the window bounds, Likely related to the following issue: electron/electron#50783 See also: electron/electron#51179 electron/electron#50706
tobias-jarvelov
added a commit
to mullvad/mullvadvpn-app
that referenced
this pull request
Jun 4, 2026
The window is 16px less in width and 8px less in height than the what we have set as the window bounds, Likely related to the following issue: electron/electron#50783 See also: electron/electron#51179 electron/electron#50706
tobias-jarvelov
added a commit
to mullvad/mullvadvpn-app
that referenced
this pull request
Jun 4, 2026
The window is 16px less in width and 8px less in height than the what we have set as the window bounds, Likely related to the following issue: electron/electron#50783 See also: electron/electron#51179 electron/electron#50706
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of Change
Fixes #40505.
Corrects the placement of resize hit targets for frameless windows on Windows, which are supposed to be outside the window at the sides and bottom, not inset into the web content. This is inspired by the work started by @hotdogee a year ago in #46703. (That PR has a great diagram showing the expected and current behaviour.)
This new implementation uses the abstractions we recently added to support CSD and resize insets on Linux (#49209). Windows has the exact same problem as Linux, just to a much lesser degree: frameless windows need to have larger invisible widgets and asymmetric, inflated insets which do not count against their "logical" size.
Electron is now capable of tracking the insets and hit targets without growing or shrinking the frame from the perspective of users or developers, and without adding Windows-specific logic outside of implementations for shared abstractions.
To limit the scope of changes and possible side effects, I've only implemented resize insets for
thickframe: true. Non-thick frame and transparent windows will need more work to have inset resize targets with correct bounds, maximization, etc.Checklist
npm testpassesRelease Notes
Notes: Fixed resize hit targets for frameless windows on Windows. Resize targets now start at the side and bottom edges of the window and extend outward when
frame: false, matching the behavior for windows with frames.