Why? BrowserWindow.setBounds() mixes x and width

Hi, guys.
I have cording a Electron App on Win10.
When I tried the following, something strange happened.

// MainProcess

let mainWindow = new BrowserWindow(...)

...

let bounds = mainWindow.getBounds() // {x: 0, y:0, width: 100, height: 100}
bounds.x += 1 // {x:1, y:0, width: 100, height: 100}
mainWindow.setBounds(bounds)
mainWindow.getBounds() // {x: 0, y:0, width: 101, height: 100}   ...Why!

If you do this, the width of the window will certainly grow.
It only happens when the added value is 1. A value of 2 or higher is normal.

Is it a bug of setBounds(), setPosition()?

My environments:
OS Windows10
Electron v10.1.0
Chromium v85.0.4183.87
Node v12.16.3
v8 v8.5.210.20-electron.0

regards.