diff --git a/README.md b/README.md index ce556f5b6b..61228f65c5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 🎭 Playwright -[![npm version](https://img.shields.io/npm/v/playwright.svg?style=flat)](https://www.npmjs.com/package/playwright) [![Join Slack](https://img.shields.io/badge/join-slack-infomational)](https://join.slack.com/t/playwright/shared_invite/enQtOTEyMTUxMzgxMjIwLThjMDUxZmIyNTRiMTJjNjIyMzdmZDA3MTQxZWUwZTFjZjQwNGYxZGM5MzRmNzZlMWI5ZWUyOTkzMjE5Njg1NDg) [![Chromium version](https://img.shields.io/badge/chromium-90.0.4396.0-blue.svg?logo=google-chrome)](https://www.chromium.org/Home) [![Firefox version](https://img.shields.io/badge/firefox-86.0b5-blue.svg?logo=mozilla-firefox)](https://www.mozilla.org/en-US/firefox/new/) [![WebKit version](https://img.shields.io/badge/webkit-14.1-blue.svg?logo=safari)](https://webkit.org/) +[![npm version](https://img.shields.io/npm/v/playwright.svg?style=flat)](https://www.npmjs.com/package/playwright) [![Join Slack](https://img.shields.io/badge/join-slack-infomational)](https://join.slack.com/t/playwright/shared_invite/enQtOTEyMTUxMzgxMjIwLThjMDUxZmIyNTRiMTJjNjIyMzdmZDA3MTQxZWUwZTFjZjQwNGYxZGM5MzRmNzZlMWI5ZWUyOTkzMjE5Njg1NDg) [![Chromium version](https://img.shields.io/badge/chromium-90.0.4399.0-blue.svg?logo=google-chrome)](https://www.chromium.org/Home) [![Firefox version](https://img.shields.io/badge/firefox-86.0b5-blue.svg?logo=mozilla-firefox)](https://www.mozilla.org/en-US/firefox/new/) [![WebKit version](https://img.shields.io/badge/webkit-14.1-blue.svg?logo=safari)](https://webkit.org/) ## [Documentation](https://playwright.dev) | [API reference](https://playwright.dev/#?path=docs/api.md) @@ -8,7 +8,7 @@ Playwright is a Node.js library to automate [Chromium](https://www.chromium.org/ | | Linux | macOS | Windows | | :--- | :---: | :---: | :---: | -| Chromium 90.0.4396.0 | :white_check_mark: | :white_check_mark: | :white_check_mark: | +| Chromium 90.0.4399.0 | :white_check_mark: | :white_check_mark: | :white_check_mark: | | WebKit 14.1 | :white_check_mark: | :white_check_mark: | :white_check_mark: | | Firefox 86.0b5 | :white_check_mark: | :white_check_mark: | :white_check_mark: | diff --git a/browsers.json b/browsers.json index 3ca544ea0a..aee65e2fdf 100644 --- a/browsers.json +++ b/browsers.json @@ -3,7 +3,7 @@ "browsers": [ { "name": "chromium", - "revision": "845618", + "revision": "846621", "download": true }, { diff --git a/src/server/chromium/protocol.ts b/src/server/chromium/protocol.ts index 1d073bb63d..1042a0f3f8 100644 --- a/src/server/chromium/protocol.ts +++ b/src/server/chromium/protocol.ts @@ -816,12 +816,31 @@ some CSP errors in the future. sourceCodeLocation: SourceCodeLocation; isWarning: boolean; } + export type TwaQualityEnforcementViolationType = "kHttpError"|"kUnavailableOffline"|"kDigitalAssetLinks"; + export interface TrustedWebActivityIssueDetails { + /** + * The url that triggers the violation. + */ + url: string; + violationType: TwaQualityEnforcementViolationType; + httpStatusCode?: number; + /** + * The package name of the Trusted Web Activity client app. This field is +only used when violation type is kDigitalAssetLinks. + */ + packageName?: string; + /** + * The signature of the Trusted Web Activity client app. This field is only +used when violation type is kDigitalAssetLinks. + */ + signature?: string; + } /** * A unique identifier for the type of issue. Each type may use one of the optional fields in InspectorIssueDetails to convey more specific information about the kind of issue. */ - export type InspectorIssueCode = "SameSiteCookieIssue"|"MixedContentIssue"|"BlockedByResponseIssue"|"HeavyAdIssue"|"ContentSecurityPolicyIssue"|"SharedArrayBufferTransferIssue"; + export type InspectorIssueCode = "SameSiteCookieIssue"|"MixedContentIssue"|"BlockedByResponseIssue"|"HeavyAdIssue"|"ContentSecurityPolicyIssue"|"SharedArrayBufferTransferIssue"|"TrustedWebActivityIssue"; /** * This struct holds a list of optional fields with additional information specific to the kind of issue. When adding a new issue code, please also @@ -834,6 +853,7 @@ add a new optional field to this type. heavyAdIssueDetails?: HeavyAdIssueDetails; contentSecurityPolicyIssueDetails?: ContentSecurityPolicyIssueDetails; sharedArrayBufferTransferIssueDetails?: SharedArrayBufferTransferIssueDetails; + twaQualityEnforcementDetails?: TrustedWebActivityIssueDetails; } /** * An inspector issue reported from the back-end. @@ -7916,6 +7936,22 @@ this requestId will be the same as the requestId present in the requestWillBeSen */ initiator?: Initiator; } + /** + * Fired when WebTransport handshake is finished. + */ + export type webTransportConnectionEstablishedPayload = { + /** + * WebTransport identifier. + */ + transportId: RequestId; + /** + * Timestamp. + */ + timestamp: MonotonicTime; + } + /** + * Fired when WebTransport is disposed. + */ export type webTransportClosedPayload = { /** * WebTransport identifier. @@ -14827,7 +14863,7 @@ other objects in their object group. export type RemoteObjectId = string; /** * Primitive value which cannot be JSON-stringified. Includes values `-0`, `NaN`, `Infinity`, -`-Infinity`. +`-Infinity`, and bigint literals. */ export type UnserializableValue = string; /** @@ -15862,6 +15898,7 @@ unsubscribes current runtime agent from Runtime.bindingCalled notifications. "Network.webSocketHandshakeResponseReceived": Network.webSocketHandshakeResponseReceivedPayload; "Network.webSocketWillSendHandshakeRequest": Network.webSocketWillSendHandshakeRequestPayload; "Network.webTransportCreated": Network.webTransportCreatedPayload; + "Network.webTransportConnectionEstablished": Network.webTransportConnectionEstablishedPayload; "Network.webTransportClosed": Network.webTransportClosedPayload; "Network.requestWillBeSentExtraInfo": Network.requestWillBeSentExtraInfoPayload; "Network.responseReceivedExtraInfo": Network.responseReceivedExtraInfoPayload; diff --git a/types/protocol.d.ts b/types/protocol.d.ts index 1d073bb63d..1042a0f3f8 100644 --- a/types/protocol.d.ts +++ b/types/protocol.d.ts @@ -816,12 +816,31 @@ some CSP errors in the future. sourceCodeLocation: SourceCodeLocation; isWarning: boolean; } + export type TwaQualityEnforcementViolationType = "kHttpError"|"kUnavailableOffline"|"kDigitalAssetLinks"; + export interface TrustedWebActivityIssueDetails { + /** + * The url that triggers the violation. + */ + url: string; + violationType: TwaQualityEnforcementViolationType; + httpStatusCode?: number; + /** + * The package name of the Trusted Web Activity client app. This field is +only used when violation type is kDigitalAssetLinks. + */ + packageName?: string; + /** + * The signature of the Trusted Web Activity client app. This field is only +used when violation type is kDigitalAssetLinks. + */ + signature?: string; + } /** * A unique identifier for the type of issue. Each type may use one of the optional fields in InspectorIssueDetails to convey more specific information about the kind of issue. */ - export type InspectorIssueCode = "SameSiteCookieIssue"|"MixedContentIssue"|"BlockedByResponseIssue"|"HeavyAdIssue"|"ContentSecurityPolicyIssue"|"SharedArrayBufferTransferIssue"; + export type InspectorIssueCode = "SameSiteCookieIssue"|"MixedContentIssue"|"BlockedByResponseIssue"|"HeavyAdIssue"|"ContentSecurityPolicyIssue"|"SharedArrayBufferTransferIssue"|"TrustedWebActivityIssue"; /** * This struct holds a list of optional fields with additional information specific to the kind of issue. When adding a new issue code, please also @@ -834,6 +853,7 @@ add a new optional field to this type. heavyAdIssueDetails?: HeavyAdIssueDetails; contentSecurityPolicyIssueDetails?: ContentSecurityPolicyIssueDetails; sharedArrayBufferTransferIssueDetails?: SharedArrayBufferTransferIssueDetails; + twaQualityEnforcementDetails?: TrustedWebActivityIssueDetails; } /** * An inspector issue reported from the back-end. @@ -7916,6 +7936,22 @@ this requestId will be the same as the requestId present in the requestWillBeSen */ initiator?: Initiator; } + /** + * Fired when WebTransport handshake is finished. + */ + export type webTransportConnectionEstablishedPayload = { + /** + * WebTransport identifier. + */ + transportId: RequestId; + /** + * Timestamp. + */ + timestamp: MonotonicTime; + } + /** + * Fired when WebTransport is disposed. + */ export type webTransportClosedPayload = { /** * WebTransport identifier. @@ -14827,7 +14863,7 @@ other objects in their object group. export type RemoteObjectId = string; /** * Primitive value which cannot be JSON-stringified. Includes values `-0`, `NaN`, `Infinity`, -`-Infinity`. +`-Infinity`, and bigint literals. */ export type UnserializableValue = string; /** @@ -15862,6 +15898,7 @@ unsubscribes current runtime agent from Runtime.bindingCalled notifications. "Network.webSocketHandshakeResponseReceived": Network.webSocketHandshakeResponseReceivedPayload; "Network.webSocketWillSendHandshakeRequest": Network.webSocketWillSendHandshakeRequestPayload; "Network.webTransportCreated": Network.webTransportCreatedPayload; + "Network.webTransportConnectionEstablished": Network.webTransportConnectionEstablishedPayload; "Network.webTransportClosed": Network.webTransportClosedPayload; "Network.requestWillBeSentExtraInfo": Network.requestWillBeSentExtraInfoPayload; "Network.responseReceivedExtraInfo": Network.responseReceivedExtraInfoPayload;