diff --git a/README.md b/README.md index d93e5fcf36..e4af4eb984 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) [![Chromium version](https://img.shields.io/badge/chromium-101.0.4901.0-blue.svg?logo=google-chrome)](https://www.chromium.org/Home) [![Firefox version](https://img.shields.io/badge/firefox-96.0.1-blue.svg?logo=mozilla-firefox)](https://www.mozilla.org/en-US/firefox/new/) [![WebKit version](https://img.shields.io/badge/webkit-15.4-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) [![Chromium version](https://img.shields.io/badge/chromium-101.0.4909.0-blue.svg?logo=google-chrome)](https://www.chromium.org/Home) [![Firefox version](https://img.shields.io/badge/firefox-96.0.1-blue.svg?logo=mozilla-firefox)](https://www.mozilla.org/en-US/firefox/new/) [![WebKit version](https://img.shields.io/badge/webkit-15.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 101.0.4901.0 | :white_check_mark: | :white_check_mark: | :white_check_mark: | +| Chromium 101.0.4909.0 | :white_check_mark: | :white_check_mark: | :white_check_mark: | | WebKit 15.4 | :white_check_mark: | :white_check_mark: | :white_check_mark: | | Firefox 96.0.1 | :white_check_mark: | :white_check_mark: | :white_check_mark: | diff --git a/packages/playwright-core/browsers.json b/packages/playwright-core/browsers.json index b31d45a9e3..a6d14e3e3c 100644 --- a/packages/playwright-core/browsers.json +++ b/packages/playwright-core/browsers.json @@ -3,12 +3,12 @@ "browsers": [ { "name": "chromium", - "revision": "973391", + "revision": "974924", "installByDefault": true }, { "name": "chromium-with-symbols", - "revision": "973391", + "revision": "974924", "installByDefault": false }, { diff --git a/packages/playwright-core/src/server/chromium/protocol.d.ts b/packages/playwright-core/src/server/chromium/protocol.d.ts index 1a86729aab..09830d9b6c 100644 --- a/packages/playwright-core/src/server/chromium/protocol.d.ts +++ b/packages/playwright-core/src/server/chromium/protocol.d.ts @@ -1715,6 +1715,11 @@ The array enumerates container queries starting with the innermost one, going ou The array enumerates @supports at-rules starting with the innermost one, going outwards. */ supports?: CSSSupports[]; + /** + * Cascade layer array. Contains the layer hierarchy that this rule belongs to starting +with the innermost layer and going outwards. + */ + layers?: CSSLayer[]; } /** * CSS coverage information. @@ -1957,6 +1962,42 @@ available). */ styleSheetId?: StyleSheetId; } + /** + * CSS Layer at-rule descriptor. + */ + export interface CSSLayer { + /** + * Layer name. + */ + text: string; + /** + * The associated rule header range in the enclosing stylesheet (if +available). + */ + range?: SourceRange; + /** + * Identifier of the stylesheet containing this object (if exists). + */ + styleSheetId?: StyleSheetId; + } + /** + * CSS Layer data. + */ + export interface CSSLayerData { + /** + * Layer name. + */ + name: string; + /** + * Direct sub-layers + */ + subLayers?: CSSLayerData[]; + /** + * Layer order. The order determines the order of the layer in the cascade order. +A higher number has higher priority in the cascade order. + */ + order: number; + } /** * Information about amount of glyphs that were rendered with given font. */ @@ -2335,6 +2376,18 @@ node. */ text: string; } + /** + * Returns all layers parsed by the rendering engine for the tree scope of a node. +Given a DOM element identified by nodeId, getLayersForNode returns the root +layer for the nearest ancestor document or shadow root. The layer root contains +the full layer tree for the tree scope and their ordering. + */ + export type getLayersForNodeParameters = { + nodeId: DOM.NodeId; + } + export type getLayersForNodeReturnValue = { + rootLayer: CSSLayerData; + } /** * Starts tracking the given computed styles for updates. The specified array of properties replaces the one previously specified. Pass empty array to disable tracking. @@ -5483,6 +5536,17 @@ on Android. } export type setUserAgentOverrideReturnValue = { } + /** + * Allows overriding the automation flag. + */ + export type setAutomationOverrideParameters = { + /** + * Whether the override should be enabled. + */ + enabled: boolean; + } + export type setAutomationOverrideReturnValue = { + } } /** @@ -17241,6 +17305,7 @@ Error was thrown. "CSS.getMediaQueries": CSS.getMediaQueriesParameters; "CSS.getPlatformFontsForNode": CSS.getPlatformFontsForNodeParameters; "CSS.getStyleSheetText": CSS.getStyleSheetTextParameters; + "CSS.getLayersForNode": CSS.getLayersForNodeParameters; "CSS.trackComputedStyleUpdates": CSS.trackComputedStyleUpdatesParameters; "CSS.takeComputedStyleUpdates": CSS.takeComputedStyleUpdatesParameters; "CSS.setEffectivePropertyValueForNode": CSS.setEffectivePropertyValueForNodeParameters; @@ -17369,6 +17434,7 @@ Error was thrown. "Emulation.setVisibleSize": Emulation.setVisibleSizeParameters; "Emulation.setDisabledImageTypes": Emulation.setDisabledImageTypesParameters; "Emulation.setUserAgentOverride": Emulation.setUserAgentOverrideParameters; + "Emulation.setAutomationOverride": Emulation.setAutomationOverrideParameters; "HeadlessExperimental.beginFrame": HeadlessExperimental.beginFrameParameters; "HeadlessExperimental.disable": HeadlessExperimental.disableParameters; "HeadlessExperimental.enable": HeadlessExperimental.enableParameters; @@ -17768,6 +17834,7 @@ Error was thrown. "CSS.getMediaQueries": CSS.getMediaQueriesReturnValue; "CSS.getPlatformFontsForNode": CSS.getPlatformFontsForNodeReturnValue; "CSS.getStyleSheetText": CSS.getStyleSheetTextReturnValue; + "CSS.getLayersForNode": CSS.getLayersForNodeReturnValue; "CSS.trackComputedStyleUpdates": CSS.trackComputedStyleUpdatesReturnValue; "CSS.takeComputedStyleUpdates": CSS.takeComputedStyleUpdatesReturnValue; "CSS.setEffectivePropertyValueForNode": CSS.setEffectivePropertyValueForNodeReturnValue; @@ -17896,6 +17963,7 @@ Error was thrown. "Emulation.setVisibleSize": Emulation.setVisibleSizeReturnValue; "Emulation.setDisabledImageTypes": Emulation.setDisabledImageTypesReturnValue; "Emulation.setUserAgentOverride": Emulation.setUserAgentOverrideReturnValue; + "Emulation.setAutomationOverride": Emulation.setAutomationOverrideReturnValue; "HeadlessExperimental.beginFrame": HeadlessExperimental.beginFrameReturnValue; "HeadlessExperimental.disable": HeadlessExperimental.disableReturnValue; "HeadlessExperimental.enable": HeadlessExperimental.enableReturnValue; diff --git a/packages/playwright-core/src/server/deviceDescriptorsSource.json b/packages/playwright-core/src/server/deviceDescriptorsSource.json index 1a2751a1c8..10115f225f 100644 --- a/packages/playwright-core/src/server/deviceDescriptorsSource.json +++ b/packages/playwright-core/src/server/deviceDescriptorsSource.json @@ -110,7 +110,7 @@ "defaultBrowserType": "webkit" }, "Galaxy S5": { - "userAgent": "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 360, "height": 640 @@ -121,7 +121,7 @@ "defaultBrowserType": "chromium" }, "Galaxy S5 landscape": { - "userAgent": "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 640, "height": 360 @@ -132,7 +132,7 @@ "defaultBrowserType": "chromium" }, "Galaxy S8": { - "userAgent": "Mozilla/5.0 (Linux; Android 7.0; SM-G950U Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 7.0; SM-G950U Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 360, "height": 740 @@ -143,7 +143,7 @@ "defaultBrowserType": "chromium" }, "Galaxy S8 landscape": { - "userAgent": "Mozilla/5.0 (Linux; Android 7.0; SM-G950U Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 7.0; SM-G950U Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 740, "height": 360 @@ -154,7 +154,7 @@ "defaultBrowserType": "chromium" }, "Galaxy S9+": { - "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; SM-G965U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; SM-G965U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 320, "height": 658 @@ -165,7 +165,7 @@ "defaultBrowserType": "chromium" }, "Galaxy S9+ landscape": { - "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; SM-G965U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; SM-G965U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 658, "height": 320 @@ -176,7 +176,7 @@ "defaultBrowserType": "chromium" }, "Galaxy Tab S4": { - "userAgent": "Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Safari/537.36", "viewport": { "width": 712, "height": 1138 @@ -187,7 +187,7 @@ "defaultBrowserType": "chromium" }, "Galaxy Tab S4 landscape": { - "userAgent": "Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Safari/537.36", "viewport": { "width": 1138, "height": 712 @@ -858,7 +858,7 @@ "defaultBrowserType": "webkit" }, "LG Optimus L70": { - "userAgent": "Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 384, "height": 640 @@ -869,7 +869,7 @@ "defaultBrowserType": "chromium" }, "LG Optimus L70 landscape": { - "userAgent": "Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 640, "height": 384 @@ -880,7 +880,7 @@ "defaultBrowserType": "chromium" }, "Microsoft Lumia 550": { - "userAgent": "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36 Edge/14.14263", + "userAgent": "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36 Edge/14.14263", "viewport": { "width": 640, "height": 360 @@ -891,7 +891,7 @@ "defaultBrowserType": "chromium" }, "Microsoft Lumia 550 landscape": { - "userAgent": "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36 Edge/14.14263", + "userAgent": "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36 Edge/14.14263", "viewport": { "width": 360, "height": 640 @@ -902,7 +902,7 @@ "defaultBrowserType": "chromium" }, "Microsoft Lumia 950": { - "userAgent": "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36 Edge/14.14263", + "userAgent": "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36 Edge/14.14263", "viewport": { "width": 360, "height": 640 @@ -913,7 +913,7 @@ "defaultBrowserType": "chromium" }, "Microsoft Lumia 950 landscape": { - "userAgent": "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36 Edge/14.14263", + "userAgent": "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36 Edge/14.14263", "viewport": { "width": 640, "height": 360 @@ -924,7 +924,7 @@ "defaultBrowserType": "chromium" }, "Nexus 10": { - "userAgent": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Safari/537.36", "viewport": { "width": 800, "height": 1280 @@ -935,7 +935,7 @@ "defaultBrowserType": "chromium" }, "Nexus 10 landscape": { - "userAgent": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Safari/537.36", "viewport": { "width": 1280, "height": 800 @@ -946,7 +946,7 @@ "defaultBrowserType": "chromium" }, "Nexus 4": { - "userAgent": "Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 384, "height": 640 @@ -957,7 +957,7 @@ "defaultBrowserType": "chromium" }, "Nexus 4 landscape": { - "userAgent": "Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 640, "height": 384 @@ -968,7 +968,7 @@ "defaultBrowserType": "chromium" }, "Nexus 5": { - "userAgent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 360, "height": 640 @@ -979,7 +979,7 @@ "defaultBrowserType": "chromium" }, "Nexus 5 landscape": { - "userAgent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 640, "height": 360 @@ -990,7 +990,7 @@ "defaultBrowserType": "chromium" }, "Nexus 5X": { - "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 412, "height": 732 @@ -1001,7 +1001,7 @@ "defaultBrowserType": "chromium" }, "Nexus 5X landscape": { - "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 732, "height": 412 @@ -1012,7 +1012,7 @@ "defaultBrowserType": "chromium" }, "Nexus 6": { - "userAgent": "Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 412, "height": 732 @@ -1023,7 +1023,7 @@ "defaultBrowserType": "chromium" }, "Nexus 6 landscape": { - "userAgent": "Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 732, "height": 412 @@ -1034,7 +1034,7 @@ "defaultBrowserType": "chromium" }, "Nexus 6P": { - "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 412, "height": 732 @@ -1045,7 +1045,7 @@ "defaultBrowserType": "chromium" }, "Nexus 6P landscape": { - "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 732, "height": 412 @@ -1056,7 +1056,7 @@ "defaultBrowserType": "chromium" }, "Nexus 7": { - "userAgent": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Safari/537.36", "viewport": { "width": 600, "height": 960 @@ -1067,7 +1067,7 @@ "defaultBrowserType": "chromium" }, "Nexus 7 landscape": { - "userAgent": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Safari/537.36", "viewport": { "width": 960, "height": 600 @@ -1122,7 +1122,7 @@ "defaultBrowserType": "webkit" }, "Pixel 2": { - "userAgent": "Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 411, "height": 731 @@ -1133,7 +1133,7 @@ "defaultBrowserType": "chromium" }, "Pixel 2 landscape": { - "userAgent": "Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 731, "height": 411 @@ -1144,7 +1144,7 @@ "defaultBrowserType": "chromium" }, "Pixel 2 XL": { - "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 411, "height": 823 @@ -1155,7 +1155,7 @@ "defaultBrowserType": "chromium" }, "Pixel 2 XL landscape": { - "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 823, "height": 411 @@ -1166,7 +1166,7 @@ "defaultBrowserType": "chromium" }, "Pixel 3": { - "userAgent": "Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PQ1A.181105.017.A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PQ1A.181105.017.A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 393, "height": 786 @@ -1177,7 +1177,7 @@ "defaultBrowserType": "chromium" }, "Pixel 3 landscape": { - "userAgent": "Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PQ1A.181105.017.A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PQ1A.181105.017.A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 786, "height": 393 @@ -1188,7 +1188,7 @@ "defaultBrowserType": "chromium" }, "Pixel 4": { - "userAgent": "Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 353, "height": 745 @@ -1199,7 +1199,7 @@ "defaultBrowserType": "chromium" }, "Pixel 4 landscape": { - "userAgent": "Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 745, "height": 353 @@ -1210,7 +1210,7 @@ "defaultBrowserType": "chromium" }, "Pixel 4a (5G)": { - "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "screen": { "width": 412, "height": 892 @@ -1225,7 +1225,7 @@ "defaultBrowserType": "chromium" }, "Pixel 4a (5G) landscape": { - "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "screen": { "height": 892, "width": 412 @@ -1240,7 +1240,7 @@ "defaultBrowserType": "chromium" }, "Pixel 5": { - "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "screen": { "width": 393, "height": 851 @@ -1255,7 +1255,7 @@ "defaultBrowserType": "chromium" }, "Pixel 5 landscape": { - "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "screen": { "width": 851, "height": 393 @@ -1270,7 +1270,7 @@ "defaultBrowserType": "chromium" }, "Moto G4": { - "userAgent": "Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 360, "height": 640 @@ -1281,7 +1281,7 @@ "defaultBrowserType": "chromium" }, "Moto G4 landscape": { - "userAgent": "Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Mobile Safari/537.36", + "userAgent": "Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Mobile Safari/537.36", "viewport": { "width": 640, "height": 360 @@ -1292,7 +1292,7 @@ "defaultBrowserType": "chromium" }, "Desktop Chrome HiDPI": { - "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Safari/537.36", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Safari/537.36", "screen": { "width": 1792, "height": 1120 @@ -1307,7 +1307,7 @@ "defaultBrowserType": "chromium" }, "Desktop Edge HiDPI": { - "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Safari/537.36 Edg/101.0.4901.0", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Safari/537.36 Edg/101.0.4909.0", "screen": { "width": 1792, "height": 1120 @@ -1352,7 +1352,7 @@ "defaultBrowserType": "webkit" }, "Desktop Chrome": { - "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Safari/537.36", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Safari/537.36", "screen": { "width": 1920, "height": 1080 @@ -1367,7 +1367,7 @@ "defaultBrowserType": "chromium" }, "Desktop Edge": { - "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4901.0 Safari/537.36 Edg/101.0.4901.0", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4909.0 Safari/537.36 Edg/101.0.4909.0", "screen": { "width": 1920, "height": 1080 diff --git a/packages/playwright-core/types/protocol.d.ts b/packages/playwright-core/types/protocol.d.ts index 1a86729aab..09830d9b6c 100644 --- a/packages/playwright-core/types/protocol.d.ts +++ b/packages/playwright-core/types/protocol.d.ts @@ -1715,6 +1715,11 @@ The array enumerates container queries starting with the innermost one, going ou The array enumerates @supports at-rules starting with the innermost one, going outwards. */ supports?: CSSSupports[]; + /** + * Cascade layer array. Contains the layer hierarchy that this rule belongs to starting +with the innermost layer and going outwards. + */ + layers?: CSSLayer[]; } /** * CSS coverage information. @@ -1957,6 +1962,42 @@ available). */ styleSheetId?: StyleSheetId; } + /** + * CSS Layer at-rule descriptor. + */ + export interface CSSLayer { + /** + * Layer name. + */ + text: string; + /** + * The associated rule header range in the enclosing stylesheet (if +available). + */ + range?: SourceRange; + /** + * Identifier of the stylesheet containing this object (if exists). + */ + styleSheetId?: StyleSheetId; + } + /** + * CSS Layer data. + */ + export interface CSSLayerData { + /** + * Layer name. + */ + name: string; + /** + * Direct sub-layers + */ + subLayers?: CSSLayerData[]; + /** + * Layer order. The order determines the order of the layer in the cascade order. +A higher number has higher priority in the cascade order. + */ + order: number; + } /** * Information about amount of glyphs that were rendered with given font. */ @@ -2335,6 +2376,18 @@ node. */ text: string; } + /** + * Returns all layers parsed by the rendering engine for the tree scope of a node. +Given a DOM element identified by nodeId, getLayersForNode returns the root +layer for the nearest ancestor document or shadow root. The layer root contains +the full layer tree for the tree scope and their ordering. + */ + export type getLayersForNodeParameters = { + nodeId: DOM.NodeId; + } + export type getLayersForNodeReturnValue = { + rootLayer: CSSLayerData; + } /** * Starts tracking the given computed styles for updates. The specified array of properties replaces the one previously specified. Pass empty array to disable tracking. @@ -5483,6 +5536,17 @@ on Android. } export type setUserAgentOverrideReturnValue = { } + /** + * Allows overriding the automation flag. + */ + export type setAutomationOverrideParameters = { + /** + * Whether the override should be enabled. + */ + enabled: boolean; + } + export type setAutomationOverrideReturnValue = { + } } /** @@ -17241,6 +17305,7 @@ Error was thrown. "CSS.getMediaQueries": CSS.getMediaQueriesParameters; "CSS.getPlatformFontsForNode": CSS.getPlatformFontsForNodeParameters; "CSS.getStyleSheetText": CSS.getStyleSheetTextParameters; + "CSS.getLayersForNode": CSS.getLayersForNodeParameters; "CSS.trackComputedStyleUpdates": CSS.trackComputedStyleUpdatesParameters; "CSS.takeComputedStyleUpdates": CSS.takeComputedStyleUpdatesParameters; "CSS.setEffectivePropertyValueForNode": CSS.setEffectivePropertyValueForNodeParameters; @@ -17369,6 +17434,7 @@ Error was thrown. "Emulation.setVisibleSize": Emulation.setVisibleSizeParameters; "Emulation.setDisabledImageTypes": Emulation.setDisabledImageTypesParameters; "Emulation.setUserAgentOverride": Emulation.setUserAgentOverrideParameters; + "Emulation.setAutomationOverride": Emulation.setAutomationOverrideParameters; "HeadlessExperimental.beginFrame": HeadlessExperimental.beginFrameParameters; "HeadlessExperimental.disable": HeadlessExperimental.disableParameters; "HeadlessExperimental.enable": HeadlessExperimental.enableParameters; @@ -17768,6 +17834,7 @@ Error was thrown. "CSS.getMediaQueries": CSS.getMediaQueriesReturnValue; "CSS.getPlatformFontsForNode": CSS.getPlatformFontsForNodeReturnValue; "CSS.getStyleSheetText": CSS.getStyleSheetTextReturnValue; + "CSS.getLayersForNode": CSS.getLayersForNodeReturnValue; "CSS.trackComputedStyleUpdates": CSS.trackComputedStyleUpdatesReturnValue; "CSS.takeComputedStyleUpdates": CSS.takeComputedStyleUpdatesReturnValue; "CSS.setEffectivePropertyValueForNode": CSS.setEffectivePropertyValueForNodeReturnValue; @@ -17896,6 +17963,7 @@ Error was thrown. "Emulation.setVisibleSize": Emulation.setVisibleSizeReturnValue; "Emulation.setDisabledImageTypes": Emulation.setDisabledImageTypesReturnValue; "Emulation.setUserAgentOverride": Emulation.setUserAgentOverrideReturnValue; + "Emulation.setAutomationOverride": Emulation.setAutomationOverrideReturnValue; "HeadlessExperimental.beginFrame": HeadlessExperimental.beginFrameReturnValue; "HeadlessExperimental.disable": HeadlessExperimental.disableReturnValue; "HeadlessExperimental.enable": HeadlessExperimental.enableReturnValue;