docs: note about structured clone and DOM types (#26516)

This commit is contained in:
Jeremy Rose 2020-11-17 11:11:40 -08:00 committed by GitHub
parent c78ac248dc
commit 040ee66678
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -61,10 +61,15 @@ Algorithm][SCA], just like [`window.postMessage`][], so prototype chains will no
included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will
throw an exception. throw an exception.
> **NOTE**: Sending non-standard JavaScript types such as DOM objects or > **NOTE:** Sending non-standard JavaScript types such as DOM objects or
> special Electron objects is deprecated, and will begin throwing an exception > special Electron objects is deprecated, and will begin throwing an exception
> starting with Electron 9. > starting with Electron 9.
> **NOTE:** Since the main process does not have support for DOM objects such as
> `ImageBitmap`, `File`, `DOMMatrix` and so on, such objects cannot be sent over
> Electron's IPC to the main process, as the main process would have no way to decode
> them. Attempting to send such objects over IPC will result in an error.
The main process handles it by listening for `channel` with the The main process handles it by listening for `channel` with the
[`ipcMain`](ipc-main.md) module. [`ipcMain`](ipc-main.md) module.
@ -89,6 +94,11 @@ throw an exception.
> special Electron objects is deprecated, and will begin throwing an exception > special Electron objects is deprecated, and will begin throwing an exception
> starting with Electron 9. > starting with Electron 9.
> **NOTE:** Since the main process does not have support for DOM objects such as
> `ImageBitmap`, `File`, `DOMMatrix` and so on, such objects cannot be sent over
> Electron's IPC to the main process, as the main process would have no way to decode
> them. Attempting to send such objects over IPC will result in an error.
The main process should listen for `channel` with The main process should listen for `channel` with
[`ipcMain.handle()`](ipc-main.md#ipcmainhandlechannel-listener). [`ipcMain.handle()`](ipc-main.md#ipcmainhandlechannel-listener).
@ -128,6 +138,11 @@ throw an exception.
> special Electron objects is deprecated, and will begin throwing an exception > special Electron objects is deprecated, and will begin throwing an exception
> starting with Electron 9. > starting with Electron 9.
> **NOTE:** Since the main process does not have support for DOM objects such as
> `ImageBitmap`, `File`, `DOMMatrix` and so on, such objects cannot be sent over
> Electron's IPC to the main process, as the main process would have no way to decode
> them. Attempting to send such objects over IPC will result in an error.
The main process handles it by listening for `channel` with [`ipcMain`](ipc-main.md) module, The main process handles it by listening for `channel` with [`ipcMain`](ipc-main.md) module,
and replies by setting `event.returnValue`. and replies by setting `event.returnValue`.