mirror of
https://github.com/microsoft/playwright.git
synced 2024-12-14 05:37:20 +03:00
chore(rpc): more protocol nits (#3246)
This commit is contained in:
parent
421f6f48c7
commit
93056ed8ef
10
docs/api.md
10
docs/api.md
@ -217,7 +217,7 @@ Indicates that the browser is connected.
|
||||
- `httpCredentials` <[Object]> Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication).
|
||||
- `username` <[string]>
|
||||
- `password` <[string]>
|
||||
- `colorScheme` <"dark"|"light"|"no-preference"> Emulates `'prefers-colors-scheme'` media feature, supported values are `'light'`, `'dark'`, `'no-preference'`. See [page.emulateMedia(options)](#pageemulatemediaoptions) for more details. Defaults to '`light`'.
|
||||
- `colorScheme` <"light"|"dark"|"no-preference"> Emulates `'prefers-colors-scheme'` media feature, supported values are `'light'`, `'dark'`, `'no-preference'`. See [page.emulateMedia(options)](#pageemulatemediaoptions) for more details. Defaults to '`light`'.
|
||||
- `logger` <[Logger]> Logger sink for Playwright logging.
|
||||
- returns: <[Promise]<[BrowserContext]>>
|
||||
|
||||
@ -259,7 +259,7 @@ Creates a new browser context. It won't share cookies/cache with other browser c
|
||||
- `httpCredentials` <[Object]> Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication).
|
||||
- `username` <[string]>
|
||||
- `password` <[string]>
|
||||
- `colorScheme` <"dark"|"light"|"no-preference"> Emulates `'prefers-colors-scheme'` media feature, supported values are `'light'`, `'dark'`, `'no-preference'`. See [page.emulateMedia(options)](#pageemulatemediaoptions) for more details. Defaults to '`light`'.
|
||||
- `colorScheme` <"light"|"dark"|"no-preference"> Emulates `'prefers-colors-scheme'` media feature, supported values are `'light'`, `'dark'`, `'no-preference'`. See [page.emulateMedia(options)](#pageemulatemediaoptions) for more details. Defaults to '`light`'.
|
||||
- `logger` <[Logger]> Logger sink for Playwright logging.
|
||||
- returns: <[Promise]<[Page]>>
|
||||
|
||||
@ -1145,8 +1145,8 @@ await page.dispatchEvent('#source', 'dragstart', { dataTransfer });
|
||||
|
||||
#### page.emulateMedia(options)
|
||||
- `options` <[Object]>
|
||||
- `media` <?"screen"|"print"> Changes the CSS media type of the page. The only allowed values are `'screen'`, `'print'` and `null`. Passing `null` disables CSS media emulation. Omitting `media` or passing `undefined` does not change the emulated value.
|
||||
- `colorScheme` <?"dark"|"light"|"no-preference"> Emulates `'prefers-colors-scheme'` media feature, supported values are `'light'`, `'dark'`, `'no-preference'`. Passing `null` disables color scheme emulation. Omitting `colorScheme` or passing `undefined` does not change the emulated value.
|
||||
- `media` <null|"screen"|"print"> Changes the CSS media type of the page. The only allowed values are `'screen'`, `'print'` and `null`. Passing `null` disables CSS media emulation. Omitting `media` or passing `undefined` does not change the emulated value.
|
||||
- `colorScheme` <null|"light"|"dark"|"no-preference"> Emulates `'prefers-colors-scheme'` media feature, supported values are `'light'`, `'dark'`, `'no-preference'`. Passing `null` disables color scheme emulation. Omitting `colorScheme` or passing `undefined` does not change the emulated value.
|
||||
- returns: <[Promise]>
|
||||
|
||||
```js
|
||||
@ -4074,7 +4074,7 @@ const browser = await chromium.launch({ // Or 'firefox' or 'webkit'.
|
||||
- `httpCredentials` <[Object]> Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication).
|
||||
- `username` <[string]>
|
||||
- `password` <[string]>
|
||||
- `colorScheme` <"dark"|"light"|"no-preference"> Emulates `'prefers-colors-scheme'` media feature, supported values are `'light'`, `'dark'`, `'no-preference'`. See [page.emulateMedia(options)](#pageemulatemediaoptions) for more details. Defaults to '`light`'.
|
||||
- `colorScheme` <"light"|"dark"|"no-preference"> Emulates `'prefers-colors-scheme'` media feature, supported values are `'light'`, `'dark'`, `'no-preference'`. See [page.emulateMedia(options)](#pageemulatemediaoptions) for more details. Defaults to '`light`'.
|
||||
- returns: <[Promise]<[BrowserContext]>> Promise that resolves to the persistent browser context instance.
|
||||
|
||||
Launches browser that uses persistent storage located at `userDataDir` and returns the only context. Closing this context will automatically close the browser.
|
||||
|
@ -317,7 +317,7 @@ export type BrowserTypeLaunchPersistentContextParams = {
|
||||
deviceScaleFactor?: number,
|
||||
isMobile?: boolean,
|
||||
hasTouch?: boolean,
|
||||
colorScheme?: 'dark' | 'light' | 'no-preference',
|
||||
colorScheme?: 'light' | 'dark' | 'no-preference',
|
||||
acceptDownloads?: boolean,
|
||||
};
|
||||
export type BrowserTypeLaunchPersistentContextOptions = {
|
||||
@ -372,7 +372,7 @@ export type BrowserTypeLaunchPersistentContextOptions = {
|
||||
deviceScaleFactor?: number,
|
||||
isMobile?: boolean,
|
||||
hasTouch?: boolean,
|
||||
colorScheme?: 'dark' | 'light' | 'no-preference',
|
||||
colorScheme?: 'light' | 'dark' | 'no-preference',
|
||||
acceptDownloads?: boolean,
|
||||
};
|
||||
export type BrowserTypeLaunchPersistentContextResult = {
|
||||
|
@ -329,8 +329,8 @@ BrowserType:
|
||||
colorScheme:
|
||||
type: enum?
|
||||
literals:
|
||||
- dark
|
||||
- light
|
||||
- dark
|
||||
- no-preference
|
||||
acceptDownloads: boolean?
|
||||
returns:
|
||||
|
@ -208,7 +208,7 @@ export function createScheme(tChannel: (name: string) => Validator): Scheme {
|
||||
deviceScaleFactor: tOptional(tNumber),
|
||||
isMobile: tOptional(tBoolean),
|
||||
hasTouch: tOptional(tBoolean),
|
||||
colorScheme: tOptional(tEnum(['dark', 'light', 'no-preference'])),
|
||||
colorScheme: tOptional(tEnum(['light', 'dark', 'no-preference'])),
|
||||
acceptDownloads: tOptional(tBoolean),
|
||||
});
|
||||
scheme.BrowserServerCloseParams = tOptional(tObject({}));
|
||||
|
77
utils/doclint/dumpTypes.js
Normal file
77
utils/doclint/dumpTypes.js
Normal file
@ -0,0 +1,77 @@
|
||||
/**
|
||||
* Copyright (c) Microsoft Corporation.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
const playwright = require('../../');
|
||||
const path = require('path');
|
||||
const Source = require('./Source');
|
||||
const mdBuilder = require('./check_public_api/MDBuilder');
|
||||
const PROJECT_DIR = path.join(__dirname, '..', '..');
|
||||
|
||||
(async () => {
|
||||
const api = await Source.readFile(path.join(PROJECT_DIR, 'docs', 'api.md'));
|
||||
const browser = await playwright.chromium.launch();
|
||||
const page = await browser.newPage();
|
||||
const { documentation } = await mdBuilder(page, [api]);
|
||||
const result = serialize(documentation);
|
||||
console.log(JSON.stringify(result, undefined, 2));
|
||||
await browser.close();
|
||||
})()
|
||||
|
||||
function serialize(documentation) {
|
||||
const result = {};
|
||||
for (const clazz of documentation.classesArray)
|
||||
result[clazz.name] = serializeClass(clazz);
|
||||
return result;
|
||||
}
|
||||
|
||||
function serializeClass(clazz) {
|
||||
const result = { name: clazz.name };
|
||||
result.members = {};
|
||||
for (const member of clazz.membersArray)
|
||||
result.members[member.name] = serializeMember(member);
|
||||
return result;
|
||||
}
|
||||
|
||||
function serializeMember(member) {
|
||||
const result = { ...member };
|
||||
delete result.args;
|
||||
delete result.argsArray;
|
||||
result.args = {};
|
||||
for (const arg of member.argsArray)
|
||||
result.args[arg.name] = serializeProperty(arg);
|
||||
if (member.type)
|
||||
result.type = serializeType(member.type)
|
||||
return result;
|
||||
}
|
||||
|
||||
function serializeProperty(arg) {
|
||||
const result = { ...arg };
|
||||
delete result.args;
|
||||
delete result.argsArray;
|
||||
if (arg.type)
|
||||
result.type = serializeType(arg.type)
|
||||
return result;
|
||||
}
|
||||
|
||||
function serializeType(type) {
|
||||
const result = { ...type };
|
||||
if (type.properties) {
|
||||
result.properties = {};
|
||||
for (const prop of type.properties)
|
||||
result.properties[prop.name] = serializeProperty(prop);
|
||||
}
|
||||
return result;
|
||||
}
|
Loading…
Reference in New Issue
Block a user