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
|
||||
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_
|
||||
|
||||
* `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.
|
||||
* **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)
|
||||
|
||||
### Removed: macOS 10.13 / 10.14 support
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
import { EventEmitter } from 'events';
|
||||
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 };
|
||||
|
||||
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
|
||||
|
||||
Object.defineProperty(BaseWindow.prototype, 'autoHideMenuBar', {
|
||||
|
|
|
@ -2580,46 +2580,6 @@ describe('BrowserWindow module', () => {
|
|||
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)', () => {
|
||||
|
|
Loading…
Reference in a new issue