-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bug 1666874 - Support maximized windows for skeleton UI r=agashlin
Most of this patch is a dance to avoid size flickering of the skeleton UI window. We change all Resize/Move/SetSizeMode calls from before the first nsWindow::Show call. Normally those have no effect, since the window isn't shown yet, and if the window is not maximized, they typically match the sizes we've gotten out of the registry anyway. However, if we are maximized, then they produce a lot of visual noise. We can however achieve the desired effect by just calling SetWindowPlacement. Similarly, we switch the window styles of the skeleton UI window to match those of the toplevel Windows window, and adjust the client rect from our window proc in a way that matches the adjustments in nsWindow in the WM_NCCALCSIZE handler. We do this because otherwise we get a flicker as soon as we change the styles and nonclient margins as the fake chrome pops up and then back down. Lastly we also change the extended window styles so that they match. We historically added WS_EX_TOOLWINDOW here to hide the toolbar entry, because it would otherwise switch out to a new toolbar entry when we changed the window styles. However since our new styles match, we no longer need to do this. It was also causing the maximized window to paint over the Windows taskbar. Differential Revision: https://phabricator.services.mozilla.com/D93534
- Loading branch information
1 parent
dbe5999
commit 663df50
Showing
6 changed files
with
341 additions
and
114 deletions.
There are no files selected for viewing
This file contains 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
Oops, something went wrong.