fix: setMaximizable to be true if window is resizable & maximizable (#14648)

* setMaximizable to be true if window is resizable & maximizable

* Fix linting

* Add regressive test to verify maxmizable state

* Leaves maximizable state of window alone if setResizable is called

* Fix exclusive test

* Fix crashing text

* SetMaximizable unconditionally

* Remember former maximizable state

* Fix accidental mac variable deletion

* Logic modification

* Lint

* Remove unneeded test

* Remove unneeded variable since only Windows is effect
This commit is contained in:
Troy 2018-09-25 18:41:40 -07:00 committed by Samuel Attard
parent c9bc3471e7
commit 560b1c17af
2 changed files with 8 additions and 2 deletions

View file

@ -591,6 +591,7 @@ void NativeWindowViews::SetResizable(bool resizable) {
// both the minimum and maximum size to the window size to achieve it.
if (resizable) {
SetContentSizeConstraints(old_size_constraints_);
SetMaximizable(maximizable_);
} else {
old_size_constraints_ = GetContentSizeConstraints();
resizable_ = false;
@ -603,7 +604,6 @@ void NativeWindowViews::SetResizable(bool resizable) {
if (has_frame() && thick_frame_)
FlipWindowStyle(GetAcceleratedWidget(), resizable, WS_THICKFRAME);
#endif
resizable_ = resizable;
}

View file

@ -2620,9 +2620,15 @@ describe('BrowserWindow module', () => {
// Only implemented on windows.
if (process.platform !== 'win32') return
it('is set to false when resizable state is set to false', () => {
it('is reset to its former state', () => {
w.setMaximizable(false)
w.setResizable(false)
w.setResizable(true)
assert.strictEqual(w.isMaximizable(), false)
w.setMaximizable(true)
w.setResizable(false)
w.setResizable(true)
assert.strictEqual(w.isMaximizable(), true)
})
})