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 коммит произвёл GitHub
Родитель 6df392162f
Коммит 2b283724ce
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
7 изменённых файлов: 30 добавлений и 11 удалений

Просмотреть файл

@ -91,7 +91,7 @@ The `desktopCapturer` module has the following methods:
* `options` Object
* `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
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

Просмотреть файл

@ -306,7 +306,7 @@ Returns `NativeImage` - The cropped image.
* `width` Integer (optional) - Defaults to the image's width.
* `height` Integer (optional) - Defaults to the image's height.
* `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
into an algorithm-specific method that depends on the capabilities
(CPU, GPU) of the underlying platform. It is possible for all three methods

Просмотреть файл

@ -574,11 +574,11 @@ Clears the sessions HTTP cache.
* `options` Object (optional)
* `origin` string (optional) - Should follow `window.location.origin`s representation
`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`,
`shadercache`, `websql`, `serviceworkers`, `cachestorage`. If not
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.
Returns `Promise<void>` - resolves when the storage data has been cleared.
@ -1113,7 +1113,7 @@ app.whenReady().then(() => {
* `handler` Function\<string[]> | null
* `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-video`
* `hid`

Просмотреть файл

@ -795,7 +795,7 @@ Returns:
* `frameCharset` string - The character encoding of the frame on which the
menu was invoked.
* `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`.
* `spellcheckEnabled` boolean - If the context is editable, whether or not spellchecking is enabled.
* `menuSourceType` string - Input source that invoked the context menu.

Просмотреть файл

@ -1091,7 +1091,7 @@ Returns:
* `frameCharset` string - The character encoding of the frame on which the
menu was invoked.
* `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`.
* `spellcheckEnabled` boolean - If the context is editable, whether or not spellchecking is enabled.
* `menuSourceType` string - Input source that invoked the context menu.

Просмотреть файл

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

Просмотреть файл

@ -526,6 +526,10 @@ dialog.showMessageBoxSync(win3, { message: 'test', type: 'foo' });
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
// 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');
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
// 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
// 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) => {
console.log('will-download', webContents.id);
event.preventDefault();