chore: remove deprecated getTrafficLightPosition()
/ setTrafficLightPosition()
(#39479)
chore: remove deprecated getTrafficLightPosition() / setTrafficLightPosition()
This commit is contained in:
parent
3a91d1f1e1
commit
90865fa97d
4 changed files with 40 additions and 79 deletions
|
@ -1595,25 +1595,6 @@ Passing `null` will reset the position to default.
|
||||||
Returns `Point | null` - The custom position for the traffic light buttons in
|
Returns `Point | null` - The custom position for the traffic light buttons in
|
||||||
frameless window, `null` will be returned when there is no custom position.
|
frameless window, `null` will be returned when there is no custom position.
|
||||||
|
|
||||||
#### `win.setTrafficLightPosition(position)` _macOS_ _Deprecated_
|
|
||||||
|
|
||||||
* `position` [Point](structures/point.md)
|
|
||||||
|
|
||||||
Set a custom position for the traffic light buttons in frameless window.
|
|
||||||
Passing `{ x: 0, y: 0 }` will reset the position to default.
|
|
||||||
|
|
||||||
> **Note**
|
|
||||||
> This function is deprecated. Use [setWindowButtonPosition](#winsetwindowbuttonpositionposition-macos) instead.
|
|
||||||
|
|
||||||
#### `win.getTrafficLightPosition()` _macOS_ _Deprecated_
|
|
||||||
|
|
||||||
Returns `Point` - The custom position for the traffic light buttons in
|
|
||||||
frameless window, `{ x: 0, y: 0 }` will be returned when there is no custom
|
|
||||||
position.
|
|
||||||
|
|
||||||
> **Note**
|
|
||||||
> This function is deprecated. Use [getWindowButtonPosition](#wingetwindowbuttonposition-macos) instead.
|
|
||||||
|
|
||||||
#### `win.setTouchBar(touchBar)` _macOS_
|
#### `win.setTouchBar(touchBar)` _macOS_
|
||||||
|
|
||||||
* `touchBar` TouchBar | null
|
* `touchBar` TouchBar | null
|
||||||
|
|
|
@ -12,6 +12,46 @@ This document uses the following convention to categorize breaking changes:
|
||||||
* **Deprecated:** An API was marked as deprecated. The API will continue to function, but will emit a deprecation warning, and will be removed in a future release.
|
* **Deprecated:** An API was marked as deprecated. The API will continue to function, but will emit a deprecation warning, and will be removed in a future release.
|
||||||
* **Removed:** An API or feature was removed, and is no longer supported by Electron.
|
* **Removed:** An API or feature was removed, and is no longer supported by Electron.
|
||||||
|
|
||||||
|
## Planned Breaking API Changes (28.0)
|
||||||
|
|
||||||
|
### Removed: `BrowserWindow.setTrafficLightPosition(position)`
|
||||||
|
|
||||||
|
`BrowserWindow.setTrafficLightPosition(position)` has been removed, the
|
||||||
|
`BrowserWindow.setWindowButtonPosition(position)` API should be used instead
|
||||||
|
which accepts `null` instead of `{ x: 0, y: 0 }` to reset the position to
|
||||||
|
system default.
|
||||||
|
|
||||||
|
```js
|
||||||
|
// Removed in Electron 28
|
||||||
|
win.setTrafficLightPosition({ x: 10, y: 10 })
|
||||||
|
win.setTrafficLightPosition({ x: 0, y: 0 })
|
||||||
|
|
||||||
|
// Replace with
|
||||||
|
win.setWindowButtonPosition({ x: 10, y: 10 })
|
||||||
|
win.setWindowButtonPosition(null)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Removed: `BrowserWindow.getTrafficLightPosition()`
|
||||||
|
|
||||||
|
`BrowserWindow.getTrafficLightPosition()` has been removed, the
|
||||||
|
`BrowserWindow.getWindowButtonPosition()` API should be used instead
|
||||||
|
which returns `null` instead of `{ x: 0, y: 0 }` when there is no custom
|
||||||
|
position.
|
||||||
|
|
||||||
|
```js
|
||||||
|
// Removed in Electron 28
|
||||||
|
const pos = win.getTrafficLightPosition()
|
||||||
|
if (pos.x === 0 && pos.y === 0) {
|
||||||
|
// No custom position.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Replace with
|
||||||
|
const ret = win.getWindowButtonPosition()
|
||||||
|
if (ret === null) {
|
||||||
|
// No custom position.
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## Planned Breaking API Changes (27.0)
|
## Planned Breaking API Changes (27.0)
|
||||||
|
|
||||||
### Removed: macOS 10.13 / 10.14 support
|
### Removed: macOS 10.13 / 10.14 support
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import { EventEmitter } from 'events';
|
import { EventEmitter } from 'events';
|
||||||
import type { BaseWindow as TLWT } from 'electron/main';
|
import type { BaseWindow as TLWT } from 'electron/main';
|
||||||
import * as deprecate from '@electron/internal/common/deprecate';
|
|
||||||
const { BaseWindow } = process._linkedBinding('electron_browser_base_window') as { BaseWindow: typeof TLWT };
|
const { BaseWindow } = process._linkedBinding('electron_browser_base_window') as { BaseWindow: typeof TLWT };
|
||||||
|
|
||||||
Object.setPrototypeOf(BaseWindow.prototype, EventEmitter.prototype);
|
Object.setPrototypeOf(BaseWindow.prototype, EventEmitter.prototype);
|
||||||
|
@ -16,25 +15,6 @@ BaseWindow.prototype._init = function () {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Deprecation.
|
|
||||||
const setTrafficLightPositionDeprecated = deprecate.warnOnce('setTrafficLightPosition', 'setWindowButtonPosition');
|
|
||||||
// Converting to any as the methods are defined under BrowserWindow in our docs.
|
|
||||||
(BaseWindow as any).prototype.setTrafficLightPosition = function (pos: Electron.Point) {
|
|
||||||
setTrafficLightPositionDeprecated();
|
|
||||||
if (typeof pos === 'object' && pos.x === 0 && pos.y === 0) {
|
|
||||||
this.setWindowButtonPosition(null);
|
|
||||||
} else {
|
|
||||||
this.setWindowButtonPosition(pos);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const getTrafficLightPositionDeprecated = deprecate.warnOnce('getTrafficLightPosition', 'getWindowButtonPosition');
|
|
||||||
(BaseWindow as any).prototype.getTrafficLightPosition = function () {
|
|
||||||
getTrafficLightPositionDeprecated();
|
|
||||||
const pos = this.getWindowButtonPosition();
|
|
||||||
return pos === null ? { x: 0, y: 0 } : pos;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Properties
|
// Properties
|
||||||
|
|
||||||
Object.defineProperty(BaseWindow.prototype, 'autoHideMenuBar', {
|
Object.defineProperty(BaseWindow.prototype, 'autoHideMenuBar', {
|
||||||
|
|
|
@ -2580,46 +2580,6 @@ describe('BrowserWindow module', () => {
|
||||||
expect(w.getWindowButtonPosition()).to.deep.equal(newPos);
|
expect(w.getWindowButtonPosition()).to.deep.equal(newPos);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// The set/getTrafficLightPosition APIs are deprecated.
|
|
||||||
describe('BrowserWindow.getTrafficLightPosition(pos)', () => {
|
|
||||||
it('returns { x: 0, y: 0 } when there is no custom position', () => {
|
|
||||||
const w = new BrowserWindow({ show: false });
|
|
||||||
expect(w.getTrafficLightPosition()).to.deep.equal({ x: 0, y: 0 });
|
|
||||||
});
|
|
||||||
|
|
||||||
it('gets position property for "hidden" titleBarStyle', () => {
|
|
||||||
const w = new BrowserWindow({ show: false, titleBarStyle: 'hidden', trafficLightPosition: pos });
|
|
||||||
expect(w.getTrafficLightPosition()).to.deep.equal(pos);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('gets position property for "customButtonsOnHover" titleBarStyle', () => {
|
|
||||||
const w = new BrowserWindow({ show: false, titleBarStyle: 'customButtonsOnHover', trafficLightPosition: pos });
|
|
||||||
expect(w.getTrafficLightPosition()).to.deep.equal(pos);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('BrowserWindow.setTrafficLightPosition(pos)', () => {
|
|
||||||
it('resets the position when { x: 0, y: 0 } is passed', () => {
|
|
||||||
const w = new BrowserWindow({ show: false, titleBarStyle: 'hidden', trafficLightPosition: pos });
|
|
||||||
w.setTrafficLightPosition({ x: 0, y: 0 });
|
|
||||||
expect(w.getTrafficLightPosition()).to.deep.equal({ x: 0, y: 0 });
|
|
||||||
});
|
|
||||||
|
|
||||||
it('sets position property for "hidden" titleBarStyle', () => {
|
|
||||||
const w = new BrowserWindow({ show: false, titleBarStyle: 'hidden', trafficLightPosition: pos });
|
|
||||||
const newPos = { x: 20, y: 20 };
|
|
||||||
w.setTrafficLightPosition(newPos);
|
|
||||||
expect(w.getTrafficLightPosition()).to.deep.equal(newPos);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('sets position property for "customButtonsOnHover" titleBarStyle', () => {
|
|
||||||
const w = new BrowserWindow({ show: false, titleBarStyle: 'customButtonsOnHover', trafficLightPosition: pos });
|
|
||||||
const newPos = { x: 20, y: 20 };
|
|
||||||
w.setTrafficLightPosition(newPos);
|
|
||||||
expect(w.getTrafficLightPosition()).to.deep.equal(newPos);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
ifdescribe(process.platform === 'win32')('BrowserWindow.setAppDetails(options)', () => {
|
ifdescribe(process.platform === 'win32')('BrowserWindow.setAppDetails(options)', () => {
|
||||||
|
|
Loading…
Reference in a new issue