docs: fix some string union type (#39258)

* docs: fix some string union types

Improve Type Union Typings in the Docs

* test: add smoke tests

* test: update `ses.clearStorageData` test case

* test: update `ses.clearStorageData` test case

---------

Co-authored-by: mhli <mhli@hillinsight.com>
This commit is contained in:
hunter 2023-07-31 16:32:59 +08:00 committed by GitHub
parent 6df392162f
commit 2b283724ce
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 30 additions and 11 deletions

View file

@ -91,7 +91,7 @@ The `desktopCapturer` module has the following methods:
* `options` Object * `options` Object
* `types` string[] - An array of strings that lists the types of desktop sources * `types` string[] - An array of strings that lists the types of desktop sources
to be captured, available types are `screen` and `window`. to be captured, available types can be `screen` and `window`.
* `thumbnailSize` [Size](structures/size.md) (optional) - The size that the media source thumbnail * `thumbnailSize` [Size](structures/size.md) (optional) - The size that the media source thumbnail
should be scaled to. Default is `150` x `150`. Set width or height to 0 when you do not need should be scaled to. Default is `150` x `150`. Set width or height to 0 when you do not need
the thumbnails. This will save the processing time required for capturing the content of each the thumbnails. This will save the processing time required for capturing the content of each

View file

@ -306,7 +306,7 @@ Returns `NativeImage` - The cropped image.
* `width` Integer (optional) - Defaults to the image's width. * `width` Integer (optional) - Defaults to the image's width.
* `height` Integer (optional) - Defaults to the image's height. * `height` Integer (optional) - Defaults to the image's height.
* `quality` string (optional) - The desired quality of the resize image. * `quality` string (optional) - The desired quality of the resize image.
Possible values are `good`, `better`, or `best`. The default is `best`. Possible values include `good`, `better`, or `best`. The default is `best`.
These values express a desired quality/speed tradeoff. They are translated These values express a desired quality/speed tradeoff. They are translated
into an algorithm-specific method that depends on the capabilities into an algorithm-specific method that depends on the capabilities
(CPU, GPU) of the underlying platform. It is possible for all three methods (CPU, GPU) of the underlying platform. It is possible for all three methods

View file

@ -574,11 +574,11 @@ Clears the sessions HTTP cache.
* `options` Object (optional) * `options` Object (optional)
* `origin` string (optional) - Should follow `window.location.origin`s representation * `origin` string (optional) - Should follow `window.location.origin`s representation
`scheme://host:port`. `scheme://host:port`.
* `storages` string[] (optional) - The types of storages to clear, can contain: * `storages` string[] (optional) - The types of storages to clear, can be
`cookies`, `filesystem`, `indexdb`, `localstorage`, `cookies`, `filesystem`, `indexdb`, `localstorage`,
`shadercache`, `websql`, `serviceworkers`, `cachestorage`. If not `shadercache`, `websql`, `serviceworkers`, `cachestorage`. If not
specified, clear all storage types. specified, clear all storage types.
* `quotas` string[] (optional) - The types of quotas to clear, can contain: * `quotas` string[] (optional) - The types of quotas to clear, can be
`temporary`, `syncable`. If not specified, clear all quotas. `temporary`, `syncable`. If not specified, clear all quotas.
Returns `Promise<void>` - resolves when the storage data has been cleared. Returns `Promise<void>` - resolves when the storage data has been cleared.
@ -1113,7 +1113,7 @@ app.whenReady().then(() => {
* `handler` Function\<string[]> | null * `handler` Function\<string[]> | null
* `details` Object * `details` Object
* `protectedClasses` string[] - The current list of protected USB classes. Possible class values are: * `protectedClasses` string[] - The current list of protected USB classes. Possible class values include:
* `audio` * `audio`
* `audio-video` * `audio-video`
* `hid` * `hid`

View file

@ -795,7 +795,7 @@ Returns:
* `frameCharset` string - The character encoding of the frame on which the * `frameCharset` string - The character encoding of the frame on which the
menu was invoked. menu was invoked.
* `inputFieldType` string - If the context menu was invoked on an input * `inputFieldType` string - If the context menu was invoked on an input
field, the type of that field. Possible values are `none`, `plainText`, field, the type of that field. Possible values include `none`, `plainText`,
`password`, `other`. `password`, `other`.
* `spellcheckEnabled` boolean - If the context is editable, whether or not spellchecking is enabled. * `spellcheckEnabled` boolean - If the context is editable, whether or not spellchecking is enabled.
* `menuSourceType` string - Input source that invoked the context menu. * `menuSourceType` string - Input source that invoked the context menu.

View file

@ -1091,7 +1091,7 @@ Returns:
* `frameCharset` string - The character encoding of the frame on which the * `frameCharset` string - The character encoding of the frame on which the
menu was invoked. menu was invoked.
* `inputFieldType` string - If the context menu was invoked on an input * `inputFieldType` string - If the context menu was invoked on an input
field, the type of that field. Possible values are `none`, `plainText`, field, the type of that field. Possible values include `none`, `plainText`,
`password`, `other`. `password`, `other`.
* `spellcheckEnabled` boolean - If the context is editable, whether or not spellchecking is enabled. * `spellcheckEnabled` boolean - If the context is editable, whether or not spellchecking is enabled.
* `menuSourceType` string - Input source that invoked the context menu. * `menuSourceType` string - Input source that invoked the context menu.

View file

@ -252,12 +252,11 @@ describe('session module', () => {
it('clears localstorage data', async () => { it('clears localstorage data', async () => {
const w = new BrowserWindow({ show: false, webPreferences: { nodeIntegration: true } }); const w = new BrowserWindow({ show: false, webPreferences: { nodeIntegration: true } });
await w.loadFile(path.join(fixtures, 'api', 'localstorage.html')); await w.loadFile(path.join(fixtures, 'api', 'localstorage.html'));
const options = { await w.webContents.session.clearStorageData({
origin: 'file://', origin: 'file://',
storages: ['localstorage'], storages: ['localstorage'],
quotas: ['persistent'] quotas: ['temporary']
}; });
await w.webContents.session.clearStorageData(options);
while (await w.webContents.executeJavaScript('localStorage.length') !== 0) { while (await w.webContents.executeJavaScript('localStorage.length') !== 0) {
// The storage clear isn't instantly visible to the renderer, so keep // The storage clear isn't instantly visible to the renderer, so keep
// trying until it is. // trying until it is.

View file

@ -526,6 +526,10 @@ dialog.showMessageBoxSync(win3, { message: 'test', type: 'foo' });
ipcMain.handle('get-sources', (event, options) => desktopCapturer.getSources(options)); ipcMain.handle('get-sources', (event, options) => desktopCapturer.getSources(options));
desktopCapturer.getSources({ types: ['window', 'screen'] });
// @ts-expect-error Invalid type value
desktopCapturer.getSources({ types: ['unknown'] });
// global-shortcut // global-shortcut
// https://github.com/electron/electron/blob/main/docs/api/global-shortcut.md // https://github.com/electron/electron/blob/main/docs/api/global-shortcut.md
@ -1030,6 +1034,12 @@ appIcon4.destroy();
const image2 = nativeImage.createFromPath('/Users/somebody/images/icon.png'); const image2 = nativeImage.createFromPath('/Users/somebody/images/icon.png');
console.log(image2.getSize()); console.log(image2.getSize());
image2.resize({ quality: 'best' });
image2.resize({ quality: 'better' });
image2.resize({ quality: 'good' });
// @ts-expect-error Invalid type value
image2.resize({ quality: 'bad' });
// process // process
// https://github.com/electron/electron/blob/main/docs/api/process.md // https://github.com/electron/electron/blob/main/docs/api/process.md
@ -1133,6 +1143,16 @@ shell.writeShortcutLink('/home/user/Desktop/shortcut.lnk', 'update', shell.readS
// session // session
// https://github.com/electron/electron/blob/main/docs/api/session.md // https://github.com/electron/electron/blob/main/docs/api/session.md
session.defaultSession.clearStorageData({ storages: ['cookies', 'filesystem'] });
session.defaultSession.clearStorageData({ storages: ['localstorage', 'indexdb', 'serviceworkers'] });
session.defaultSession.clearStorageData({ storages: ['shadercache', 'websql', 'cachestorage'] });
// @ts-expect-error Invalid type value
session.defaultSession.clearStorageData({ storages: ['wrong_path'] });
session.defaultSession.clearStorageData({ quotas: ['syncable', 'temporary'] });
// @ts-expect-error Invalid type value
session.defaultSession.clearStorageData({ quotas: ['bad_type'] });
session.defaultSession.on('will-download', (event, item, webContents) => { session.defaultSession.on('will-download', (event, item, webContents) => {
console.log('will-download', webContents.id); console.log('will-download', webContents.id);
event.preventDefault(); event.preventDefault();