diff --git a/README.md b/README.md index e1f5187139..f3a4caae21 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 🎭 Playwright -[![npm version](https://img.shields.io/npm/v/playwright.svg)](https://www.npmjs.com/package/playwright) [![Chromium version](https://img.shields.io/badge/chromium-114.0.5735.45-blue.svg?logo=google-chrome)](https://www.chromium.org/Home) [![Firefox version](https://img.shields.io/badge/firefox-113.0-blue.svg?logo=firefoxbrowser)](https://www.mozilla.org/en-US/firefox/new/) [![WebKit version](https://img.shields.io/badge/webkit-16.4-blue.svg?logo=safari)](https://webkit.org/) +[![npm version](https://img.shields.io/npm/v/playwright.svg)](https://www.npmjs.com/package/playwright) [![Chromium version](https://img.shields.io/badge/chromium-115.0.5790.13-blue.svg?logo=google-chrome)](https://www.chromium.org/Home) [![Firefox version](https://img.shields.io/badge/firefox-113.0-blue.svg?logo=firefoxbrowser)](https://www.mozilla.org/en-US/firefox/new/) [![WebKit version](https://img.shields.io/badge/webkit-16.4-blue.svg?logo=safari)](https://webkit.org/) ## [Documentation](https://playwright.dev) | [API reference](https://playwright.dev/docs/api/class-playwright) @@ -8,7 +8,7 @@ Playwright is a framework for Web Testing and Automation. It allows testing [Chr | | Linux | macOS | Windows | | :--- | :---: | :---: | :---: | -| Chromium 114.0.5735.45 | :white_check_mark: | :white_check_mark: | :white_check_mark: | +| Chromium 115.0.5790.13 | :white_check_mark: | :white_check_mark: | :white_check_mark: | | WebKit 16.4 | :white_check_mark: | :white_check_mark: | :white_check_mark: | | Firefox 113.0 | :white_check_mark: | :white_check_mark: | :white_check_mark: | diff --git a/packages/playwright-core/browsers.json b/packages/playwright-core/browsers.json index 97634bb18e..863dd56b8f 100644 --- a/packages/playwright-core/browsers.json +++ b/packages/playwright-core/browsers.json @@ -3,15 +3,15 @@ "browsers": [ { "name": "chromium", - "revision": "1065", + "revision": "1066", "installByDefault": true, - "browserVersion": "114.0.5735.45" + "browserVersion": "115.0.5790.13" }, { "name": "chromium-with-symbols", - "revision": "1065", + "revision": "1066", "installByDefault": false, - "browserVersion": "114.0.5735.45" + "browserVersion": "115.0.5790.13" }, { "name": "chromium-tip-of-tree", diff --git a/packages/playwright-core/src/server/chromium/protocol.d.ts b/packages/playwright-core/src/server/chromium/protocol.d.ts index 941a4c7d89..4840029089 100644 --- a/packages/playwright-core/src/server/chromium/protocol.d.ts +++ b/packages/playwright-core/src/server/chromium/protocol.d.ts @@ -770,25 +770,6 @@ transferred to a context that is not cross-origin isolated. isWarning: boolean; type: SharedArrayBufferIssueType; } - 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; - } export interface LowTextContrastIssueDetails { violatingNodeId: DOM.BackendNodeId; violatingNodeSelector: string; @@ -811,7 +792,7 @@ CORS RFC1918 enforcement. resourceIPAddressSpace?: Network.IPAddressSpace; clientSecurityState?: Network.ClientSecurityState; } - export type AttributionReportingIssueType = "PermissionPolicyDisabled"|"UntrustworthyReportingOrigin"|"InsecureContext"|"InvalidHeader"|"InvalidRegisterTriggerHeader"|"InvalidEligibleHeader"|"SourceAndTriggerHeaders"|"SourceIgnored"|"TriggerIgnored"|"OsSourceIgnored"|"OsTriggerIgnored"|"InvalidRegisterOsSourceHeader"|"InvalidRegisterOsTriggerHeader"|"WebAndOsHeaders"|"NoWebOrOsSupport"; + export type AttributionReportingIssueType = "PermissionPolicyDisabled"|"UntrustworthyReportingOrigin"|"InsecureContext"|"InvalidHeader"|"InvalidRegisterTriggerHeader"|"SourceAndTriggerHeaders"|"SourceIgnored"|"TriggerIgnored"|"OsSourceIgnored"|"OsTriggerIgnored"|"InvalidRegisterOsSourceHeader"|"InvalidRegisterOsTriggerHeader"|"WebAndOsHeaders"|"NoWebOrOsSupport"; /** * Details for issues around "Attribution Reporting API" usage. Explainer: https://github.com/WICG/attribution-reporting-api @@ -886,7 +867,7 @@ Should be updated alongside RequestIdTokenStatus in third_party/blink/public/mojom/devtools/inspector_issue.mojom to include all cases except for success. */ - export type FederatedAuthRequestIssueReason = "ShouldEmbargo"|"TooManyRequests"|"WellKnownHttpNotFound"|"WellKnownNoResponse"|"WellKnownInvalidResponse"|"WellKnownListEmpty"|"WellKnownInvalidContentType"|"ConfigNotInWellKnown"|"WellKnownTooBig"|"ConfigHttpNotFound"|"ConfigNoResponse"|"ConfigInvalidResponse"|"ConfigInvalidContentType"|"ClientMetadataHttpNotFound"|"ClientMetadataNoResponse"|"ClientMetadataInvalidResponse"|"ClientMetadataInvalidContentType"|"DisabledInSettings"|"ErrorFetchingSignin"|"InvalidSigninResponse"|"AccountsHttpNotFound"|"AccountsNoResponse"|"AccountsInvalidResponse"|"AccountsListEmpty"|"AccountsInvalidContentType"|"IdTokenHttpNotFound"|"IdTokenNoResponse"|"IdTokenInvalidResponse"|"IdTokenInvalidRequest"|"IdTokenInvalidContentType"|"ErrorIdToken"|"Canceled"|"RpPageNotVisible"; + export type FederatedAuthRequestIssueReason = "ShouldEmbargo"|"TooManyRequests"|"WellKnownHttpNotFound"|"WellKnownNoResponse"|"WellKnownInvalidResponse"|"WellKnownListEmpty"|"WellKnownInvalidContentType"|"ConfigNotInWellKnown"|"WellKnownTooBig"|"ConfigHttpNotFound"|"ConfigNoResponse"|"ConfigInvalidResponse"|"ConfigInvalidContentType"|"ClientMetadataHttpNotFound"|"ClientMetadataNoResponse"|"ClientMetadataInvalidResponse"|"ClientMetadataInvalidContentType"|"DisabledInSettings"|"ErrorFetchingSignin"|"InvalidSigninResponse"|"AccountsHttpNotFound"|"AccountsNoResponse"|"AccountsInvalidResponse"|"AccountsListEmpty"|"AccountsInvalidContentType"|"IdTokenHttpNotFound"|"IdTokenNoResponse"|"IdTokenInvalidResponse"|"IdTokenInvalidRequest"|"IdTokenInvalidContentType"|"ErrorIdToken"|"Canceled"|"RpPageNotVisible"|"SilentMediationFailure"; /** * This issue tracks client hints related issues. It's used to deprecate old features, encourage the use of new ones, and provide general guidance. @@ -900,7 +881,7 @@ features, encourage the use of new ones, and provide general guidance. optional fields in InspectorIssueDetails to convey more specific information about the kind of issue. */ - export type InspectorIssueCode = "CookieIssue"|"MixedContentIssue"|"BlockedByResponseIssue"|"HeavyAdIssue"|"ContentSecurityPolicyIssue"|"SharedArrayBufferIssue"|"TrustedWebActivityIssue"|"LowTextContrastIssue"|"CorsIssue"|"AttributionReportingIssue"|"QuirksModeIssue"|"NavigatorUserAgentIssue"|"GenericIssue"|"DeprecationIssue"|"ClientHintIssue"|"FederatedAuthRequestIssue"|"BounceTrackingIssue"; + export type InspectorIssueCode = "CookieIssue"|"MixedContentIssue"|"BlockedByResponseIssue"|"HeavyAdIssue"|"ContentSecurityPolicyIssue"|"SharedArrayBufferIssue"|"LowTextContrastIssue"|"CorsIssue"|"AttributionReportingIssue"|"QuirksModeIssue"|"NavigatorUserAgentIssue"|"GenericIssue"|"DeprecationIssue"|"ClientHintIssue"|"FederatedAuthRequestIssue"|"BounceTrackingIssue"; /** * 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 @@ -913,7 +894,6 @@ add a new optional field to this type. heavyAdIssueDetails?: HeavyAdIssueDetails; contentSecurityPolicyIssueDetails?: ContentSecurityPolicyIssueDetails; sharedArrayBufferIssueDetails?: SharedArrayBufferIssueDetails; - twaQualityEnforcementDetails?: TrustedWebActivityIssueDetails; lowTextContrastIssueDetails?: LowTextContrastIssueDetails; corsIssueDetails?: CorsIssueDetails; attributionReportingIssueDetails?: AttributionReportingIssueDetails; @@ -1010,6 +990,65 @@ using Audits.issueAdded event. } export type checkContrastReturnValue = { } + /** + * Runs the form issues check for the target page. Found issues are reported +using Audits.issueAdded event. + */ + export type checkFormsIssuesParameters = { + } + export type checkFormsIssuesReturnValue = { + formIssues: GenericIssueDetails[]; + } + } + + /** + * Defines commands and events for Autofill. + */ + export module Autofill { + export interface CreditCard { + /** + * 16-digit credit card number. + */ + number: string; + /** + * Name of the credit card owner. + */ + name: string; + /** + * 2-digit expiry month. + */ + expiryMonth: string; + /** + * 4-digit expiry year. + */ + expiryYear: string; + /** + * 3-digit card verification code. + */ + cvc: string; + } + + + /** + * Trigger autofill on a form identified by the fieldId. +If the field and related form cannot be autofilled, returns an error. + */ + export type triggerParameters = { + /** + * Identifies a field that serves as an anchor for autofill. + */ + fieldId: DOM.BackendNodeId; + /** + * Identifies the frame that field belongs to. + */ + frameId?: Page.FrameId; + /** + * Credit card information to fill out the form. Credit card data is not saved. + */ + card: CreditCard; + } + export type triggerReturnValue = { + } } /** @@ -1528,6 +1567,15 @@ with 'left', 'top', 'width' or 'height'. Leaves unspecified fields unchanged. } export type executeBrowserCommandReturnValue = { } + /** + * Allows a site to use privacy sandbox features that require enrollment +without the site actually being enrolled. Only supported on page targets. + */ + export type addPrivacySandboxEnrollmentOverrideParameters = { + url: string; + } + export type addPrivacySandboxEnrollmentOverrideReturnValue = { + } } /** @@ -1610,6 +1658,29 @@ inspector" rules), "regular" for regular stylesheets. * Value range in the underlying resource (if available). */ range?: SourceRange; + /** + * Specificity of the selector. + */ + specificity?: Specificity; + } + /** + * Specificity: +https://drafts.csswg.org/selectors/#specificity-rules + */ + export interface Specificity { + /** + * The a component, which represents the number of ID selectors. + */ + a: number; + /** + * The b component, which represents the number of class selectors, attributes selectors, and +pseudo-classes. + */ + b: number; + /** + * The c component, which represents the number of type selectors and pseudo-elements. + */ + c: number; } /** * Selector list data. @@ -2756,6 +2827,10 @@ instrumentation). * Storage key of the cache. */ storageKey: string; + /** + * Storage bucket of the cache. + */ + storageBucket?: Storage.StorageBucket; /** * The name of the cache. */ @@ -2807,7 +2882,7 @@ instrumentation). */ export type requestCacheNamesParameters = { /** - * At least and at most one of securityOrigin, storageKey must be specified. + * At least and at most one of securityOrigin, storageKey, storageBucket must be specified. Security origin. */ securityOrigin?: string; @@ -2815,6 +2890,10 @@ Security origin. * Storage key. */ storageKey?: string; + /** + * Storage bucket. If not specified, it uses the default bucket. + */ + storageBucket?: Storage.StorageBucket; } export type requestCacheNamesReturnValue = { /** @@ -6050,7 +6129,7 @@ requires the version number to be 'unsigned long long') */ export type clearObjectStoreParameters = { /** - * At least and at most one of securityOrigin, storageKey must be specified. + * At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin. */ securityOrigin?: string; @@ -6058,6 +6137,10 @@ Security origin. * Storage key. */ storageKey?: string; + /** + * Storage bucket. If not specified, it uses the default bucket. + */ + storageBucket?: Storage.StorageBucket; /** * Database name. */ @@ -6074,7 +6157,7 @@ Security origin. */ export type deleteDatabaseParameters = { /** - * At least and at most one of securityOrigin, storageKey must be specified. + * At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin. */ securityOrigin?: string; @@ -6082,6 +6165,10 @@ Security origin. * Storage key. */ storageKey?: string; + /** + * Storage bucket. If not specified, it uses the default bucket. + */ + storageBucket?: Storage.StorageBucket; /** * Database name. */ @@ -6094,7 +6181,7 @@ Security origin. */ export type deleteObjectStoreEntriesParameters = { /** - * At least and at most one of securityOrigin, storageKey must be specified. + * At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin. */ securityOrigin?: string; @@ -6102,6 +6189,10 @@ Security origin. * Storage key. */ storageKey?: string; + /** + * Storage bucket. If not specified, it uses the default bucket. + */ + storageBucket?: Storage.StorageBucket; databaseName: string; objectStoreName: string; /** @@ -6130,7 +6221,7 @@ Security origin. */ export type requestDataParameters = { /** - * At least and at most one of securityOrigin, storageKey must be specified. + * At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin. */ securityOrigin?: string; @@ -6138,6 +6229,10 @@ Security origin. * Storage key. */ storageKey?: string; + /** + * Storage bucket. If not specified, it uses the default bucket. + */ + storageBucket?: Storage.StorageBucket; /** * Database name. */ @@ -6178,7 +6273,7 @@ Security origin. */ export type getMetadataParameters = { /** - * At least and at most one of securityOrigin, storageKey must be specified. + * At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin. */ securityOrigin?: string; @@ -6186,6 +6281,10 @@ Security origin. * Storage key. */ storageKey?: string; + /** + * Storage bucket. If not specified, it uses the default bucket. + */ + storageBucket?: Storage.StorageBucket; /** * Database name. */ @@ -6212,7 +6311,7 @@ is true. */ export type requestDatabaseParameters = { /** - * At least and at most one of securityOrigin, storageKey must be specified. + * At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin. */ securityOrigin?: string; @@ -6220,6 +6319,10 @@ Security origin. * Storage key. */ storageKey?: string; + /** + * Storage bucket. If not specified, it uses the default bucket. + */ + storageBucket?: Storage.StorageBucket; /** * Database name. */ @@ -6236,7 +6339,7 @@ Security origin. */ export type requestDatabaseNamesParameters = { /** - * At least and at most one of securityOrigin, storageKey must be specified. + * At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin. */ securityOrigin?: string; @@ -6244,6 +6347,10 @@ Security origin. * Storage key. */ storageKey?: string; + /** + * Storage bucket. If not specified, it uses the default bucket. + */ + storageBucket?: Storage.StorageBucket; } export type requestDatabaseNamesReturnValue = { /** @@ -12978,11 +13085,16 @@ SharedStorageAccessType.workletSet. ignoreIfPresent?: boolean; } export type StorageBucketsDurability = "relaxed"|"strict"; - export interface StorageBucketInfo { + export interface StorageBucket { storageKey: SerializedStorageKey; + /** + * If not specified, it is the default bucket of the storageKey. + */ + name?: string; + } + export interface StorageBucketInfo { + bucket: StorageBucket; id: string; - name: string; - isDefault: boolean; expiration: Network.TimeSinceEpoch; /** * Storage quota (bytes). @@ -13004,6 +13116,10 @@ SharedStorageAccessType.workletSet. * Storage key to update. */ storageKey: string; + /** + * Storage bucket to update. + */ + bucketId: string; /** * Name of cache in origin. */ @@ -13021,6 +13137,10 @@ SharedStorageAccessType.workletSet. * Storage key to update. */ storageKey: string; + /** + * Storage bucket to update. + */ + bucketId: string; } /** * The origin's IndexedDB object store has been modified. @@ -13034,6 +13154,10 @@ SharedStorageAccessType.workletSet. * Storage key to update. */ storageKey: string; + /** + * Storage bucket to update. + */ + bucketId: string; /** * Database to update. */ @@ -13055,6 +13179,10 @@ SharedStorageAccessType.workletSet. * Storage key to update. */ storageKey: string; + /** + * Storage bucket to update. + */ + bucketId: string; } /** * One of the interest groups was accessed by the associated page. @@ -13093,7 +13221,7 @@ presence/absence depends on `type`. params: SharedStorageAccessParams; } export type storageBucketCreatedOrUpdatedPayload = { - bucket: StorageBucketInfo; + bucketInfo: StorageBucketInfo; } export type storageBucketDeletedPayload = { bucketId: string; @@ -13434,8 +13562,7 @@ Leaves other stored data, including the issuer's Redemption Records, intact. * Deletes the Storage Bucket with the given storage key and bucket name. */ export type deleteStorageBucketParameters = { - storageKey: string; - bucketName: string; + bucket: StorageBucket; } export type deleteStorageBucketReturnValue = { } @@ -15422,6 +15549,21 @@ See also: - https://github.com/WICG/nav-speculation/blob/main/triggers.md */ sourceText: string; + /** + * A speculation rule set is either added through an inline +