fix: getNormalBounds()
for transparent windows on Windows (#38218)
This commit is contained in:
parent
ad07712561
commit
32d8f84cad
2 changed files with 21 additions and 0 deletions
|
@ -787,6 +787,10 @@ gfx::Size NativeWindowViews::GetContentSize() {
|
||||||
}
|
}
|
||||||
|
|
||||||
gfx::Rect NativeWindowViews::GetNormalBounds() {
|
gfx::Rect NativeWindowViews::GetNormalBounds() {
|
||||||
|
#if BUILDFLAG(IS_WIN)
|
||||||
|
if (IsMaximized() && transparent())
|
||||||
|
return restore_bounds_;
|
||||||
|
#endif
|
||||||
return widget()->GetRestoredBounds();
|
return widget()->GetRestoredBounds();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1720,6 +1720,23 @@ describe('BrowserWindow module', () => {
|
||||||
expect(w.isFullScreen()).to.equal(true);
|
expect(w.isFullScreen()).to.equal(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('checks normal bounds for maximized transparent window', async () => {
|
||||||
|
w.destroy();
|
||||||
|
w = new BrowserWindow({
|
||||||
|
transparent: true,
|
||||||
|
show: false
|
||||||
|
});
|
||||||
|
w.show();
|
||||||
|
|
||||||
|
const bounds = w.getNormalBounds();
|
||||||
|
|
||||||
|
const maximize = once(w, 'maximize');
|
||||||
|
w.maximize();
|
||||||
|
await maximize;
|
||||||
|
|
||||||
|
expectBoundsEqual(w.getNormalBounds(), bounds);
|
||||||
|
});
|
||||||
|
|
||||||
it('does not change size for a frameless window with min size', async () => {
|
it('does not change size for a frameless window with min size', async () => {
|
||||||
w.destroy();
|
w.destroy();
|
||||||
w = new BrowserWindow({
|
w = new BrowserWindow({
|
||||||
|
|
Loading…
Reference in a new issue