docs: remove v5 and v6 modernization docs (#27498)
* docs: remove v5 and v6 modernization docs * typo * run script/gen-filenames.ts
This commit is contained in:
parent
ac5c9a8828
commit
affbf1b3e6
5 changed files with 74 additions and 107 deletions
|
@ -1,10 +0,0 @@
|
||||||
## Modernization
|
|
||||||
|
|
||||||
The Electron team is currently undergoing an initiative to modernize our API in a few concrete ways. These include: updating our modules to use idiomatic JS properties instead of separate `getPropertyX` and `setPropertyX`, converting callbacks to promises, and removing some other anti-patterns present in our APIs. The current status of the Promise initiative can be tracked in the [promisification](promisification.md) tracking file.
|
|
||||||
|
|
||||||
As we work to perform these updates, we seek to create the least disruptive amount of change at any given time, so as many changes as possible will be introduced in a backward compatible manner and deprecated after enough time has passed to give users a chance to upgrade their API calls.
|
|
||||||
|
|
||||||
This document and its child documents will be updated to reflect the latest status of our API changes.
|
|
||||||
|
|
||||||
* [Promisification](promisification.md)
|
|
||||||
* [Property Updates](property-updates.md)
|
|
|
@ -1,42 +0,0 @@
|
||||||
## Promisification
|
|
||||||
|
|
||||||
The Electron team recently underwent an initiative to convert callback-based APIs to Promise-based ones. See converted functions below:
|
|
||||||
|
|
||||||
- [app.getFileIcon(path[, options], callback)](https://github.com/electron/electron/blob/master/docs/api/app.md#getFileIcon)
|
|
||||||
- [contents.capturePage([rect, ]callback)](https://github.com/electron/electron/blob/master/docs/api/web-contents.md#capturePage)
|
|
||||||
- [contents.executeJavaScript(code[, userGesture, callback])](https://github.com/electron/electron/blob/master/docs/api/web-contents.md#executeJavaScript)
|
|
||||||
- [contents.printToPDF(options, callback)](https://github.com/electron/electron/blob/master/docs/api/web-contents.md#printToPDF)
|
|
||||||
- [contents.savePage(fullPath, saveType, callback)](https://github.com/electron/electron/blob/master/docs/api/web-contents.md#savePage)
|
|
||||||
- [contentTracing.getCategories(callback)](https://github.com/electron/electron/blob/master/docs/api/content-tracing.md#getCategories)
|
|
||||||
- [contentTracing.startRecording(options, callback)](https://github.com/electron/electron/blob/master/docs/api/content-tracing.md#startRecording)
|
|
||||||
- [contentTracing.stopRecording(resultFilePath, callback)](https://github.com/electron/electron/blob/master/docs/api/content-tracing.md#stopRecording)
|
|
||||||
- [contentTracing.getTraceBufferUsage(callback)](https://github.com/electron/electron/blob/master/docs/api/content-tracing.md#getTraceBufferUsage)
|
|
||||||
- [cookies.flushStore(callback)](https://github.com/electron/electron/blob/master/docs/api/cookies.md#flushStore)
|
|
||||||
- [cookies.get(filter, callback)](https://github.com/electron/electron/blob/master/docs/api/cookies.md#get)
|
|
||||||
- [cookies.remove(url, name, callback)](https://github.com/electron/electron/blob/master/docs/api/cookies.md#remove)
|
|
||||||
- [cookies.set(details, callback)](https://github.com/electron/electron/blob/master/docs/api/cookies.md#set)
|
|
||||||
- [debugger.sendCommand(method[, commandParams, callback])](https://github.com/electron/electron/blob/master/docs/api/debugger.md#sendCommand)
|
|
||||||
- [desktopCapturer.getSources(options, callback)](https://github.com/electron/electron/blob/master/docs/api/desktop-capturer.md#getSources)
|
|
||||||
- [dialog.showOpenDialog([browserWindow, ]options[, callback])](https://github.com/electron/electron/blob/master/docs/api/dialog.md#showOpenDialog)
|
|
||||||
- [dialog.showSaveDialog([browserWindow, ]options[, callback])](https://github.com/electron/electron/blob/master/docs/api/dialog.md#showSaveDialog)
|
|
||||||
- [inAppPurchase.purchaseProduct(productID, quantity, callback)](https://github.com/electron/electron/blob/master/docs/api/in-app-purchase.md#purchaseProduct)
|
|
||||||
- [inAppPurchase.getProducts(productIDs, callback)](https://github.com/electron/electron/blob/master/docs/api/in-app-purchase.md#getProducts)
|
|
||||||
- [dialog.showMessageBox([browserWindow, ]options[, callback])](https://github.com/electron/electron/blob/master/docs/api/dialog.md#showMessageBox)
|
|
||||||
- [dialog.showCertificateTrustDialog([browserWindow, ]options, callback)](https://github.com/electron/electron/blob/master/docs/api/dialog.md#showCertificateTrustDialog)
|
|
||||||
- [netLog.stopLogging([callback])](https://github.com/electron/electron/blob/master/docs/api/net-log.md#stopLogging)
|
|
||||||
- [protocol.isProtocolHandled(scheme, callback)](https://github.com/electron/electron/blob/master/docs/api/protocol.md#isProtocolHandled)
|
|
||||||
- [ses.clearHostResolverCache([callback])](https://github.com/electron/electron/blob/master/docs/api/session.md#clearHostResolverCache)
|
|
||||||
- [ses.clearStorageData([options, callback])](https://github.com/electron/electron/blob/master/docs/api/session.md#clearStorageData)
|
|
||||||
- [ses.setProxy(config, callback)](https://github.com/electron/electron/blob/master/docs/api/session.md#setProxy)
|
|
||||||
- [ses.resolveProxy(url, callback)](https://github.com/electron/electron/blob/master/docs/api/session.md#resolveProxy)
|
|
||||||
- [ses.getCacheSize(callback)](https://github.com/electron/electron/blob/master/docs/api/session.md#getCacheSize)
|
|
||||||
- [ses.clearAuthCache(options[, callback])](https://github.com/electron/electron/blob/master/docs/api/session.md#clearAuthCache)
|
|
||||||
- [ses.clearCache(callback)](https://github.com/electron/electron/blob/master/docs/api/session.md#clearCache)
|
|
||||||
- [ses.getBlobData(identifier, callback)](https://github.com/electron/electron/blob/master/docs/api/session.md#getBlobData)
|
|
||||||
- [shell.openExternal(url[, options, callback])](https://github.com/electron/electron/blob/master/docs/api/shell.md#openExternal)
|
|
||||||
- [webFrame.executeJavaScript(code[, userGesture, callback])](https://github.com/electron/electron/blob/master/docs/api/web-frame.md#executeJavaScript)
|
|
||||||
- [webFrame.executeJavaScriptInIsolatedWorld(worldId, scripts[, userGesture, callback])](https://github.com/electron/electron/blob/master/docs/api/web-frame.md#executeJavaScriptInIsolatedWorld)
|
|
||||||
- [webviewTag.capturePage([rect, ]callback)](https://github.com/electron/electron/blob/master/docs/api/webview-tag.md#capturePage)
|
|
||||||
- [webviewTag.executeJavaScript(code[, userGesture, callback])](https://github.com/electron/electron/blob/master/docs/api/webview-tag.md#executeJavaScript)
|
|
||||||
- [webviewTag.printToPDF(options, callback)](https://github.com/electron/electron/blob/master/docs/api/webview-tag.md#printToPDF)
|
|
||||||
- [win.capturePage([rect, ]callback)](https://github.com/electron/electron/blob/master/docs/api/browser-window.md#capturePage)
|
|
|
@ -1,41 +0,0 @@
|
||||||
## Property Updates
|
|
||||||
|
|
||||||
The Electron team is currently undergoing an initiative to convert separate getter and setter functions in Electron to bespoke properties with `get` and `set` functionality. During this transition period, both the new properties and old getters and setters of these functions will work correctly and be documented.
|
|
||||||
|
|
||||||
## Candidates
|
|
||||||
|
|
||||||
* `BrowserWindow`
|
|
||||||
* `menubarVisible`
|
|
||||||
* `crashReporter` module
|
|
||||||
* `uploadToServer`
|
|
||||||
* `webFrame` modules
|
|
||||||
* `zoomFactor`
|
|
||||||
* `zoomLevel`
|
|
||||||
* `audioMuted`
|
|
||||||
* `<webview>`
|
|
||||||
* `zoomFactor`
|
|
||||||
* `zoomLevel`
|
|
||||||
* `audioMuted`
|
|
||||||
|
|
||||||
## Converted Properties
|
|
||||||
|
|
||||||
* `app` module
|
|
||||||
* `accessibilitySupport`
|
|
||||||
* `applicationMenu`
|
|
||||||
* `badgeCount`
|
|
||||||
* `name`
|
|
||||||
* `DownloadItem` class
|
|
||||||
* `savePath`
|
|
||||||
* `BrowserWindow` module
|
|
||||||
* `autoHideMenuBar`
|
|
||||||
* `resizable`
|
|
||||||
* `maximizable`
|
|
||||||
* `minimizable`
|
|
||||||
* `fullscreenable`
|
|
||||||
* `movable`
|
|
||||||
* `closable`
|
|
||||||
* `backgroundThrottling`
|
|
||||||
* `NativeImage`
|
|
||||||
* `isMacTemplateImage`
|
|
||||||
* `SystemPreferences` module
|
|
||||||
* `appLevelAppearance`
|
|
|
@ -722,6 +722,55 @@ Note that `webkitdirectory` no longer exposes the path to the selected folder.
|
||||||
If you require the path to the selected folder rather than the folder contents,
|
If you require the path to the selected folder rather than the folder contents,
|
||||||
see the `dialog.showOpenDialog` API ([link](https://github.com/electron/electron/blob/master/docs/api/dialog.md#dialogshowopendialogbrowserwindow-options)).
|
see the `dialog.showOpenDialog` API ([link](https://github.com/electron/electron/blob/master/docs/api/dialog.md#dialogshowopendialogbrowserwindow-options)).
|
||||||
|
|
||||||
|
### API Changed: Callback-based versions of promisified APIs
|
||||||
|
|
||||||
|
Electron 5 and Electron 6 introduced Promise-based versions of existing
|
||||||
|
asynchronous APIs and deprecated their older, callback-based counterparts.
|
||||||
|
In Electron 7, all deprecated callback-based APIs are now removed.
|
||||||
|
|
||||||
|
These functions now only return Promises:
|
||||||
|
|
||||||
|
* `app.getFileIcon()` [#15742](https://github.com/electron/electron/pull/15742)
|
||||||
|
* `app.dock.show()` [#16904](https://github.com/electron/electron/pull/16904)
|
||||||
|
* `contentTracing.getCategories()` [#16583](https://github.com/electron/electron/pull/16583)
|
||||||
|
* `contentTracing.getTraceBufferUsage()` [#16600](https://github.com/electron/electron/pull/16600)
|
||||||
|
* `contentTracing.startRecording()` [#16584](https://github.com/electron/electron/pull/16584)
|
||||||
|
* `contentTracing.stopRecording()` [#16584](https://github.com/electron/electron/pull/16584)
|
||||||
|
* `contents.executeJavaScript()` [#17312](https://github.com/electron/electron/pull/17312)
|
||||||
|
* `cookies.flushStore()` [#16464](https://github.com/electron/electron/pull/16464)
|
||||||
|
* `cookies.get()` [#16464](https://github.com/electron/electron/pull/16464)
|
||||||
|
* `cookies.remove()` [#16464](https://github.com/electron/electron/pull/16464)
|
||||||
|
* `cookies.set()` [#16464](https://github.com/electron/electron/pull/16464)
|
||||||
|
* `debugger.sendCommand()` [#16861](https://github.com/electron/electron/pull/16861)
|
||||||
|
* `dialog.showCertificateTrustDialog()` [#17181](https://github.com/electron/electron/pull/17181)
|
||||||
|
* `inAppPurchase.getProducts()` [#17355](https://github.com/electron/electron/pull/17355)
|
||||||
|
* `inAppPurchase.purchaseProduct()`[#17355](https://github.com/electron/electron/pull/17355)
|
||||||
|
* `netLog.stopLogging()` [#16862](https://github.com/electron/electron/pull/16862)
|
||||||
|
* `session.clearAuthCache()` [#17259](https://github.com/electron/electron/pull/17259)
|
||||||
|
* `session.clearCache()` [#17185](https://github.com/electron/electron/pull/17185)
|
||||||
|
* `session.clearHostResolverCache()` [#17229](https://github.com/electron/electron/pull/17229)
|
||||||
|
* `session.clearStorageData()` [#17249](https://github.com/electron/electron/pull/17249)
|
||||||
|
* `session.getBlobData()` [#17303](https://github.com/electron/electron/pull/17303)
|
||||||
|
* `session.getCacheSize()` [#17185](https://github.com/electron/electron/pull/17185)
|
||||||
|
* `session.resolveProxy()` [#17222](https://github.com/electron/electron/pull/17222)
|
||||||
|
* `session.setProxy()` [#17222](https://github.com/electron/electron/pull/17222)
|
||||||
|
* `shell.openExternal()` [#16176](https://github.com/electron/electron/pull/16176)
|
||||||
|
* `webContents.loadFile()` [#15855](https://github.com/electron/electron/pull/15855)
|
||||||
|
* `webContents.loadURL()` [#15855](https://github.com/electron/electron/pull/15855)
|
||||||
|
* `webContents.hasServiceWorker()` [#16535](https://github.com/electron/electron/pull/16535)
|
||||||
|
* `webContents.printToPDF()` [#16795](https://github.com/electron/electron/pull/16795)
|
||||||
|
* `webContents.savePage()` [#16742](https://github.com/electron/electron/pull/16742)
|
||||||
|
* `webFrame.executeJavaScript()` [#17312](https://github.com/electron/electron/pull/17312)
|
||||||
|
* `webFrame.executeJavaScriptInIsolatedWorld()` [#17312](https://github.com/electron/electron/pull/17312)
|
||||||
|
* `webviewTag.executeJavaScript()` [#17312](https://github.com/electron/electron/pull/17312)
|
||||||
|
* `win.capturePage()` [#15743](https://github.com/electron/electron/pull/15743)
|
||||||
|
|
||||||
|
These functions now have two forms, synchronous and Promise-based asynchronous:
|
||||||
|
|
||||||
|
* `dialog.showMessageBox()`/`dialog.showMessageBoxSync()` [#17298](https://github.com/electron/electron/pull/17298)
|
||||||
|
* `dialog.showOpenDialog()`/`dialog.showOpenDialogSync()` [#16973](https://github.com/electron/electron/pull/16973)
|
||||||
|
* `dialog.showSaveDialog()`/`dialog.showSaveDialogSync()` [#17054](https://github.com/electron/electron/pull/17054)
|
||||||
|
|
||||||
## Planned Breaking API Changes (6.0)
|
## Planned Breaking API Changes (6.0)
|
||||||
|
|
||||||
### API Changed: `win.setMenu(null)` is now `win.removeMenu()`
|
### API Changed: `win.setMenu(null)` is now `win.removeMenu()`
|
||||||
|
@ -733,19 +782,6 @@ win.setMenu(null)
|
||||||
win.removeMenu()
|
win.removeMenu()
|
||||||
```
|
```
|
||||||
|
|
||||||
### API Changed: `contentTracing.getTraceBufferUsage()` is now a promise
|
|
||||||
|
|
||||||
```js
|
|
||||||
// Deprecated
|
|
||||||
contentTracing.getTraceBufferUsage((percentage, value) => {
|
|
||||||
// do something
|
|
||||||
})
|
|
||||||
// Replace with
|
|
||||||
contentTracing.getTraceBufferUsage().then(infoObject => {
|
|
||||||
// infoObject has percentage and value fields
|
|
||||||
})
|
|
||||||
```
|
|
||||||
|
|
||||||
### API Changed: `electron.screen` in the renderer process should be accessed via `remote`
|
### API Changed: `electron.screen` in the renderer process should be accessed via `remote`
|
||||||
|
|
||||||
```js
|
```js
|
||||||
|
@ -884,6 +920,31 @@ webFrame.setSpellCheckProvider('en-US', {
|
||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### API Changed: `webContents.getZoomLevel` and `webContents.getZoomFactor` are now synchronous
|
||||||
|
|
||||||
|
`webContents.getZoomLevel` and `webContents.getZoomFactor` no longer take callback parameters,
|
||||||
|
instead directly returning their number values.
|
||||||
|
|
||||||
|
```js
|
||||||
|
// Deprecated
|
||||||
|
webContents.getZoomLevel((level) => {
|
||||||
|
console.log(level)
|
||||||
|
})
|
||||||
|
// Replace with
|
||||||
|
const level = webContents.getZoomLevel()
|
||||||
|
console.log(level)
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
// Deprecated
|
||||||
|
webContents.getZoomFactor((factor) => {
|
||||||
|
console.log(factor)
|
||||||
|
})
|
||||||
|
// Replace with
|
||||||
|
const factor = webContents.getZoomFactor()
|
||||||
|
console.log(factor)
|
||||||
|
```
|
||||||
|
|
||||||
## Planned Breaking API Changes (4.0)
|
## Planned Breaking API Changes (4.0)
|
||||||
|
|
||||||
The following list includes the breaking API changes made in Electron 4.0.
|
The following list includes the breaking API changes made in Electron 4.0.
|
||||||
|
|
|
@ -34,7 +34,6 @@ auto_filenames = {
|
||||||
"docs/api/menu.md",
|
"docs/api/menu.md",
|
||||||
"docs/api/message-channel-main.md",
|
"docs/api/message-channel-main.md",
|
||||||
"docs/api/message-port-main.md",
|
"docs/api/message-port-main.md",
|
||||||
"docs/api/modernization",
|
|
||||||
"docs/api/native-image.md",
|
"docs/api/native-image.md",
|
||||||
"docs/api/native-theme.md",
|
"docs/api/native-theme.md",
|
||||||
"docs/api/net-log.md",
|
"docs/api/net-log.md",
|
||||||
|
|
Loading…
Reference in a new issue