electron 15.0.0-beta.6 β†’ 16.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  [![Electron Logo](https://electronjs.org/images/electron-logo.svg)](https://electronjs.org)
2
2
 
3
- [![CircleCI Build Status](https://circleci.com/gh/electron/electron/tree/master.svg?style=shield)](https://circleci.com/gh/electron/electron/tree/master)
4
- [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/4lggi9dpjc1qob7k/branch/master?svg=true)](https://ci.appveyor.com/project/electron-bot/electron-ljo26/branch/master)
3
+ [![CircleCI Build Status](https://circleci.com/gh/electron/electron/tree/main.svg?style=shield)](https://circleci.com/gh/electron/electron/tree/main)
4
+ [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/4lggi9dpjc1qob7k/branch/main?svg=true)](https://ci.appveyor.com/project/electron-bot/electron-ljo26/branch/main)
5
5
  [![Electron Discord Invite](https://img.shields.io/discord/745037351163527189?color=%237289DA&label=chat&logo=discord&logoColor=white)](https://discord.com/invite/electron)
6
6
 
7
7
  :memo: Available Translations: πŸ‡¨πŸ‡³ πŸ‡§πŸ‡· πŸ‡ͺπŸ‡Έ πŸ‡―πŸ‡΅ πŸ‡·πŸ‡Ί πŸ‡«πŸ‡· πŸ‡ΊπŸ‡Έ πŸ‡©πŸ‡ͺ.
@@ -16,7 +16,7 @@ Follow [@ElectronJS](https://twitter.com/electronjs) on Twitter for important
16
16
  announcements.
17
17
 
18
18
  This project adheres to the Contributor Covenant
19
- [code of conduct](https://github.com/electron/electron/tree/master/CODE_OF_CONDUCT.md).
19
+ [code of conduct](https://github.com/electron/electron/tree/main/CODE_OF_CONDUCT.md).
20
20
  By participating, you are expected to uphold this code. Please report unacceptable
21
21
  behavior to [coc@electronjs.org](mailto:coc@electronjs.org).
22
22
 
@@ -60,7 +60,6 @@ npm start
60
60
  - [electronjs.org/community#boilerplates](https://electronjs.org/community#boilerplates) - Sample starter apps created by the community
61
61
  - [electron/simple-samples](https://github.com/electron/simple-samples) - Small applications with ideas for taking them further
62
62
  - [electron/electron-api-demos](https://github.com/electron/electron-api-demos) - An Electron app that teaches you how to use Electron
63
- - [hokein/electron-sample-apps](https://github.com/hokein/electron-sample-apps) - Small demo apps for the various Electron APIs
64
63
 
65
64
  ## Programmatic usage
66
65
 
@@ -98,6 +97,6 @@ and more can be found in the [support document](docs/tutorial/support.md#finding
98
97
 
99
98
  ## License
100
99
 
101
- [MIT](https://github.com/electron/electron/blob/master/LICENSE)
100
+ [MIT](https://github.com/electron/electron/blob/main/LICENSE)
102
101
 
103
102
  When using the Electron or other GitHub logos, be sure to follow the [GitHub logo guidelines](https://github.com/logos).
package/checksums.json ADDED
@@ -0,0 +1,80 @@
1
+ {
2
+ "chromedriver-v16.0.0-alpha.2-darwin-arm64.zip": "81f0f9efe3e54ceb3fdd0a4304c11b5de1a50ee41abe344ce370ca0d6dba36ab",
3
+ "chromedriver-v16.0.0-alpha.2-darwin-x64.zip": "1a0b5849634378a9e8928a760696a9460504f3ac6f9cb1cf66e87debc866004c",
4
+ "chromedriver-v16.0.0-alpha.2-linux-arm64.zip": "3d675a3bf3129d8d0ba5e9d267d429134bb1af83f3ae08c6029fe416c2695a55",
5
+ "chromedriver-v16.0.0-alpha.2-linux-armv7l.zip": "708d55c09fdb2f11bdb68a3613545ee8652adfaefe537b52b2dc9dd88ab27ad4",
6
+ "chromedriver-v16.0.0-alpha.2-linux-ia32.zip": "dc77f94bf2af2d4695435da6187cfffcb75b8fda9473c9f6d2ebe673bcfbf40a",
7
+ "chromedriver-v16.0.0-alpha.2-linux-x64.zip": "f9594d85c032b9f30614c3399c28b5098d6d1b0f151a0ab1bd169c1fe65886b8",
8
+ "chromedriver-v16.0.0-alpha.2-mas-arm64.zip": "3c2c18f1b8e6beb2846129e81aed99e7f10026b6e6c49fb7c61167e8d8b5ab43",
9
+ "chromedriver-v16.0.0-alpha.2-mas-x64.zip": "bb125fe3869c577382e3701c1ec7e54b38ad165dc0d7935a14a310965721c354",
10
+ "chromedriver-v16.0.0-alpha.2-win32-arm64.zip": "b630832cf0461a08033f1c680613caea6a7762b01d69511c896d22521ffcdb54",
11
+ "chromedriver-v16.0.0-alpha.2-win32-ia32.zip": "b315f38c1fc24d41c58c486df47838fa231787d69d8d671018a420f544437a93",
12
+ "chromedriver-v16.0.0-alpha.2-win32-x64.zip": "d5a055e34eb9cfc6a7153e154b93b7bc8e9c26794d9bbf1fc24483262928a09b",
13
+ "electron-api.json": "ea82b53c2177f40b87e023479e28b3d1ad2ffa2e8cab81d439d2c337ae9f6163",
14
+ "electron-v16.0.0-alpha.2-darwin-arm64-dsym.zip": "e4b715d4a5d3aaa8a2778f89c9b7aaf21dbe548b81d98fba0637dfcb54c488d2",
15
+ "electron-v16.0.0-alpha.2-darwin-arm64-symbols.zip": "a4d110fd8da4551d335f9de45378f0a30dec9e7464f9e14005ec84bbe5a55d8c",
16
+ "electron-v16.0.0-alpha.2-darwin-arm64.zip": "a264140bb6872cf6edc40972a91e2383bc8dac0847eec9e343cf09d99dbd68ee",
17
+ "electron-v16.0.0-alpha.2-darwin-x64-dsym.zip": "c53d27aa88a30f51c58dd3abb845d7732f532456c84172a51628d7271b3eb034",
18
+ "electron-v16.0.0-alpha.2-darwin-x64-symbols.zip": "d98047dd1beb464d963f31b503c41435aaf98dcde085cdda034a578765d6054f",
19
+ "electron-v16.0.0-alpha.2-darwin-x64.zip": "b032823d6bfdf8d26bdadf4cfc11d56fd0c9bf182b72a7eb2bcee21e894e51f2",
20
+ "electron-v16.0.0-alpha.2-linux-arm64-debug.zip": "572a93b546ffb85b6018304048891c457a1efb6c0fc18eb020d197caf22fc23c",
21
+ "electron-v16.0.0-alpha.2-linux-arm64-symbols.zip": "1e86b4722d30fd1eb87cbfb605a1174c6036b1337342c1c7c97498e31eb4ccdd",
22
+ "electron-v16.0.0-alpha.2-linux-arm64.zip": "a306d4c3d0aaf739a263deaf8c85b3c43a5409e9fd2a62a295aa2e1b42538956",
23
+ "electron-v16.0.0-alpha.2-linux-armv7l-debug.zip": "572a93b546ffb85b6018304048891c457a1efb6c0fc18eb020d197caf22fc23c",
24
+ "electron-v16.0.0-alpha.2-linux-armv7l-symbols.zip": "99bfb569af4700dc435fccc86f1eaf977cc914da095dceb4c3059d0d81fdf2b3",
25
+ "electron-v16.0.0-alpha.2-linux-armv7l.zip": "0b597c87ccff1dd9c8bb342f882317812e343dd38456f5328fe66d955a30661e",
26
+ "electron-v16.0.0-alpha.2-linux-ia32-debug.zip": "572a93b546ffb85b6018304048891c457a1efb6c0fc18eb020d197caf22fc23c",
27
+ "electron-v16.0.0-alpha.2-linux-ia32-symbols.zip": "40798272358a1d6264baffe6746c3f8bec3302e898e17d3adcd82215483fd9c4",
28
+ "electron-v16.0.0-alpha.2-linux-ia32.zip": "a8c8dbfcea6ac55a071e2a7a8f865ca5a2328cdc8dc9c7720379e4709a789588",
29
+ "electron-v16.0.0-alpha.2-linux-x64-debug.zip": "262313575dc402246345b9c3f7d8e9d7ab4c1b99a38ff8c96ef31805a7931a88",
30
+ "electron-v16.0.0-alpha.2-linux-x64-symbols.zip": "b228d86407a819819dc5a0919bf04a01f0aca2c9a3ce3baf2448d2989c14d521",
31
+ "electron-v16.0.0-alpha.2-linux-x64.zip": "d352568522e730f82df8f5f340ce241d8e97b6e373f8b82d6d37514abae6b66a",
32
+ "electron-v16.0.0-alpha.2-mas-arm64-dsym.zip": "c107cae485005ea48006eda395c35ee4f26310315868f2e67dd308ce8e7a77df",
33
+ "electron-v16.0.0-alpha.2-mas-arm64-symbols.zip": "ce9ae240138a8994b6ec02cfe75feadac5c82aba724e21eaa75d3821d76887cd",
34
+ "electron-v16.0.0-alpha.2-mas-arm64.zip": "a7d360362a4bf9f220b0bb205d147c7dd6876a73d449afa507076f119aa4a671",
35
+ "electron-v16.0.0-alpha.2-mas-x64-dsym.zip": "aae0b0ad8ee2e8466402f48d99948e2da30ba8b83c136cd417fc4355a17f0664",
36
+ "electron-v16.0.0-alpha.2-mas-x64-symbols.zip": "46344ed6d32cc260ed0ee481bcc0b3bf9cf0718c2ebc2f49ce7cde473d12deb6",
37
+ "electron-v16.0.0-alpha.2-mas-x64.zip": "88ce5aed3aea018e720669a8aec4f2ec63dad74c8612b92a405efc55d07ce5d0",
38
+ "electron-v16.0.0-alpha.2-win32-arm64-pdb.zip": "56ce956f2bc2bc590bab306b789985799a9ffcd6d8d64e87694ea9d65eee28f7",
39
+ "electron-v16.0.0-alpha.2-win32-arm64-symbols.zip": "49d86fd034ef4e99ac2bebc620845643d3f0391b2225da017102032189e95fbc",
40
+ "electron-v16.0.0-alpha.2-win32-arm64-toolchain-profile.zip": "3b0e3dde77968ef5643bf5a043be2ccd84edd88ccb588505a65ba7e7a6542b9e",
41
+ "electron-v16.0.0-alpha.2-win32-arm64.zip": "b6915637fe2beefdc9b4a41812d41e84bd9cb52ae15916c5e1032a65d1b548f0",
42
+ "electron-v16.0.0-alpha.2-win32-ia32-pdb.zip": "038b5772934ef645dd910421259b3e5691169c4c02730be2f7a508f046485a31",
43
+ "electron-v16.0.0-alpha.2-win32-ia32-symbols.zip": "0cdbdb761f61c24663970eb809605718e9a9fc34d83365682141c3e3545d8332",
44
+ "electron-v16.0.0-alpha.2-win32-ia32-toolchain-profile.zip": "3b0e3dde77968ef5643bf5a043be2ccd84edd88ccb588505a65ba7e7a6542b9e",
45
+ "electron-v16.0.0-alpha.2-win32-ia32.zip": "0fbc326275f1fdd3e77d2bf75383171a0b562c205c53af7f95dcf356ce8fb216",
46
+ "electron-v16.0.0-alpha.2-win32-x64-pdb.zip": "414e603c43eccb286a51719070ca7f3b14df54fbcb2ab797df1cbd855ae95566",
47
+ "electron-v16.0.0-alpha.2-win32-x64-symbols.zip": "b6a1d4965280d350b7556ca73cb683bc67839ce9e98f0422d6f5eb86e4c1b9a6",
48
+ "electron-v16.0.0-alpha.2-win32-x64-toolchain-profile.zip": "3b0e3dde77968ef5643bf5a043be2ccd84edd88ccb588505a65ba7e7a6542b9e",
49
+ "electron-v16.0.0-alpha.2-win32-x64.zip": "63d4a871e9100fa3a383768d3ba81a2466a33e5e1fd6c665365f9327bad0742f",
50
+ "electron.d.ts": "c8e75323ecb55173e14f2d7f08444e1f6882acef11db717358d7c7dc6cc80bab",
51
+ "ffmpeg-v16.0.0-alpha.2-darwin-arm64.zip": "67beeed81bd3e0110209dc209da9cbf1fad72147fd22e385a556dc1d83778ee4",
52
+ "ffmpeg-v16.0.0-alpha.2-darwin-x64.zip": "c034c04d55284200e8279ab9ffc0918a8095b95e1b85730c4559160ec71baaf5",
53
+ "ffmpeg-v16.0.0-alpha.2-linux-arm64.zip": "e2d1731c111913e06d0c2eb9f1d3d6bfe187860e8ebf1f07534d9377086e1b52",
54
+ "ffmpeg-v16.0.0-alpha.2-linux-armv7l.zip": "3f6847162054cd591642a42ede3c47534d2643c7e61277cedd40945bc63b6682",
55
+ "ffmpeg-v16.0.0-alpha.2-linux-ia32.zip": "3ea031098a53b4edf6e885b2625cdcbc64a07e6e712fc798cd214170711a58d7",
56
+ "ffmpeg-v16.0.0-alpha.2-linux-x64.zip": "b0a7d05bf32e8f2d123b67bdf4b32d1572491a9ca18346e9ea5a3f2c07558e2b",
57
+ "ffmpeg-v16.0.0-alpha.2-mas-arm64.zip": "67beeed81bd3e0110209dc209da9cbf1fad72147fd22e385a556dc1d83778ee4",
58
+ "ffmpeg-v16.0.0-alpha.2-mas-x64.zip": "c034c04d55284200e8279ab9ffc0918a8095b95e1b85730c4559160ec71baaf5",
59
+ "ffmpeg-v16.0.0-alpha.2-win32-arm64.zip": "3d6e85e8e151cc0494b16aea88ed71777628be70b8b0c3f8aac6ed6551bd377a",
60
+ "ffmpeg-v16.0.0-alpha.2-win32-ia32.zip": "577c39e570d23fc8e2510160bc7d4d41d893f0a5493e094d1d35041ba51077c9",
61
+ "ffmpeg-v16.0.0-alpha.2-win32-x64.zip": "ce8fce4d4da0fcaa5cb80e461afeecb92f51f36d9786cb39635f7b0f617ff56b",
62
+ "hunspell_dictionaries.zip": "6c6e76d717dbd1574901eefd626fc16eca80c5117567faf431c5631020e7c19c",
63
+ "libcxx-objects-v16.0.0-alpha.2-linux-arm64.zip": "fd981642797ad60f64eb79f8e6a1466eb23e31a2a4ce15d9a34b8db85a71bcf2",
64
+ "libcxx-objects-v16.0.0-alpha.2-linux-armv7l.zip": "0e81197bbee9414e2a29ccf8b6703980d0d69d46aea87d577b3d549502db2f9a",
65
+ "libcxx-objects-v16.0.0-alpha.2-linux-ia32.zip": "b142310e81e1b2510c54a219d7bbdfffc7fef0fb4d587ecb3121df73dc9950f4",
66
+ "libcxx-objects-v16.0.0-alpha.2-linux-x64.zip": "ad21fdea582dc9201097f1fb1e4fa5ca05f570d755517a9f35dae2bbc2944d35",
67
+ "libcxx_headers.zip": "8038c110a33d48e9f81b8314e8843c226aab19ea4f689891534461281b867de8",
68
+ "libcxxabi_headers.zip": "d2346f4c54d855365e83a031a26cf20d5798ca9185326f72bcb9faabe406f0b9",
69
+ "mksnapshot-v16.0.0-alpha.2-darwin-arm64.zip": "f4af4c4290660cf4565fbc9bc08c6b80c2c7ea907f815b07a39edf3d658c1695",
70
+ "mksnapshot-v16.0.0-alpha.2-darwin-x64.zip": "638517e3254275ccce2ed02ec1e89da68884e38dd95b948e16e14d9d53f65fce",
71
+ "mksnapshot-v16.0.0-alpha.2-linux-arm64-x64.zip": "541487d3fe6090a0a06598b1b33b09eaddfca775f9eb52a88941d944edc3bdca",
72
+ "mksnapshot-v16.0.0-alpha.2-linux-armv7l-x64.zip": "49883fd3ff08c306134191b9ef65d8f120d6a82ec9ebedd8b725b90652b98a7f",
73
+ "mksnapshot-v16.0.0-alpha.2-linux-ia32.zip": "0c8264f8c32d7c228576ac042df8e5d3bc39be5904c1ce98c2806e31ddaae684",
74
+ "mksnapshot-v16.0.0-alpha.2-linux-x64.zip": "3e698e39e456d04459d82407ade421f4bb0ecf3350fafa8d895e5864ea6df587",
75
+ "mksnapshot-v16.0.0-alpha.2-mas-arm64.zip": "d55e7af81cc496e78aa9a549bd3fcd65ed3cbda3725b2d06d975341de8df0b9f",
76
+ "mksnapshot-v16.0.0-alpha.2-mas-x64.zip": "691dce5c2fd11ec6d248c3f95287aa08b397a2f397090cee03bc5c91cd0d5d16",
77
+ "mksnapshot-v16.0.0-alpha.2-win32-arm64-x64.zip": "9e58807de5bcca58dd1e9f0287e3eb26b3b96a24bb455495942593a7a2b79a0c",
78
+ "mksnapshot-v16.0.0-alpha.2-win32-ia32.zip": "7167c3d3337a4b5cb6aa60ccf464b73256d4d352edc3ffd273d8251795a17957",
79
+ "mksnapshot-v16.0.0-alpha.2-win32-x64.zip": "b3fcbfa5af2407acf396c5ad895819ff296901a69229dfaf6ccf97feb23444bb"
80
+ }
package/electron.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- // Type definitions for Electron 15.0.0-beta.6
1
+ // Type definitions for Electron 16.0.0-alpha.2
2
2
  // Project: http://electronjs.org/
3
3
  // Definitions by: The Electron Team <https://github.com/electron/electron>
4
4
  // Definitions: https://github.com/electron/electron-typescript-definitions
@@ -165,7 +165,8 @@ declare namespace Electron {
165
165
  */
166
166
  error: string,
167
167
  certificate: Certificate,
168
- callback: (isTrusted: boolean) => void) => void): this;
168
+ callback: (isTrusted: boolean) => void,
169
+ isMainFrame: boolean) => void): this;
169
170
  once(event: 'certificate-error', listener: (event: Event,
170
171
  webContents: WebContents,
171
172
  url: string,
@@ -174,7 +175,8 @@ declare namespace Electron {
174
175
  */
175
176
  error: string,
176
177
  certificate: Certificate,
177
- callback: (isTrusted: boolean) => void) => void): this;
178
+ callback: (isTrusted: boolean) => void,
179
+ isMainFrame: boolean) => void): this;
178
180
  addListener(event: 'certificate-error', listener: (event: Event,
179
181
  webContents: WebContents,
180
182
  url: string,
@@ -183,7 +185,8 @@ declare namespace Electron {
183
185
  */
184
186
  error: string,
185
187
  certificate: Certificate,
186
- callback: (isTrusted: boolean) => void) => void): this;
188
+ callback: (isTrusted: boolean) => void,
189
+ isMainFrame: boolean) => void): this;
187
190
  removeListener(event: 'certificate-error', listener: (event: Event,
188
191
  webContents: WebContents,
189
192
  url: string,
@@ -192,7 +195,8 @@ declare namespace Electron {
192
195
  */
193
196
  error: string,
194
197
  certificate: Certificate,
195
- callback: (isTrusted: boolean) => void) => void): this;
198
+ callback: (isTrusted: boolean) => void,
199
+ isMainFrame: boolean) => void): this;
196
200
  /**
197
201
  * Emitted when the child process unexpectedly disappears. This is normally because
198
202
  * it was crashed or killed. It does not include renderer processes.
@@ -2522,8 +2526,8 @@ declare namespace Electron {
2522
2526
  * and height are within the content view--only that they exist. Sum any extra
2523
2527
  * width and height areas you have within the overall content view.
2524
2528
  *
2525
- * The aspect ratio is not respected when window is resized programmingly with APIs
2526
- * like `win.setSize`.
2529
+ * The aspect ratio is not respected when window is resized programmatically with
2530
+ * APIs like `win.setSize`.
2527
2531
  */
2528
2532
  setAspectRatio(aspectRatio: number, extraSize?: Size): void;
2529
2533
  /**
@@ -3381,7 +3385,7 @@ declare namespace Electron {
3381
3385
  *
3382
3386
  * Returns an Object containing `title` and `url` keys representing the bookmark in
3383
3387
  * the clipboard. The `title` and `url` values will be empty strings when the
3384
- * bookmark is unavailable.
3388
+ * bookmark is unavailable. The `title` value will always be empty on Windows.
3385
3389
  *
3386
3390
  * @platform darwin,win32
3387
3391
  */
@@ -3424,7 +3428,7 @@ declare namespace Electron {
3424
3428
  */
3425
3429
  write(data: Data, type?: 'selection' | 'clipboard'): void;
3426
3430
  /**
3427
- * Writes the `title` and `url` into the clipboard as a bookmark.
3431
+ * Writes the `title` (macOS only) and `url` into the clipboard as a bookmark.
3428
3432
  *
3429
3433
  * **Note:** Most apps on Windows don't support pasting bookmarks into them so you
3430
3434
  * can use `clipboard.write` to write both a bookmark and fallback text to the
@@ -3747,13 +3751,6 @@ declare namespace Electron {
3747
3751
  * must be no longer than 39 bytes, and values must be no longer than 20320 bytes.
3748
3752
  * Keys with names longer than the maximum will be silently ignored. Key values
3749
3753
  * longer than the maximum length will be truncated.
3750
- *
3751
- * **Note:** On linux values that are longer than 127 bytes will be chunked into
3752
- * multiple keys, each 127 bytes in length. E.g. `addExtraParameter('foo',
3753
- * 'a'.repeat(130))` will result in two chunked keys `foo__1` and `foo__2`, the
3754
- * first will contain the first 127 bytes and the second will contain the remaining
3755
- * 3 bytes. On your crash reporting backend you should stitch together keys in
3756
- * this format.
3757
3754
  */
3758
3755
  addExtraParameter(key: string, value: string): void;
3759
3756
  /**
@@ -4754,6 +4751,37 @@ declare namespace Electron {
4754
4751
  webgl2: string;
4755
4752
  }
4756
4753
 
4754
+ interface HIDDevice {
4755
+
4756
+ // Docs: https://electronjs.org/docs/api/structures/hid-device
4757
+
4758
+ /**
4759
+ * Unique identifier for the device.
4760
+ */
4761
+ deviceId: string;
4762
+ /**
4763
+ * Unique identifier for the HID interface. A device may have multiple HID
4764
+ * interfaces.
4765
+ */
4766
+ guid?: string;
4767
+ /**
4768
+ * Name of the device.
4769
+ */
4770
+ name: string;
4771
+ /**
4772
+ * The USB product ID.
4773
+ */
4774
+ productId: number;
4775
+ /**
4776
+ * The USB device serial number.
4777
+ */
4778
+ serialNumber?: string;
4779
+ /**
4780
+ * The USB vendor ID.
4781
+ */
4782
+ vendorId: number;
4783
+ }
4784
+
4757
4785
  interface InAppPurchase extends NodeJS.EventEmitter {
4758
4786
 
4759
4787
  // Docs: https://electronjs.org/docs/api/in-app-purchase
@@ -7146,6 +7174,36 @@ declare namespace Electron {
7146
7174
  extension: Extension) => void): this;
7147
7175
  removeListener(event: 'extension-unloaded', listener: (event: Event,
7148
7176
  extension: Extension) => void): this;
7177
+ /**
7178
+ * Emitted when a new HID device becomes available. For example, when a new USB
7179
+ * device is plugged in.
7180
+ *
7181
+ * This event will only be emitted after `navigator.hid.requestDevice` has been
7182
+ * called and `select-hid-device` has fired.
7183
+ */
7184
+ on(event: 'hid-device-added', listener: (event: Event,
7185
+ details: HidDeviceAddedDetails) => void): this;
7186
+ once(event: 'hid-device-added', listener: (event: Event,
7187
+ details: HidDeviceAddedDetails) => void): this;
7188
+ addListener(event: 'hid-device-added', listener: (event: Event,
7189
+ details: HidDeviceAddedDetails) => void): this;
7190
+ removeListener(event: 'hid-device-added', listener: (event: Event,
7191
+ details: HidDeviceAddedDetails) => void): this;
7192
+ /**
7193
+ * Emitted when a HID device has been removed. For example, this event will fire
7194
+ * when a USB device is unplugged.
7195
+ *
7196
+ * This event will only be emitted after `navigator.hid.requestDevice` has been
7197
+ * called and `select-hid-device` has fired.
7198
+ */
7199
+ on(event: 'hid-device-removed', listener: (event: Event,
7200
+ details: HidDeviceRemovedDetails) => void): this;
7201
+ once(event: 'hid-device-removed', listener: (event: Event,
7202
+ details: HidDeviceRemovedDetails) => void): this;
7203
+ addListener(event: 'hid-device-removed', listener: (event: Event,
7204
+ details: HidDeviceRemovedDetails) => void): this;
7205
+ removeListener(event: 'hid-device-removed', listener: (event: Event,
7206
+ details: HidDeviceRemovedDetails) => void): this;
7149
7207
  /**
7150
7208
  * Emitted when a render process requests preconnection to a URL, generally due to
7151
7209
  * a resource hint.
@@ -7190,6 +7248,26 @@ declare namespace Electron {
7190
7248
  * the spec for more details.)
7191
7249
  */
7192
7250
  allowCredentials: boolean) => void): this;
7251
+ /**
7252
+ * Emitted when a HID device needs to be selected when a call to
7253
+ * `navigator.hid.requestDevice` is made. `callback` should be called with
7254
+ * `deviceId` to be selected; passing no arguments to `callback` will cancel the
7255
+ * request. Additionally, permissioning on `navigator.hid` can be further managed
7256
+ * by using ses.setPermissionCheckHandler(handler) and
7257
+ * ses.setDevicePermissionHandler(handler)`.
7258
+ */
7259
+ on(event: 'select-hid-device', listener: (event: Event,
7260
+ details: SelectHidDeviceDetails,
7261
+ callback: (deviceId?: (string) | (null)) => void) => void): this;
7262
+ once(event: 'select-hid-device', listener: (event: Event,
7263
+ details: SelectHidDeviceDetails,
7264
+ callback: (deviceId?: (string) | (null)) => void) => void): this;
7265
+ addListener(event: 'select-hid-device', listener: (event: Event,
7266
+ details: SelectHidDeviceDetails,
7267
+ callback: (deviceId?: (string) | (null)) => void) => void): this;
7268
+ removeListener(event: 'select-hid-device', listener: (event: Event,
7269
+ details: SelectHidDeviceDetails,
7270
+ callback: (deviceId?: (string) | (null)) => void) => void): this;
7193
7271
  /**
7194
7272
  * Emitted when a serial port needs to be selected when a call to
7195
7273
  * `navigator.serial.requestPort` is made. `callback` should be called with
@@ -7553,6 +7631,21 @@ declare namespace Electron {
7553
7631
  * > **NOTE:** The result of this procedure is cached by the network service.
7554
7632
  */
7555
7633
  setCertificateVerifyProc(proc: ((request: Request, callback: (verificationResult: number) => void) => void) | (null)): void;
7634
+ /**
7635
+ * Sets the handler which can be used to respond to device permission checks for
7636
+ * the `session`. Returning `true` will allow the device to be permitted and
7637
+ * `false` will reject it. To clear the handler, call
7638
+ * `setDevicePermissionHandler(null)`. This handler can be used to provide default
7639
+ * permissioning to devices without first calling for permission to devices (eg via
7640
+ * `navigator.hid.requestDevice`). If this handler is not defined, the default
7641
+ * device permissions as granted through device selection (eg via
7642
+ * `navigator.hid.requestDevice`) will be used. Additionally, the default behavior
7643
+ * of Electron is to store granted device permision through the lifetime of the
7644
+ * corresponding WebContents. If longer term storage is needed, a developer can
7645
+ * store granted device permissions (eg when handling the `select-hid-device`
7646
+ * event) and then read from that storage with `setDevicePermissionHandler`.
7647
+ */
7648
+ setDevicePermissionHandler(handler: ((details: DevicePermissionHandlerHandlerDetails) => boolean) | (null)): void;
7556
7649
  /**
7557
7650
  * Sets download saving directory. By default, the download directory will be the
7558
7651
  * `Downloads` under the respective app folder.
@@ -9369,7 +9462,8 @@ declare namespace Electron {
9369
9462
  */
9370
9463
  error: string,
9371
9464
  certificate: Certificate,
9372
- callback: (isTrusted: boolean) => void) => void): this;
9465
+ callback: (isTrusted: boolean) => void,
9466
+ isMainFrame: boolean) => void): this;
9373
9467
  once(event: 'certificate-error', listener: (event: Event,
9374
9468
  url: string,
9375
9469
  /**
@@ -9377,7 +9471,8 @@ declare namespace Electron {
9377
9471
  */
9378
9472
  error: string,
9379
9473
  certificate: Certificate,
9380
- callback: (isTrusted: boolean) => void) => void): this;
9474
+ callback: (isTrusted: boolean) => void,
9475
+ isMainFrame: boolean) => void): this;
9381
9476
  addListener(event: 'certificate-error', listener: (event: Event,
9382
9477
  url: string,
9383
9478
  /**
@@ -9385,7 +9480,8 @@ declare namespace Electron {
9385
9480
  */
9386
9481
  error: string,
9387
9482
  certificate: Certificate,
9388
- callback: (isTrusted: boolean) => void) => void): this;
9483
+ callback: (isTrusted: boolean) => void,
9484
+ isMainFrame: boolean) => void): this;
9389
9485
  removeListener(event: 'certificate-error', listener: (event: Event,
9390
9486
  url: string,
9391
9487
  /**
@@ -9393,7 +9489,8 @@ declare namespace Electron {
9393
9489
  */
9394
9490
  error: string,
9395
9491
  certificate: Certificate,
9396
- callback: (isTrusted: boolean) => void) => void): this;
9492
+ callback: (isTrusted: boolean) => void,
9493
+ isMainFrame: boolean) => void): this;
9397
9494
  /**
9398
9495
  * Emitted when the associated window logs a console message.
9399
9496
  */
@@ -12926,6 +13023,10 @@ declare namespace Electron {
12926
13023
  * y coordinate.
12927
13024
  */
12928
13025
  y: number;
13026
+ /**
13027
+ * Frame from which the context menu was invoked.
13028
+ */
13029
+ frame: WebFrameMain;
12929
13030
  /**
12930
13031
  * URL of the link that encloses the node the context menu was invoked on.
12931
13032
  */
@@ -13259,6 +13360,25 @@ declare namespace Electron {
13259
13360
  name?: string;
13260
13361
  }
13261
13362
 
13363
+ interface DevicePermissionHandlerHandlerDetails {
13364
+ /**
13365
+ * The type of device that permission is being requested on, can be `hid`.
13366
+ */
13367
+ deviceType: ('hid');
13368
+ /**
13369
+ * The origin URL of the device permission check.
13370
+ */
13371
+ origin: string;
13372
+ /**
13373
+ * the device that permission is being requested for.
13374
+ */
13375
+ device: HIDDevice;
13376
+ /**
13377
+ * WebFrameMain checking the device permission.
13378
+ */
13379
+ frame: WebFrameMain;
13380
+ }
13381
+
13262
13382
  interface DidChangeThemeColorEvent extends Event {
13263
13383
  themeColor: string;
13264
13384
  }
@@ -13514,6 +13634,16 @@ declare namespace Electron {
13514
13634
  doesZapGarbage: boolean;
13515
13635
  }
13516
13636
 
13637
+ interface HidDeviceAddedDetails {
13638
+ device: HIDDevice[];
13639
+ frame: WebFrameMain;
13640
+ }
13641
+
13642
+ interface HidDeviceRemovedDetails {
13643
+ device: HIDDevice[];
13644
+ frame: WebFrameMain;
13645
+ }
13646
+
13517
13647
  interface IgnoreMouseEventsOptions {
13518
13648
  /**
13519
13649
  * If true, forwards mouse move messages to Chromium, enabling mouse related events
@@ -13617,9 +13747,13 @@ declare namespace Electron {
13617
13747
 
13618
13748
  interface Item {
13619
13749
  /**
13620
- * The path(s) to the file(s) being dragged.
13750
+ * The path to the file being dragged.
13621
13751
  */
13622
- file: (string[]) | (string);
13752
+ file: string;
13753
+ /**
13754
+ * The paths to the files being dragged. (`files` will override `file` field)
13755
+ */
13756
+ files?: string[];
13623
13757
  /**
13624
13758
  * The image must be non-empty on macOS.
13625
13759
  */
@@ -13903,6 +14037,12 @@ declare namespace Electron {
13903
14037
  */
13904
14038
  checkboxChecked?: boolean;
13905
14039
  icon?: NativeImage;
14040
+ /**
14041
+ * Custom width of the text in the message box.
14042
+ *
14043
+ * @platform darwin
14044
+ */
14045
+ textWidth?: number;
13906
14046
  /**
13907
14047
  * The index of the button to be used to cancel the dialog, via the `Esc` key. By
13908
14048
  * default this is assigned to the first button with "cancel" or "no" as the label.
@@ -13971,6 +14111,12 @@ declare namespace Electron {
13971
14111
  */
13972
14112
  detail?: string;
13973
14113
  icon?: (NativeImage) | (string);
14114
+ /**
14115
+ * Custom width of the text in the message box.
14116
+ *
14117
+ * @platform darwin
14118
+ */
14119
+ textWidth?: number;
13974
14120
  /**
13975
14121
  * The index of the button to be used to cancel the dialog, via the `Esc` key. By
13976
14122
  * default this is assigned to the first button with "cancel" or "no" as the label.
@@ -14656,7 +14802,14 @@ declare namespace Electron {
14656
14802
  certificate: Certificate;
14657
14803
  validatedCertificate: Certificate;
14658
14804
  /**
14659
- * Verification result from chromium.
14805
+ * `true` if Chromium recognises the root CA as a standard root. If it isn't then
14806
+ * it's probably the case that this certificate was generated by a MITM proxy whose
14807
+ * root has been installed locally (for example, by a corporate proxy). This should
14808
+ * not be trusted if the `verificationResult` is not `OK`.
14809
+ */
14810
+ isIssuedByKnownRoot: boolean;
14811
+ /**
14812
+ * `OK` if the certificate is trusted, otherwise an error like `CERT_REVOKED`.
14660
14813
  */
14661
14814
  verificationResult: string;
14662
14815
  /**
@@ -14826,6 +14979,11 @@ declare namespace Electron {
14826
14979
  securityScopedBookmarks?: boolean;
14827
14980
  }
14828
14981
 
14982
+ interface SelectHidDeviceDetails {
14983
+ deviceList: HIDDevice[];
14984
+ frame: WebFrameMain;
14985
+ }
14986
+
14829
14987
  interface Settings {
14830
14988
  /**
14831
14989
  * `true` to open the app at login, `false` to remove the app as a login item.
@@ -15893,6 +16051,7 @@ declare namespace Electron {
15893
16051
  type CreateInterruptedDownloadOptions = Electron.CreateInterruptedDownloadOptions;
15894
16052
  type Data = Electron.Data;
15895
16053
  type Details = Electron.Details;
16054
+ type DevicePermissionHandlerHandlerDetails = Electron.DevicePermissionHandlerHandlerDetails;
15896
16055
  type DidChangeThemeColorEvent = Electron.DidChangeThemeColorEvent;
15897
16056
  type DidCreateWindowDetails = Electron.DidCreateWindowDetails;
15898
16057
  type DidFailLoadEvent = Electron.DidFailLoadEvent;
@@ -15914,6 +16073,8 @@ declare namespace Electron {
15914
16073
  type HandlerDetails = Electron.HandlerDetails;
15915
16074
  type HeadersReceivedResponse = Electron.HeadersReceivedResponse;
15916
16075
  type HeapStatistics = Electron.HeapStatistics;
16076
+ type HidDeviceAddedDetails = Electron.HidDeviceAddedDetails;
16077
+ type HidDeviceRemovedDetails = Electron.HidDeviceRemovedDetails;
15917
16078
  type IgnoreMouseEventsOptions = Electron.IgnoreMouseEventsOptions;
15918
16079
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
15919
16080
  type Info = Electron.Info;
@@ -15976,6 +16137,7 @@ declare namespace Electron {
15976
16137
  type SaveDialogOptions = Electron.SaveDialogOptions;
15977
16138
  type SaveDialogReturnValue = Electron.SaveDialogReturnValue;
15978
16139
  type SaveDialogSyncOptions = Electron.SaveDialogSyncOptions;
16140
+ type SelectHidDeviceDetails = Electron.SelectHidDeviceDetails;
15979
16141
  type Settings = Electron.Settings;
15980
16142
  type SourcesOptions = Electron.SourcesOptions;
15981
16143
  type SSLConfigConfig = Electron.SSLConfigConfig;
@@ -16027,6 +16189,7 @@ declare namespace Electron {
16027
16189
  type FileFilter = Electron.FileFilter;
16028
16190
  type FilePathWithHeaders = Electron.FilePathWithHeaders;
16029
16191
  type GPUFeatureStatus = Electron.GPUFeatureStatus;
16192
+ type HIDDevice = Electron.HIDDevice;
16030
16193
  type InputEvent = Electron.InputEvent;
16031
16194
  type IOCounters = Electron.IOCounters;
16032
16195
  type IpcMainEvent = Electron.IpcMainEvent;
@@ -16173,6 +16336,7 @@ declare namespace Electron {
16173
16336
  type CreateInterruptedDownloadOptions = Electron.CreateInterruptedDownloadOptions;
16174
16337
  type Data = Electron.Data;
16175
16338
  type Details = Electron.Details;
16339
+ type DevicePermissionHandlerHandlerDetails = Electron.DevicePermissionHandlerHandlerDetails;
16176
16340
  type DidChangeThemeColorEvent = Electron.DidChangeThemeColorEvent;
16177
16341
  type DidCreateWindowDetails = Electron.DidCreateWindowDetails;
16178
16342
  type DidFailLoadEvent = Electron.DidFailLoadEvent;
@@ -16194,6 +16358,8 @@ declare namespace Electron {
16194
16358
  type HandlerDetails = Electron.HandlerDetails;
16195
16359
  type HeadersReceivedResponse = Electron.HeadersReceivedResponse;
16196
16360
  type HeapStatistics = Electron.HeapStatistics;
16361
+ type HidDeviceAddedDetails = Electron.HidDeviceAddedDetails;
16362
+ type HidDeviceRemovedDetails = Electron.HidDeviceRemovedDetails;
16197
16363
  type IgnoreMouseEventsOptions = Electron.IgnoreMouseEventsOptions;
16198
16364
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
16199
16365
  type Info = Electron.Info;
@@ -16256,6 +16422,7 @@ declare namespace Electron {
16256
16422
  type SaveDialogOptions = Electron.SaveDialogOptions;
16257
16423
  type SaveDialogReturnValue = Electron.SaveDialogReturnValue;
16258
16424
  type SaveDialogSyncOptions = Electron.SaveDialogSyncOptions;
16425
+ type SelectHidDeviceDetails = Electron.SelectHidDeviceDetails;
16259
16426
  type Settings = Electron.Settings;
16260
16427
  type SourcesOptions = Electron.SourcesOptions;
16261
16428
  type SSLConfigConfig = Electron.SSLConfigConfig;
@@ -16307,6 +16474,7 @@ declare namespace Electron {
16307
16474
  type FileFilter = Electron.FileFilter;
16308
16475
  type FilePathWithHeaders = Electron.FilePathWithHeaders;
16309
16476
  type GPUFeatureStatus = Electron.GPUFeatureStatus;
16477
+ type HIDDevice = Electron.HIDDevice;
16310
16478
  type InputEvent = Electron.InputEvent;
16311
16479
  type IOCounters = Electron.IOCounters;
16312
16480
  type IpcMainEvent = Electron.IpcMainEvent;
@@ -16393,6 +16561,7 @@ declare namespace Electron {
16393
16561
  type CreateInterruptedDownloadOptions = Electron.CreateInterruptedDownloadOptions;
16394
16562
  type Data = Electron.Data;
16395
16563
  type Details = Electron.Details;
16564
+ type DevicePermissionHandlerHandlerDetails = Electron.DevicePermissionHandlerHandlerDetails;
16396
16565
  type DidChangeThemeColorEvent = Electron.DidChangeThemeColorEvent;
16397
16566
  type DidCreateWindowDetails = Electron.DidCreateWindowDetails;
16398
16567
  type DidFailLoadEvent = Electron.DidFailLoadEvent;
@@ -16414,6 +16583,8 @@ declare namespace Electron {
16414
16583
  type HandlerDetails = Electron.HandlerDetails;
16415
16584
  type HeadersReceivedResponse = Electron.HeadersReceivedResponse;
16416
16585
  type HeapStatistics = Electron.HeapStatistics;
16586
+ type HidDeviceAddedDetails = Electron.HidDeviceAddedDetails;
16587
+ type HidDeviceRemovedDetails = Electron.HidDeviceRemovedDetails;
16417
16588
  type IgnoreMouseEventsOptions = Electron.IgnoreMouseEventsOptions;
16418
16589
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
16419
16590
  type Info = Electron.Info;
@@ -16476,6 +16647,7 @@ declare namespace Electron {
16476
16647
  type SaveDialogOptions = Electron.SaveDialogOptions;
16477
16648
  type SaveDialogReturnValue = Electron.SaveDialogReturnValue;
16478
16649
  type SaveDialogSyncOptions = Electron.SaveDialogSyncOptions;
16650
+ type SelectHidDeviceDetails = Electron.SelectHidDeviceDetails;
16479
16651
  type Settings = Electron.Settings;
16480
16652
  type SourcesOptions = Electron.SourcesOptions;
16481
16653
  type SSLConfigConfig = Electron.SSLConfigConfig;
@@ -16527,6 +16699,7 @@ declare namespace Electron {
16527
16699
  type FileFilter = Electron.FileFilter;
16528
16700
  type FilePathWithHeaders = Electron.FilePathWithHeaders;
16529
16701
  type GPUFeatureStatus = Electron.GPUFeatureStatus;
16702
+ type HIDDevice = Electron.HIDDevice;
16530
16703
  type InputEvent = Electron.InputEvent;
16531
16704
  type IOCounters = Electron.IOCounters;
16532
16705
  type IpcMainEvent = Electron.IpcMainEvent;
@@ -16690,6 +16863,7 @@ declare namespace Electron {
16690
16863
  type CreateInterruptedDownloadOptions = Electron.CreateInterruptedDownloadOptions;
16691
16864
  type Data = Electron.Data;
16692
16865
  type Details = Electron.Details;
16866
+ type DevicePermissionHandlerHandlerDetails = Electron.DevicePermissionHandlerHandlerDetails;
16693
16867
  type DidChangeThemeColorEvent = Electron.DidChangeThemeColorEvent;
16694
16868
  type DidCreateWindowDetails = Electron.DidCreateWindowDetails;
16695
16869
  type DidFailLoadEvent = Electron.DidFailLoadEvent;
@@ -16711,6 +16885,8 @@ declare namespace Electron {
16711
16885
  type HandlerDetails = Electron.HandlerDetails;
16712
16886
  type HeadersReceivedResponse = Electron.HeadersReceivedResponse;
16713
16887
  type HeapStatistics = Electron.HeapStatistics;
16888
+ type HidDeviceAddedDetails = Electron.HidDeviceAddedDetails;
16889
+ type HidDeviceRemovedDetails = Electron.HidDeviceRemovedDetails;
16714
16890
  type IgnoreMouseEventsOptions = Electron.IgnoreMouseEventsOptions;
16715
16891
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
16716
16892
  type Info = Electron.Info;
@@ -16773,6 +16949,7 @@ declare namespace Electron {
16773
16949
  type SaveDialogOptions = Electron.SaveDialogOptions;
16774
16950
  type SaveDialogReturnValue = Electron.SaveDialogReturnValue;
16775
16951
  type SaveDialogSyncOptions = Electron.SaveDialogSyncOptions;
16952
+ type SelectHidDeviceDetails = Electron.SelectHidDeviceDetails;
16776
16953
  type Settings = Electron.Settings;
16777
16954
  type SourcesOptions = Electron.SourcesOptions;
16778
16955
  type SSLConfigConfig = Electron.SSLConfigConfig;
@@ -16824,6 +17001,7 @@ declare namespace Electron {
16824
17001
  type FileFilter = Electron.FileFilter;
16825
17002
  type FilePathWithHeaders = Electron.FilePathWithHeaders;
16826
17003
  type GPUFeatureStatus = Electron.GPUFeatureStatus;
17004
+ type HIDDevice = Electron.HIDDevice;
16827
17005
  type InputEvent = Electron.InputEvent;
16828
17006
  type IOCounters = Electron.IOCounters;
16829
17007
  type IpcMainEvent = Electron.IpcMainEvent;
package/install.js CHANGED
@@ -41,6 +41,7 @@ downloadArtifact({
41
41
  artifactName: 'electron',
42
42
  force: process.env.force_no_cache === 'true',
43
43
  cacheRoot: process.env.electron_config_cache,
44
+ checksums: process.env.electron_use_remote_checksums ? undefined : require('./checksums.json'),
44
45
  platform,
45
46
  arch
46
47
  }).then(extractFile).catch(err => {
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "postinstall": "node install.js"
9
9
  },
10
10
  "dependencies": {
11
- "@electron/get": "^1.0.1",
11
+ "@electron/get": "^1.13.0",
12
12
  "@types/node": "^14.6.2",
13
13
  "extract-zip": "^1.0.3"
14
14
  },
@@ -16,7 +16,7 @@
16
16
  "node": ">= 8.6"
17
17
  },
18
18
  "name": "electron",
19
- "version": "15.0.0-beta.6",
19
+ "version": "16.0.0-alpha.2",
20
20
  "repository": "https://github.com/electron/electron",
21
21
  "description": "Build cross platform desktop apps with JavaScript, HTML, and CSS",
22
22
  "license": "MIT",