From aca9de8dcff8c6f6d3b76e3459f2e1908dd5ad47 Mon Sep 17 00:00:00 2001
From: "microsoft-playwright-automation[bot]"
<203992400+microsoft-playwright-automation[bot]@users.noreply.github.com>
Date: Fri, 31 Jul 2026 14:38:24 -0700
Subject: [PATCH 1/2] feat(chromium): roll to r1237 (#42072)
---
README.md | 4 +-
.../isomorphic/deviceDescriptorsSource.json | 196 ++++++-------
packages/playwright-core/browsers.json | 8 +-
.../src/server/chromium/protocol.d.ts | 268 +++++++-----------
packages/playwright-core/types/protocol.d.ts | 268 +++++++-----------
5 files changed, 300 insertions(+), 444 deletions(-)
diff --git a/README.md b/README.md
index e18fcdc1f3926..c7f1ae911a390 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# 🎠Playwright
-[](https://www.npmjs.com/package/playwright) [](https://www.chromium.org/Home) [](https://www.mozilla.org/en-US/firefox/new/) [](https://webkit.org/) [](https://aka.ms/playwright/discord)
+[](https://www.npmjs.com/package/playwright) [](https://www.chromium.org/Home) [](https://www.mozilla.org/en-US/firefox/new/) [](https://webkit.org/) [](https://aka.ms/playwright/discord)
## [Documentation](https://playwright.dev) | [API reference](https://playwright.dev/docs/api/class-playwright)
@@ -296,7 +296,7 @@ The [Playwright VS Code extension](https://marketplace.visualstudio.com/items?it
| | Linux | macOS | Windows |
| :--- | :---: | :---: | :---: |
-| Chromium1 151.0.7922.47 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
+| Chromium1 152.0.7977.8 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| WebKit 26.5 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Firefox 153.0 | :white_check_mark: | :white_check_mark: | :white_check_mark: |
diff --git a/packages/isomorphic/deviceDescriptorsSource.json b/packages/isomorphic/deviceDescriptorsSource.json
index 75f7941a66941..48bc74ea4796e 100644
--- a/packages/isomorphic/deviceDescriptorsSource.json
+++ b/packages/isomorphic/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/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 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/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 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/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 7.0; SM-G950U Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 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/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 7.0; SM-G950U Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 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/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; SM-G965U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 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/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 8.0.0; SM-G965U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 658,
"height": 320
@@ -176,7 +176,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy S24": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; SM-S921U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; SM-S921U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 360,
"height": 780
@@ -187,7 +187,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy S24 landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; SM-S921U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; SM-S921U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 780,
"height": 360
@@ -198,7 +198,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy A55": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; SM-A556B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; SM-A556B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 480,
"height": 1040
@@ -209,7 +209,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy A55 landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; SM-A556B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; SM-A556B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 1040,
"height": 480
@@ -220,7 +220,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy Tab S4": {
- "userAgent": "Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Safari/537.36",
"viewport": {
"width": 712,
"height": 1138
@@ -231,7 +231,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/151.0.7922.47 Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Safari/537.36",
"viewport": {
"width": 1138,
"height": 712
@@ -242,7 +242,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy Tab S9": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; SM-X710) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; SM-X710) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Safari/537.36",
"viewport": {
"width": 640,
"height": 1024
@@ -253,7 +253,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy Tab S9 landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; SM-X710) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; SM-X710) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Safari/537.36",
"viewport": {
"width": 1024,
"height": 640
@@ -264,7 +264,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy Z Fold 6": {
- "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F956U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F956U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 928,
"height": 1080
@@ -279,7 +279,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy Z Fold 6 landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F956U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F956U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 1080,
"height": 928
@@ -294,7 +294,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy Z Fold 6 Cover": {
- "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F956U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F956U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 484,
"height": 1188
@@ -309,7 +309,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy Z Fold 6 Cover landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F956U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F956U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 1188,
"height": 484
@@ -324,7 +324,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy Z Fold 7": {
- "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F966U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F966U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 984,
"height": 1092
@@ -339,7 +339,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy Z Fold 7 landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F966U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F966U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 1092,
"height": 984
@@ -354,7 +354,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy Z Fold 7 Cover": {
- "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F966U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F966U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 360,
"height": 840
@@ -369,7 +369,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy Z Fold 7 Cover landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F966U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F966U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 840,
"height": 360
@@ -384,7 +384,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy Z Flip 6": {
- "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F741U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F741U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 360,
"height": 880
@@ -399,7 +399,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy Z Flip 6 landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F741U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F741U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 880,
"height": 360
@@ -414,7 +414,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy Z Flip 6 Cover": {
- "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F741U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F741U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 360,
"height": 374
@@ -429,7 +429,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy Z Flip 6 Cover landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F741U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F741U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 374,
"height": 360
@@ -444,7 +444,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy Z Flip 7": {
- "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F761U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F761U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 360,
"height": 840
@@ -459,7 +459,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy Z Flip 7 landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F761U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F761U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 840,
"height": 360
@@ -474,7 +474,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy Z Flip 7 Cover": {
- "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F761U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F761U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 474,
"height": 524
@@ -489,7 +489,7 @@
"defaultBrowserType": "chromium"
},
"Galaxy Z Flip 7 Cover landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F761U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 10; SM-F761U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 524,
"height": 474
@@ -1748,7 +1748,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/151.0.7922.47 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/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 384,
"height": 640
@@ -1759,7 +1759,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/151.0.7922.47 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/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 640,
"height": 384
@@ -1770,7 +1770,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/151.0.7922.47 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/152.0.7977.8 Mobile Safari/537.36 Edge/14.14263",
"viewport": {
"width": 360,
"height": 640
@@ -1781,7 +1781,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/151.0.7922.47 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/152.0.7977.8 Mobile Safari/537.36 Edge/14.14263",
"viewport": {
"width": 640,
"height": 360
@@ -1792,7 +1792,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/151.0.7922.47 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/152.0.7977.8 Mobile Safari/537.36 Edge/14.14263",
"viewport": {
"width": 360,
"height": 640
@@ -1803,7 +1803,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/151.0.7922.47 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/152.0.7977.8 Mobile Safari/537.36 Edge/14.14263",
"viewport": {
"width": 640,
"height": 360
@@ -1814,7 +1814,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/151.0.7922.47 Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Safari/537.36",
"viewport": {
"width": 800,
"height": 1280
@@ -1825,7 +1825,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/151.0.7922.47 Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Safari/537.36",
"viewport": {
"width": 1280,
"height": 800
@@ -1836,7 +1836,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/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 384,
"height": 640
@@ -1847,7 +1847,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/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 640,
"height": 384
@@ -1858,7 +1858,7 @@
"defaultBrowserType": "chromium"
},
"Nexus 5": {
- "userAgent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 360,
"height": 640
@@ -1869,7 +1869,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/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 640,
"height": 360
@@ -1880,7 +1880,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/151.0.7922.47 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/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 412,
"height": 732
@@ -1891,7 +1891,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/151.0.7922.47 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/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 732,
"height": 412
@@ -1902,7 +1902,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/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 412,
"height": 732
@@ -1913,7 +1913,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/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 732,
"height": 412
@@ -1924,7 +1924,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/151.0.7922.47 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/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 412,
"height": 732
@@ -1935,7 +1935,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/151.0.7922.47 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/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 732,
"height": 412
@@ -1946,7 +1946,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/151.0.7922.47 Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Safari/537.36",
"viewport": {
"width": 600,
"height": 960
@@ -1957,7 +1957,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/151.0.7922.47 Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Safari/537.36",
"viewport": {
"width": 960,
"height": 600
@@ -2012,7 +2012,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/151.0.7922.47 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/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 411,
"height": 731
@@ -2023,7 +2023,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/151.0.7922.47 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/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 731,
"height": 411
@@ -2034,7 +2034,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/151.0.7922.47 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/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 411,
"height": 823
@@ -2045,7 +2045,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/151.0.7922.47 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/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 823,
"height": 411
@@ -2056,7 +2056,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/151.0.7922.47 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/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 393,
"height": 786
@@ -2067,7 +2067,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/151.0.7922.47 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/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 786,
"height": 393
@@ -2078,7 +2078,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 4": {
- "userAgent": "Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 353,
"height": 745
@@ -2089,7 +2089,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 4 landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 745,
"height": 353
@@ -2100,7 +2100,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 4a (5G)": {
- "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 412,
"height": 892
@@ -2115,7 +2115,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 4a (5G) landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"height": 892,
"width": 412
@@ -2130,7 +2130,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 5": {
- "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 393,
"height": 851
@@ -2145,7 +2145,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 5 landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 851,
"height": 393
@@ -2160,7 +2160,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 6": {
- "userAgent": "Mozilla/5.0 (Linux; Android 12; Pixel 6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 12; Pixel 6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 412,
"height": 915
@@ -2175,7 +2175,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 6 landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 12; Pixel 6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 12; Pixel 6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 915,
"height": 412
@@ -2190,7 +2190,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 6 Pro": {
- "userAgent": "Mozilla/5.0 (Linux; Android 12; Pixel 6 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 12; Pixel 6 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 412,
"height": 892
@@ -2205,7 +2205,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 6 Pro landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 12; Pixel 6 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 12; Pixel 6 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 892,
"height": 412
@@ -2220,7 +2220,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 6a": {
- "userAgent": "Mozilla/5.0 (Linux; Android 12; Pixel 6a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 12; Pixel 6a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 412,
"height": 915
@@ -2235,7 +2235,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 6a landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 12; Pixel 6a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 12; Pixel 6a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 915,
"height": 412
@@ -2250,7 +2250,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 7": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 412,
"height": 915
@@ -2265,7 +2265,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 7 landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 915,
"height": 412
@@ -2280,7 +2280,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 7 Pro": {
- "userAgent": "Mozilla/5.0 (Linux; Android 13; Pixel 7 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 13; Pixel 7 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 412,
"height": 892
@@ -2295,7 +2295,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 7 Pro landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 13; Pixel 7 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 13; Pixel 7 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 892,
"height": 412
@@ -2310,7 +2310,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 7a": {
- "userAgent": "Mozilla/5.0 (Linux; Android 13; Pixel 7a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 13; Pixel 7a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 412,
"height": 915
@@ -2325,7 +2325,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 7a landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 13; Pixel 7a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 13; Pixel 7a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 915,
"height": 412
@@ -2340,7 +2340,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 8": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 412,
"height": 915
@@ -2355,7 +2355,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 8 landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 915,
"height": 412
@@ -2370,7 +2370,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 8 Pro": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 8 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 8 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 448,
"height": 997
@@ -2385,7 +2385,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 8 Pro landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 8 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 8 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 997,
"height": 448
@@ -2400,7 +2400,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 8a": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 8a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 8a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 412,
"height": 915
@@ -2415,7 +2415,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 8a landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 8a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 8a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 915,
"height": 412
@@ -2430,7 +2430,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 9": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 9) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 9) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 360,
"height": 808
@@ -2445,7 +2445,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 9 landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 9) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 9) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 808,
"height": 360
@@ -2460,7 +2460,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 9 Pro": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 9 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 9 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 427,
"height": 952
@@ -2475,7 +2475,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 9 Pro landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 9 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 9 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 952,
"height": 427
@@ -2490,7 +2490,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 9 Pro XL": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 9 Pro XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 9 Pro XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 448,
"height": 997
@@ -2505,7 +2505,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 9 Pro XL landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 9 Pro XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 9 Pro XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 997,
"height": 448
@@ -2520,7 +2520,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 10": {
- "userAgent": "Mozilla/5.0 (Linux; Android 16; Pixel 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 16; Pixel 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 360,
"height": 808
@@ -2535,7 +2535,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 10 landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 16; Pixel 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 16; Pixel 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 808,
"height": 360
@@ -2550,7 +2550,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 10 Pro": {
- "userAgent": "Mozilla/5.0 (Linux; Android 16; Pixel 10 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 16; Pixel 10 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 427,
"height": 952
@@ -2565,7 +2565,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 10 Pro landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 16; Pixel 10 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 16; Pixel 10 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 952,
"height": 427
@@ -2580,7 +2580,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 10 Pro XL": {
- "userAgent": "Mozilla/5.0 (Linux; Android 16; Pixel 10 Pro XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 16; Pixel 10 Pro XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 448,
"height": 997
@@ -2595,7 +2595,7 @@
"defaultBrowserType": "chromium"
},
"Pixel 10 Pro XL landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 16; Pixel 10 Pro XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 16; Pixel 10 Pro XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"screen": {
"width": 997,
"height": 448
@@ -2610,7 +2610,7 @@
"defaultBrowserType": "chromium"
},
"Moto G4": {
- "userAgent": "Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 360,
"height": 640
@@ -2621,7 +2621,7 @@
"defaultBrowserType": "chromium"
},
"Moto G4 landscape": {
- "userAgent": "Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Mobile Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Mobile Safari/537.36",
"viewport": {
"width": 640,
"height": 360
@@ -2632,7 +2632,7 @@
"defaultBrowserType": "chromium"
},
"Desktop Chrome HiDPI": {
- "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Safari/537.36",
"screen": {
"width": 1792,
"height": 1120
@@ -2647,7 +2647,7 @@
"defaultBrowserType": "chromium"
},
"Desktop Edge HiDPI": {
- "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Safari/537.36 Edg/151.0.7922.47",
+ "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Safari/537.36 Edg/152.0.7977.8",
"screen": {
"width": 1792,
"height": 1120
@@ -2692,7 +2692,7 @@
"defaultBrowserType": "webkit"
},
"Desktop Chrome": {
- "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Safari/537.36",
+ "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Safari/537.36",
"screen": {
"width": 1920,
"height": 1080
@@ -2707,7 +2707,7 @@
"defaultBrowserType": "chromium"
},
"Desktop Edge": {
- "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.47 Safari/537.36 Edg/151.0.7922.47",
+ "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.7977.8 Safari/537.36 Edg/152.0.7977.8",
"screen": {
"width": 1920,
"height": 1080
diff --git a/packages/playwright-core/browsers.json b/packages/playwright-core/browsers.json
index 9e0d42534398f..e208d464d04c0 100644
--- a/packages/playwright-core/browsers.json
+++ b/packages/playwright-core/browsers.json
@@ -3,16 +3,16 @@
"browsers": [
{
"name": "chromium",
- "revision": "1236",
+ "revision": "1237",
"installByDefault": true,
- "browserVersion": "151.0.7922.47",
+ "browserVersion": "152.0.7977.8",
"title": "Chrome for Testing"
},
{
"name": "chromium-headless-shell",
- "revision": "1236",
+ "revision": "1237",
"installByDefault": true,
- "browserVersion": "151.0.7922.47",
+ "browserVersion": "152.0.7977.8",
"title": "Chrome Headless Shell"
},
{
diff --git a/packages/playwright-core/src/server/chromium/protocol.d.ts b/packages/playwright-core/src/server/chromium/protocol.d.ts
index 858642160b282..680add356a93a 100644
--- a/packages/playwright-core/src/server/chromium/protocol.d.ts
+++ b/packages/playwright-core/src/server/chromium/protocol.d.ts
@@ -828,7 +828,7 @@ may be used by the front-end as additional context.
sourceCodeLocation?: SourceCodeLocation;
}
export type MixedContentResolutionStatus = "MixedContentBlocked"|"MixedContentAutomaticallyUpgraded"|"MixedContentWarning";
- export type MixedContentResourceType = "AttributionSrc"|"Audio"|"Beacon"|"CSPReport"|"Download"|"EventSource"|"Favicon"|"Font"|"Form"|"Frame"|"Image"|"Import"|"JSON"|"Manifest"|"Ping"|"PluginData"|"PluginResource"|"Prefetch"|"Resource"|"Script"|"ServiceWorker"|"SharedWorker"|"SpeculationRules"|"Stylesheet"|"Track"|"Video"|"Worker"|"XMLHttpRequest"|"XSLT";
+ export type MixedContentResourceType = "Audio"|"Beacon"|"CSPReport"|"Download"|"EventSource"|"Favicon"|"Font"|"Form"|"Frame"|"Image"|"Import"|"JSON"|"Manifest"|"Ping"|"PluginData"|"PluginResource"|"Prefetch"|"Resource"|"Script"|"ServiceWorker"|"SharedWorker"|"SpeculationRules"|"Stylesheet"|"Track"|"Video"|"Worker"|"XMLHttpRequest"|"XSLT";
export interface MixedContentIssueDetails {
/**
* The type of resource causing the mixed content issue (css, js, iframe,
@@ -936,21 +936,10 @@ CORS RFC1918 enforcement.
resourceIPAddressSpace?: Network.IPAddressSpace;
clientSecurityState?: Network.ClientSecurityState;
}
- export type AttributionReportingIssueType = "PermissionPolicyDisabled"|"UntrustworthyReportingOrigin"|"InsecureContext"|"InvalidHeader"|"InvalidRegisterTriggerHeader"|"SourceAndTriggerHeaders"|"SourceIgnored"|"TriggerIgnored"|"OsSourceIgnored"|"OsTriggerIgnored"|"InvalidRegisterOsSourceHeader"|"InvalidRegisterOsTriggerHeader"|"WebAndOsHeaders"|"NoWebOrOsSupport"|"NavigationRegistrationWithoutTransientUserActivation"|"InvalidInfoHeader"|"NoRegisterSourceHeader"|"NoRegisterTriggerHeader"|"NoRegisterOsSourceHeader"|"NoRegisterOsTriggerHeader"|"NavigationRegistrationUniqueScopeAlreadySet";
export type SharedDictionaryError = "UseErrorCrossOriginNoCorsRequest"|"UseErrorDictionaryLoadFailure"|"UseErrorMatchingDictionaryNotUsed"|"UseErrorUnexpectedContentDictionaryHeader"|"WriteErrorCossOriginNoCorsRequest"|"WriteErrorDisallowedBySettings"|"WriteErrorExpiredResponse"|"WriteErrorFeatureDisabled"|"WriteErrorInsufficientResources"|"WriteErrorInvalidMatchField"|"WriteErrorInvalidStructuredHeader"|"WriteErrorInvalidTTLField"|"WriteErrorNavigationRequest"|"WriteErrorNoMatchField"|"WriteErrorNonIntegerTTLField"|"WriteErrorNonListMatchDestField"|"WriteErrorNonSecureContext"|"WriteErrorNonStringIdField"|"WriteErrorNonStringInMatchDestList"|"WriteErrorInvalidMatchDestList"|"WriteErrorNonStringMatchField"|"WriteErrorNonTokenTypeField"|"WriteErrorRequestAborted"|"WriteErrorShuttingDown"|"WriteErrorTooLongIdField"|"WriteErrorUnsupportedType";
export type SRIMessageSignatureError = "MissingSignatureHeader"|"MissingSignatureInputHeader"|"InvalidSignatureHeader"|"InvalidSignatureInputHeader"|"SignatureHeaderValueIsNotByteSequence"|"SignatureHeaderValueIsParameterized"|"SignatureHeaderValueIsIncorrectLength"|"SignatureInputHeaderMissingLabel"|"SignatureInputHeaderValueNotInnerList"|"SignatureInputHeaderValueMissingComponents"|"SignatureInputHeaderInvalidComponentType"|"SignatureInputHeaderInvalidComponentName"|"SignatureInputHeaderInvalidHeaderComponentParameter"|"SignatureInputHeaderInvalidDerivedComponentParameter"|"SignatureInputHeaderKeyIdLength"|"SignatureInputHeaderInvalidParameter"|"SignatureInputHeaderMissingRequiredParameters"|"ValidationFailedSignatureExpired"|"ValidationFailedInvalidLength"|"ValidationFailedSignatureMismatch"|"ValidationFailedIntegrityMismatch"|"SignatureBaseUnknownDerivedComponent"|"SignatureBaseMissingHeader"|"SignatureBaseInvalidUnencodedDigest"|"SignatureBaseUnsupportedComponent";
export type UnencodedDigestError = "MalformedDictionary"|"UnknownAlgorithm"|"IncorrectDigestType"|"IncorrectDigestLength";
export type ConnectionAllowlistError = "InvalidHeader"|"MoreThanOneList"|"ItemNotInnerList"|"InvalidAllowlistItemType"|"ReportingEndpointNotToken"|"InvalidUrlPattern";
- /**
- * Details for issues around "Attribution Reporting API" usage.
-Explainer: https://github.com/WICG/attribution-reporting-api
- */
- export interface AttributionReportingIssueDetails {
- violationType: AttributionReportingIssueType;
- request?: AffectedRequest;
- violatingNodeId?: DOM.BackendNodeId;
- invalidParameter?: string;
- }
/**
* Details for issues about documents in Quirks Mode
or Limited Quirks Mode that affects page layouting.
@@ -1212,12 +1201,29 @@ Selective Permissions Intervention.
*/
stackTrace?: Runtime.StackTrace;
}
+ /**
+ * Details for issues about lazy-loaded images without explicit dimensions.
+ */
+ export interface LazyLoadImageIssueDetails {
+ /**
+ * DOM node of the problematic HTMLImageElement.
+ */
+ nodeId: DOM.BackendNodeId;
+ /**
+ * URL or src attribute of the image.
+ */
+ url: string;
+ /**
+ * Frame containing the image.
+ */
+ frameId: Page.FrameId;
+ }
/**
* 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 = "CookieIssue"|"MixedContentIssue"|"BlockedByResponseIssue"|"HeavyAdIssue"|"ContentSecurityPolicyIssue"|"SharedArrayBufferIssue"|"CorsIssue"|"AttributionReportingIssue"|"QuirksModeIssue"|"PartitioningBlobURLIssue"|"NavigatorUserAgentIssue"|"GenericIssue"|"DeprecationIssue"|"ClientHintIssue"|"FederatedAuthRequestIssue"|"BounceTrackingIssue"|"CookieDeprecationMetadataIssue"|"StylesheetLoadingIssue"|"FederatedAuthUserInfoRequestIssue"|"PropertyRuleIssue"|"SharedDictionaryIssue"|"ElementAccessibilityIssue"|"SRIMessageSignatureIssue"|"UnencodedDigestIssue"|"ConnectionAllowlistIssue"|"UserReidentificationIssue"|"PermissionElementIssue"|"PerformanceIssue"|"SelectivePermissionsInterventionIssue"|"EmailVerificationRequestIssue";
+ export type InspectorIssueCode = "CookieIssue"|"MixedContentIssue"|"BlockedByResponseIssue"|"HeavyAdIssue"|"ContentSecurityPolicyIssue"|"SharedArrayBufferIssue"|"CorsIssue"|"QuirksModeIssue"|"PartitioningBlobURLIssue"|"NavigatorUserAgentIssue"|"GenericIssue"|"DeprecationIssue"|"ClientHintIssue"|"FederatedAuthRequestIssue"|"BounceTrackingIssue"|"CookieDeprecationMetadataIssue"|"StylesheetLoadingIssue"|"FederatedAuthUserInfoRequestIssue"|"PropertyRuleIssue"|"SharedDictionaryIssue"|"ElementAccessibilityIssue"|"SRIMessageSignatureIssue"|"UnencodedDigestIssue"|"ConnectionAllowlistIssue"|"UserReidentificationIssue"|"PermissionElementIssue"|"PerformanceIssue"|"SelectivePermissionsInterventionIssue"|"EmailVerificationRequestIssue"|"LazyLoadImageIssue";
/**
* 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
@@ -1231,7 +1237,6 @@ add a new optional field to this type.
contentSecurityPolicyIssueDetails?: ContentSecurityPolicyIssueDetails;
sharedArrayBufferIssueDetails?: SharedArrayBufferIssueDetails;
corsIssueDetails?: CorsIssueDetails;
- attributionReportingIssueDetails?: AttributionReportingIssueDetails;
quirksModeIssueDetails?: QuirksModeIssueDetails;
partitioningBlobURLIssueDetails?: PartitioningBlobURLIssueDetails;
navigatorUserAgentIssueDetails?: NavigatorUserAgentIssueDetails;
@@ -1254,6 +1259,7 @@ add a new optional field to this type.
performanceIssueDetails?: PerformanceIssueDetails;
selectivePermissionsInterventionIssueDetails?: SelectivePermissionsInterventionIssueDetails;
emailVerificationRequestIssueDetails?: EmailVerificationRequestIssueDetails;
+ lazyLoadImageIssueDetails?: LazyLoadImageIssueDetails;
}
/**
* A unique id for a DevTools inspector issue. Allows other entities (e.g.
@@ -2005,7 +2011,6 @@ Note that userVisibleOnly = true is the only currently supported type.
*/
buckets: Bucket[];
}
- export type PrivacySandboxAPI = "BiddingAndAuctionServices"|"TrustedKeyValue";
/**
* Fired when page is about to start a download.
@@ -2356,24 +2361,6 @@ without the site actually being enrolled. Only supported on page targets.
}
export type addPrivacySandboxEnrollmentOverrideReturnValue = {
}
- /**
- * Configures encryption keys used with a given privacy sandbox API to talk
-to a trusted coordinator. Since this is intended for test automation only,
-coordinatorOrigin must be a .test domain. No existing coordinator
-configuration for the origin may exist.
- */
- export type addPrivacySandboxCoordinatorKeyConfigParameters = {
- api: PrivacySandboxAPI;
- coordinatorOrigin: string;
- keyConfig: string;
- /**
- * BrowserContext to perform the action in. When omitted, default browser
-context is used.
- */
- browserContextId?: BrowserContextID;
- }
- export type addPrivacySandboxCoordinatorKeyConfigReturnValue = {
- }
}
/**
@@ -6778,6 +6765,44 @@ selectPrompt or cancelPrompt command.
}
}
+ /**
+ * This domain allows interacting with the Digital Credentials API for automation.
+ */
+ export namespace DigitalCredentials {
+ /**
+ * The type of virtual wallet action.
+ */
+ export type VirtualWalletAction = "respond"|"decline"|"wait"|"clear";
+
+
+ /**
+ * Sets the behavior of the virtual wallet for digital credential requests
+issued from this frame.
+ */
+ export type setVirtualWalletBehaviorParameters = {
+ /**
+ * The action of the virtual wallet.
+ */
+ action: VirtualWalletAction;
+ /**
+ * The protocol identifier (e.g. "openid4vp"). Required when |action| is
+"respond", forbidden otherwise.
+ */
+ protocol?: string;
+ /**
+ * The response data object returned by the wallet.
+Required when |action| is "respond", forbidden otherwise.
+ */
+ response?: { [key: string]: string };
+ /**
+ * The frame to scope the virtual wallet behavior to.
+ */
+ frameId?: Page.FrameId;
+ }
+ export type setVirtualWalletBehaviorReturnValue = {
+ }
+ }
+
/**
* This domain emulates different environments for the page.
*/
@@ -11703,8 +11728,9 @@ details; this boolean is true if that value is populated.
export type DeviceBoundSessionEventId = string;
/**
* A fetch result for a device bound session creation or refresh.
+LINT.IfChange(DeviceBoundSessionFetchResult)
*/
- export type DeviceBoundSessionFetchResult = "Success"|"KeyError"|"SigningError"|"TransientSigningError"|"ServerRequestedTermination"|"InvalidSessionId"|"InvalidChallenge"|"TooManyChallenges"|"InvalidFetcherUrl"|"InvalidRefreshUrl"|"TransientHttpError"|"ScopeOriginSameSiteMismatch"|"RefreshUrlSameSiteMismatch"|"MismatchedSessionId"|"MissingScope"|"NoCredentials"|"SubdomainRegistrationWellKnownUnavailable"|"SubdomainRegistrationUnauthorized"|"SubdomainRegistrationWellKnownMalformed"|"SessionProviderWellKnownUnavailable"|"RelyingPartyWellKnownUnavailable"|"FederatedKeyThumbprintMismatch"|"InvalidFederatedSessionUrl"|"InvalidFederatedKey"|"TooManyRelyingOriginLabels"|"BoundCookieSetForbidden"|"NetError"|"ProxyError"|"EmptySessionConfig"|"InvalidCredentialsConfig"|"InvalidCredentialsType"|"InvalidCredentialsEmptyName"|"InvalidCredentialsCookie"|"PersistentHttpError"|"RegistrationAttemptedChallenge"|"InvalidScopeOrigin"|"ScopeOriginContainsPath"|"RefreshInitiatorNotString"|"RefreshInitiatorInvalidHostPattern"|"InvalidScopeSpecification"|"MissingScopeSpecificationType"|"EmptyScopeSpecificationDomain"|"EmptyScopeSpecificationPath"|"InvalidScopeSpecificationType"|"InvalidScopeIncludeSite"|"MissingScopeIncludeSite"|"FederatedNotAuthorizedByProvider"|"FederatedNotAuthorizedByRelyingParty"|"SessionProviderWellKnownMalformed"|"SessionProviderWellKnownHasProviderOrigin"|"RelyingPartyWellKnownMalformed"|"RelyingPartyWellKnownHasRelyingOrigins"|"InvalidFederatedSessionProviderSessionMissing"|"InvalidFederatedSessionWrongProviderOrigin"|"InvalidCredentialsCookieCreationTime"|"InvalidCredentialsCookieName"|"InvalidCredentialsCookieParsing"|"InvalidCredentialsCookieUnpermittedAttribute"|"InvalidCredentialsCookieInvalidDomain"|"InvalidCredentialsCookiePrefix"|"InvalidScopeRulePath"|"InvalidScopeRuleHostPattern"|"ScopeRuleOriginScopedHostPatternMismatch"|"ScopeRuleSiteScopedHostPatternMismatch"|"SigningQuotaExceeded"|"InvalidConfigJson"|"InvalidFederatedSessionProviderFailedToRestoreKey"|"FailedToUnwrapKey"|"SessionDeletedDuringRefresh"|"CrossOriginRegistrationSiteNotIncluded";
+ export type DeviceBoundSessionFetchResult = "Success"|"SigningKeyGenerationError"|"AttestationKeyGenerationError"|"SigningError"|"TransientSigningError"|"ServerRequestedTermination"|"InvalidSessionId"|"InvalidChallenge"|"TooManyChallenges"|"InvalidFetcherUrl"|"InvalidRefreshUrl"|"TransientHttpError"|"ScopeOriginSameSiteMismatch"|"RefreshUrlSameSiteMismatch"|"MismatchedSessionId"|"MissingScope"|"NoCredentials"|"SubdomainRegistrationWellKnownUnavailable"|"SubdomainRegistrationUnauthorized"|"SubdomainRegistrationWellKnownMalformed"|"SessionProviderWellKnownUnavailable"|"RelyingPartyWellKnownUnavailable"|"FederatedKeyThumbprintMismatch"|"InvalidFederatedSessionUrl"|"InvalidFederatedKey"|"TooManyRelyingOriginLabels"|"BoundCookieSetForbidden"|"NetError"|"ProxyError"|"EmptySessionConfig"|"InvalidCredentialsConfig"|"InvalidCredentialsType"|"InvalidCredentialsEmptyName"|"InvalidCredentialsCookie"|"PersistentHttpError"|"RegistrationAttemptedChallenge"|"InvalidScopeOrigin"|"ScopeOriginContainsPath"|"RefreshInitiatorNotString"|"RefreshInitiatorInvalidHostPattern"|"InvalidScopeSpecification"|"MissingScopeSpecificationType"|"EmptyScopeSpecificationDomain"|"EmptyScopeSpecificationPath"|"InvalidScopeSpecificationType"|"InvalidScopeIncludeSite"|"MissingScopeIncludeSite"|"FederatedNotAuthorizedByProvider"|"FederatedNotAuthorizedByRelyingParty"|"SessionProviderWellKnownMalformed"|"SessionProviderWellKnownHasProviderOrigin"|"RelyingPartyWellKnownMalformed"|"RelyingPartyWellKnownHasRelyingOrigins"|"InvalidFederatedSessionProviderSessionMissing"|"InvalidFederatedSessionWrongProviderOrigin"|"InvalidCredentialsCookieCreationTime"|"InvalidCredentialsCookieName"|"InvalidCredentialsCookieParsing"|"InvalidCredentialsCookieUnpermittedAttribute"|"InvalidCredentialsCookieInvalidDomain"|"InvalidCredentialsCookiePrefix"|"InvalidScopeRulePath"|"InvalidScopeRuleHostPattern"|"ScopeRuleOriginScopedHostPatternMismatch"|"ScopeRuleSiteScopedHostPatternMismatch"|"SigningQuotaExceeded"|"InvalidConfigJson"|"InvalidFederatedSessionProviderFailedToRestoreKey"|"FailedToUnwrapKey"|"SessionDeletedDuringRefresh"|"CrossOriginRegistrationSiteNotIncluded"|"InvalidPreProvisionedKeyInitiatorMissing"|"PreProvisionedKeyAccessNotGranted"|"PreProvisionedKeyNotFound";
/**
* Details about a failed device bound session network request.
*/
@@ -11754,7 +11780,7 @@ one.
/**
* The result of a refresh.
*/
- refreshResult: "Refreshed"|"InitializedService"|"Unreachable"|"ServerError"|"RefreshQuotaExceeded"|"FatalError"|"SigningQuotaExceeded"|"RefreshedAsWaiter"|"TransientSigningError";
+ refreshResult: "Refreshed"|"InitializedService"|"Unreachable"|"ServerError"|"FatalError"|"SigningQuotaExceeded"|"RefreshedAsWaiter"|"TransientSigningError";
/**
* If there was a fetch attempt, the result of that.
*/
@@ -14463,7 +14489,7 @@ supported yet.
in services/network/public/cpp/permissions_policy/permissions_policy_features.json5.
LINT.IfChange(PermissionsPolicyFeature)
*/
- export type PermissionsPolicyFeature = "accelerometer"|"all-screens-capture"|"ambient-light-sensor"|"aria-notify"|"attribution-reporting"|"autofill"|"autoplay"|"bluetooth"|"browsing-topics"|"camera"|"captured-surface-control"|"ch-dpr"|"ch-device-memory"|"ch-downlink"|"ch-ect"|"ch-prefers-color-scheme"|"ch-prefers-reduced-motion"|"ch-prefers-reduced-transparency"|"ch-rtt"|"ch-save-data"|"ch-ua"|"ch-ua-arch"|"ch-ua-bitness"|"ch-ua-high-entropy-values"|"ch-ua-platform"|"ch-ua-model"|"ch-ua-mobile"|"ch-ua-form-factors"|"ch-ua-full-version"|"ch-ua-full-version-list"|"ch-ua-platform-version"|"ch-ua-wow64"|"ch-viewport-height"|"ch-viewport-width"|"ch-width"|"clipboard-read"|"clipboard-write"|"compute-pressure"|"controlled-frame"|"cross-origin-isolated"|"deferred-fetch"|"deferred-fetch-minimal"|"device-attributes"|"digital-credentials-create"|"digital-credentials-get"|"direct-sockets"|"direct-sockets-multicast"|"display-capture"|"document-domain"|"encrypted-media"|"execution-while-out-of-viewport"|"execution-while-not-rendered"|"focus-without-user-activation"|"fullscreen"|"frobulate"|"gamepad"|"geolocation"|"gyroscope"|"hid"|"identity-credentials-get"|"idle-detection"|"interest-cohort"|"join-ad-interest-group"|"keyboard-map"|"language-detector"|"language-model"|"local-fonts"|"local-network"|"local-network-access"|"loopback-network"|"magnetometer"|"manual-text"|"media-playback-while-not-visible"|"microphone"|"midi"|"on-device-speech-recognition"|"otp-credentials"|"payment"|"picture-in-picture"|"private-aggregation"|"private-state-token-issuance"|"private-state-token-redemption"|"publickey-credentials-create"|"publickey-credentials-get"|"record-ad-auction-events"|"rewriter"|"run-ad-auction"|"screen-wake-lock"|"serial"|"shared-storage"|"shared-storage-select-url"|"smart-card"|"speaker-selection"|"storage-access"|"sub-apps"|"summarizer"|"sync-xhr"|"tools"|"translator"|"unload"|"usb"|"usb-unrestricted"|"vertical-scroll"|"web-app-installation"|"webnn"|"web-printing"|"web-share"|"window-management"|"writer"|"xr-spatial-tracking";
+ export type PermissionsPolicyFeature = "accelerometer"|"all-screens-capture"|"ambient-light-sensor"|"aria-notify"|"autofill"|"autoplay"|"bluetooth"|"browsing-topics"|"camera"|"captured-surface-control"|"ch-dpr"|"ch-device-memory"|"ch-downlink"|"ch-ect"|"ch-prefers-color-scheme"|"ch-prefers-reduced-motion"|"ch-prefers-reduced-transparency"|"ch-rtt"|"ch-save-data"|"ch-ua"|"ch-ua-arch"|"ch-ua-bitness"|"ch-ua-high-entropy-values"|"ch-ua-platform"|"ch-ua-model"|"ch-ua-mobile"|"ch-ua-form-factors"|"ch-ua-full-version"|"ch-ua-full-version-list"|"ch-ua-platform-version"|"ch-ua-wow64"|"ch-viewport-height"|"ch-viewport-width"|"ch-width"|"clipboard-read"|"clipboard-write"|"compute-pressure"|"controlled-frame"|"cross-origin-isolated"|"deferred-fetch"|"deferred-fetch-minimal"|"device-attributes"|"digital-credentials-create"|"digital-credentials-get"|"direct-sockets"|"direct-sockets-multicast"|"display-capture"|"document-domain"|"encrypted-media"|"execution-while-out-of-viewport"|"execution-while-not-rendered"|"focus-without-user-activation"|"fullscreen"|"frobulate"|"gamepad"|"geolocation"|"gyroscope"|"hid"|"identity-credentials-get"|"idle-detection"|"interest-cohort"|"join-ad-interest-group"|"keyboard-map"|"language-detector"|"language-model"|"local-fonts"|"local-network"|"local-network-access"|"loopback-network"|"magnetometer"|"manual-text"|"media-playback-while-not-visible"|"microphone"|"midi"|"on-device-speech-recognition"|"otp-credentials"|"payment"|"picture-in-picture"|"private-aggregation"|"private-state-token-issuance"|"private-state-token-redemption"|"publickey-credentials-create"|"publickey-credentials-get"|"record-ad-auction-events"|"rewriter"|"run-ad-auction"|"screen-wake-lock"|"serial"|"shared-storage"|"shared-storage-select-url"|"smart-card"|"speaker-selection"|"storage-access"|"sub-apps"|"summarizer"|"sync-xhr"|"tools"|"translator"|"unload"|"usb"|"usb-unrestricted"|"vertical-scroll"|"web-app-installation"|"webnn"|"web-printing"|"web-share"|"window-management"|"writer"|"xr-spatial-tracking";
/**
* Reason for a permissions policy feature to be disabled.
*/
@@ -17718,7 +17744,7 @@ Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winsc
/**
* Enum of possible storage types.
*/
- export type StorageType = "cookies"|"file_systems"|"indexeddb"|"local_storage"|"shader_cache"|"websql"|"service_workers"|"cache_storage"|"interest_groups"|"shared_storage"|"storage_buckets"|"all"|"other";
+ export type StorageType = "cookies"|"file_systems"|"indexeddb"|"local_storage"|"shader_cache"|"websql"|"service_workers"|"cache_storage"|"shared_storage"|"storage_buckets"|"all"|"other";
/**
* Usage for a storage type.
*/
@@ -17740,26 +17766,10 @@ Tokens from that issuer.
issuerOrigin: string;
count: number;
}
- /**
- * Protected audience interest group auction identifier.
- */
- export type InterestGroupAuctionId = string;
- /**
- * Enum of interest group access types.
- */
- export type InterestGroupAccessType = "join"|"leave"|"update"|"loaded"|"bid"|"win"|"additionalBid"|"additionalBidWin"|"topLevelBid"|"topLevelAdditionalBid"|"clear";
- /**
- * Enum of auction events.
- */
- export type InterestGroupAuctionEventType = "started"|"configResolved";
- /**
- * Enum of network fetches auctions can do.
- */
- export type InterestGroupAuctionFetchType = "bidderJs"|"bidderWasm"|"sellerJs"|"bidderTrustedSignals"|"sellerTrustedSignals";
/**
* Enum of shared storage access scopes.
*/
- export type SharedStorageAccessScope = "window"|"sharedStorageWorklet"|"protectedAudienceWorklet"|"header";
+ export type SharedStorageAccessScope = "window"|"sharedStorageWorklet"|"header";
/**
* Enum of shared storage access methods.
*/
@@ -18056,63 +18066,6 @@ Present only for SharedStorageAccessMethod: batchUpdate.
*/
bucketId: string;
}
- /**
- * One of the interest groups was accessed. Note that these events are global
-to all targets sharing an interest group store.
- */
- export type interestGroupAccessedPayload = {
- accessTime: Network.TimeSinceEpoch;
- type: InterestGroupAccessType;
- ownerOrigin: string;
- name: string;
- /**
- * For topLevelBid/topLevelAdditionalBid, and when appropriate,
-win and additionalBidWin
- */
- componentSellerOrigin?: string;
- /**
- * For bid or somethingBid event, if done locally and not on a server.
- */
- bid?: number;
- bidCurrency?: string;
- /**
- * For non-global events --- links to interestGroupAuctionEvent
- */
- uniqueAuctionId?: InterestGroupAuctionId;
- }
- /**
- * An auction involving interest groups is taking place. These events are
-target-specific.
- */
- export type interestGroupAuctionEventOccurredPayload = {
- eventTime: Network.TimeSinceEpoch;
- type: InterestGroupAuctionEventType;
- uniqueAuctionId: InterestGroupAuctionId;
- /**
- * Set for child auctions.
- */
- parentAuctionId?: InterestGroupAuctionId;
- /**
- * Set for started and configResolved
- */
- auctionConfig?: { [key: string]: string };
- }
- /**
- * Specifies which auctions a particular network fetch may be related to, and
-in what role. Note that it is not ordered with respect to
-Network.requestWillBeSent (but will happen before loadingFinished
-loadingFailed).
- */
- export type interestGroupAuctionNetworkRequestCreatedPayload = {
- type: InterestGroupAuctionFetchType;
- requestId: Network.RequestId;
- /**
- * This is the set of the auctions using the worklet that issued this
-request. In the case of trusted signals, it's possible that only some of
-them actually care about the keys being queried.
- */
- auctions: InterestGroupAuctionId[];
- }
/**
* Shared storage was accessed by the associated page.
The following parameters are included in all events.
@@ -18440,39 +18393,6 @@ Leaves other stored data, including the issuer's Redemption Records, intact.
*/
didDeleteTokens: boolean;
}
- /**
- * Gets details for a named interest group.
- */
- export type getInterestGroupDetailsParameters = {
- ownerOrigin: string;
- name: string;
- }
- export type getInterestGroupDetailsReturnValue = {
- /**
- * This largely corresponds to:
-https://wicg.github.io/turtledove/#dictdef-generatebidinterestgroup
-but has absolute expirationTime instead of relative lifetimeMs and
-also adds joiningOrigin.
- */
- details: { [key: string]: string };
- }
- /**
- * Enables/Disables issuing of interestGroupAccessed events.
- */
- export type setInterestGroupTrackingParameters = {
- enable: boolean;
- }
- export type setInterestGroupTrackingReturnValue = {
- }
- /**
- * Enables/Disables issuing of interestGroupAuctionEventOccurred and
-interestGroupAuctionNetworkRequestCreated.
- */
- export type setInterestGroupAuctionTrackingParameters = {
- enable: boolean;
- }
- export type setInterestGroupAuctionTrackingReturnValue = {
- }
/**
* Gets metadata for an origin's shared storage.
*/
@@ -18573,13 +18493,6 @@ session. The effective Related Website Sets will not change during a browser ses
export type getRelatedWebsiteSetsReturnValue = {
sets: RelatedWebsiteSet[];
}
- export type setProtectedAudienceKAnonymityParameters = {
- owner: string;
- name: string;
- hashes: binary[];
- }
- export type setProtectedAudienceKAnonymityReturnValue = {
- }
}
/**
@@ -19897,6 +19810,13 @@ https://fidoalliance.org/specs/fido-v2.2-rd-20241003/fido-client-to-authenticato
Defaults to false.
*/
hasHmacSecretMc?: boolean;
+ /**
+ * If set to true, the authenticator will support the cmtgKey (Credential
+Manager Trust Group Key) extension.
+https://github.com/w3c/webauthn/pull/2377
+Defaults to false.
+ */
+ hasCmtgKey?: boolean;
/**
* If set to true, tests of user presence will succeed immediately.
Otherwise, they will not be resolved. Defaults to true.
@@ -19938,11 +19858,12 @@ credential to a specific user.
*/
userHandle?: binary;
/**
- * Signature counter. This is incremented by one for each successful
-assertion.
+ * Signature counter. Must be equal to or greater than -1.
+If -1, the credential won't have an associated signature counter, and
+every assertion operation will report a value of 0.
See https://w3c.github.io/webauthn/#signature-counter
*/
- signCount: number;
+ signCount?: number;
/**
* The large blob associated with the credential.
See https://w3c.github.io/webauthn/#sctn-large-blob-extension
@@ -19971,6 +19892,18 @@ not set.
https://w3c.github.io/webauthn/#dom-publickeycredentialuserentity-displayname
*/
userDisplayName?: string;
+ /**
+ * The CMTG keys associated with the credential.
+ */
+ cmtgKeys?: binary[];
+ /**
+ * The 0-based index of the active key in cmtgKeys.
+ */
+ activeCmtgKeyIndex?: number;
+ /**
+ * If true, the authenticator will generate a new CMTG key on the next operation.
+ */
+ generateCmtgKeyOnNextOperation?: boolean;
}
/**
@@ -20142,6 +20075,15 @@ https://w3c.github.io/webauthn/#sctn-automation-set-credential-properties
credentialId: binary;
backupEligibility?: boolean;
backupState?: boolean;
+ activeCmtgKeyIndex?: number;
+ generateCmtgKeyOnNextOperation?: boolean;
+ /**
+ * Must be equal to or greater than -1.
+If -1, the signature counter is removed from the credential, and every
+assertion operation will report a value of 0.
+See https://w3c.github.io/webauthn/#signature-counter
+ */
+ signCount?: number;
}
export type setCredentialPropertiesReturnValue = {
}
@@ -23196,9 +23138,6 @@ Error was thrown.
"Storage.cacheStorageListUpdated": Storage.cacheStorageListUpdatedPayload;
"Storage.indexedDBContentUpdated": Storage.indexedDBContentUpdatedPayload;
"Storage.indexedDBListUpdated": Storage.indexedDBListUpdatedPayload;
- "Storage.interestGroupAccessed": Storage.interestGroupAccessedPayload;
- "Storage.interestGroupAuctionEventOccurred": Storage.interestGroupAuctionEventOccurredPayload;
- "Storage.interestGroupAuctionNetworkRequestCreated": Storage.interestGroupAuctionNetworkRequestCreatedPayload;
"Storage.sharedStorageAccessed": Storage.sharedStorageAccessedPayload;
"Storage.sharedStorageWorkletOperationExecutionFinished": Storage.sharedStorageWorkletOperationExecutionFinishedPayload;
"Storage.storageBucketCreatedOrUpdated": Storage.storageBucketCreatedOrUpdatedPayload;
@@ -23435,9 +23374,6 @@ Error was thrown.
["Storage.cacheStorageListUpdated"]: [Storage.cacheStorageListUpdatedPayload];
["Storage.indexedDBContentUpdated"]: [Storage.indexedDBContentUpdatedPayload];
["Storage.indexedDBListUpdated"]: [Storage.indexedDBListUpdatedPayload];
- ["Storage.interestGroupAccessed"]: [Storage.interestGroupAccessedPayload];
- ["Storage.interestGroupAuctionEventOccurred"]: [Storage.interestGroupAuctionEventOccurredPayload];
- ["Storage.interestGroupAuctionNetworkRequestCreated"]: [Storage.interestGroupAuctionNetworkRequestCreatedPayload];
["Storage.sharedStorageAccessed"]: [Storage.sharedStorageAccessedPayload];
["Storage.sharedStorageWorkletOperationExecutionFinished"]: [Storage.sharedStorageWorkletOperationExecutionFinishedPayload];
["Storage.storageBucketCreatedOrUpdated"]: [Storage.storageBucketCreatedOrUpdatedPayload];
@@ -23563,7 +23499,6 @@ Error was thrown.
"Browser.setDockTile": Browser.setDockTileParameters;
"Browser.executeBrowserCommand": Browser.executeBrowserCommandParameters;
"Browser.addPrivacySandboxEnrollmentOverride": Browser.addPrivacySandboxEnrollmentOverrideParameters;
- "Browser.addPrivacySandboxCoordinatorKeyConfig": Browser.addPrivacySandboxCoordinatorKeyConfigParameters;
"CSS.addRule": CSS.addRuleParameters;
"CSS.collectClassNames": CSS.collectClassNamesParameters;
"CSS.createStyleSheet": CSS.createStyleSheetParameters;
@@ -23694,6 +23629,7 @@ Error was thrown.
"DeviceAccess.cancelPrompt": DeviceAccess.cancelPromptParameters;
"DeviceOrientation.clearDeviceOrientationOverride": DeviceOrientation.clearDeviceOrientationOverrideParameters;
"DeviceOrientation.setDeviceOrientationOverride": DeviceOrientation.setDeviceOrientationOverrideParameters;
+ "DigitalCredentials.setVirtualWalletBehavior": DigitalCredentials.setVirtualWalletBehaviorParameters;
"Emulation.canEmulate": Emulation.canEmulateParameters;
"Emulation.clearDeviceMetricsOverride": Emulation.clearDeviceMetricsOverrideParameters;
"Emulation.clearGeolocationOverride": Emulation.clearGeolocationOverrideParameters;
@@ -24021,9 +23957,6 @@ Error was thrown.
"Storage.untrackIndexedDBForStorageKey": Storage.untrackIndexedDBForStorageKeyParameters;
"Storage.getTrustTokens": Storage.getTrustTokensParameters;
"Storage.clearTrustTokens": Storage.clearTrustTokensParameters;
- "Storage.getInterestGroupDetails": Storage.getInterestGroupDetailsParameters;
- "Storage.setInterestGroupTracking": Storage.setInterestGroupTrackingParameters;
- "Storage.setInterestGroupAuctionTracking": Storage.setInterestGroupAuctionTrackingParameters;
"Storage.getSharedStorageMetadata": Storage.getSharedStorageMetadataParameters;
"Storage.getSharedStorageEntries": Storage.getSharedStorageEntriesParameters;
"Storage.setSharedStorageEntry": Storage.setSharedStorageEntryParameters;
@@ -24035,7 +23968,6 @@ Error was thrown.
"Storage.deleteStorageBucket": Storage.deleteStorageBucketParameters;
"Storage.runBounceTrackingMitigations": Storage.runBounceTrackingMitigationsParameters;
"Storage.getRelatedWebsiteSets": Storage.getRelatedWebsiteSetsParameters;
- "Storage.setProtectedAudienceKAnonymity": Storage.setProtectedAudienceKAnonymityParameters;
"SystemInfo.getInfo": SystemInfo.getInfoParameters;
"SystemInfo.getFeatureState": SystemInfo.getFeatureStateParameters;
"SystemInfo.getProcessInfo": SystemInfo.getProcessInfoParameters;
@@ -24234,7 +24166,6 @@ Error was thrown.
"Browser.setDockTile": Browser.setDockTileReturnValue;
"Browser.executeBrowserCommand": Browser.executeBrowserCommandReturnValue;
"Browser.addPrivacySandboxEnrollmentOverride": Browser.addPrivacySandboxEnrollmentOverrideReturnValue;
- "Browser.addPrivacySandboxCoordinatorKeyConfig": Browser.addPrivacySandboxCoordinatorKeyConfigReturnValue;
"CSS.addRule": CSS.addRuleReturnValue;
"CSS.collectClassNames": CSS.collectClassNamesReturnValue;
"CSS.createStyleSheet": CSS.createStyleSheetReturnValue;
@@ -24365,6 +24296,7 @@ Error was thrown.
"DeviceAccess.cancelPrompt": DeviceAccess.cancelPromptReturnValue;
"DeviceOrientation.clearDeviceOrientationOverride": DeviceOrientation.clearDeviceOrientationOverrideReturnValue;
"DeviceOrientation.setDeviceOrientationOverride": DeviceOrientation.setDeviceOrientationOverrideReturnValue;
+ "DigitalCredentials.setVirtualWalletBehavior": DigitalCredentials.setVirtualWalletBehaviorReturnValue;
"Emulation.canEmulate": Emulation.canEmulateReturnValue;
"Emulation.clearDeviceMetricsOverride": Emulation.clearDeviceMetricsOverrideReturnValue;
"Emulation.clearGeolocationOverride": Emulation.clearGeolocationOverrideReturnValue;
@@ -24692,9 +24624,6 @@ Error was thrown.
"Storage.untrackIndexedDBForStorageKey": Storage.untrackIndexedDBForStorageKeyReturnValue;
"Storage.getTrustTokens": Storage.getTrustTokensReturnValue;
"Storage.clearTrustTokens": Storage.clearTrustTokensReturnValue;
- "Storage.getInterestGroupDetails": Storage.getInterestGroupDetailsReturnValue;
- "Storage.setInterestGroupTracking": Storage.setInterestGroupTrackingReturnValue;
- "Storage.setInterestGroupAuctionTracking": Storage.setInterestGroupAuctionTrackingReturnValue;
"Storage.getSharedStorageMetadata": Storage.getSharedStorageMetadataReturnValue;
"Storage.getSharedStorageEntries": Storage.getSharedStorageEntriesReturnValue;
"Storage.setSharedStorageEntry": Storage.setSharedStorageEntryReturnValue;
@@ -24706,7 +24635,6 @@ Error was thrown.
"Storage.deleteStorageBucket": Storage.deleteStorageBucketReturnValue;
"Storage.runBounceTrackingMitigations": Storage.runBounceTrackingMitigationsReturnValue;
"Storage.getRelatedWebsiteSets": Storage.getRelatedWebsiteSetsReturnValue;
- "Storage.setProtectedAudienceKAnonymity": Storage.setProtectedAudienceKAnonymityReturnValue;
"SystemInfo.getInfo": SystemInfo.getInfoReturnValue;
"SystemInfo.getFeatureState": SystemInfo.getFeatureStateReturnValue;
"SystemInfo.getProcessInfo": SystemInfo.getProcessInfoReturnValue;
diff --git a/packages/playwright-core/types/protocol.d.ts b/packages/playwright-core/types/protocol.d.ts
index 858642160b282..680add356a93a 100644
--- a/packages/playwright-core/types/protocol.d.ts
+++ b/packages/playwright-core/types/protocol.d.ts
@@ -828,7 +828,7 @@ may be used by the front-end as additional context.
sourceCodeLocation?: SourceCodeLocation;
}
export type MixedContentResolutionStatus = "MixedContentBlocked"|"MixedContentAutomaticallyUpgraded"|"MixedContentWarning";
- export type MixedContentResourceType = "AttributionSrc"|"Audio"|"Beacon"|"CSPReport"|"Download"|"EventSource"|"Favicon"|"Font"|"Form"|"Frame"|"Image"|"Import"|"JSON"|"Manifest"|"Ping"|"PluginData"|"PluginResource"|"Prefetch"|"Resource"|"Script"|"ServiceWorker"|"SharedWorker"|"SpeculationRules"|"Stylesheet"|"Track"|"Video"|"Worker"|"XMLHttpRequest"|"XSLT";
+ export type MixedContentResourceType = "Audio"|"Beacon"|"CSPReport"|"Download"|"EventSource"|"Favicon"|"Font"|"Form"|"Frame"|"Image"|"Import"|"JSON"|"Manifest"|"Ping"|"PluginData"|"PluginResource"|"Prefetch"|"Resource"|"Script"|"ServiceWorker"|"SharedWorker"|"SpeculationRules"|"Stylesheet"|"Track"|"Video"|"Worker"|"XMLHttpRequest"|"XSLT";
export interface MixedContentIssueDetails {
/**
* The type of resource causing the mixed content issue (css, js, iframe,
@@ -936,21 +936,10 @@ CORS RFC1918 enforcement.
resourceIPAddressSpace?: Network.IPAddressSpace;
clientSecurityState?: Network.ClientSecurityState;
}
- export type AttributionReportingIssueType = "PermissionPolicyDisabled"|"UntrustworthyReportingOrigin"|"InsecureContext"|"InvalidHeader"|"InvalidRegisterTriggerHeader"|"SourceAndTriggerHeaders"|"SourceIgnored"|"TriggerIgnored"|"OsSourceIgnored"|"OsTriggerIgnored"|"InvalidRegisterOsSourceHeader"|"InvalidRegisterOsTriggerHeader"|"WebAndOsHeaders"|"NoWebOrOsSupport"|"NavigationRegistrationWithoutTransientUserActivation"|"InvalidInfoHeader"|"NoRegisterSourceHeader"|"NoRegisterTriggerHeader"|"NoRegisterOsSourceHeader"|"NoRegisterOsTriggerHeader"|"NavigationRegistrationUniqueScopeAlreadySet";
export type SharedDictionaryError = "UseErrorCrossOriginNoCorsRequest"|"UseErrorDictionaryLoadFailure"|"UseErrorMatchingDictionaryNotUsed"|"UseErrorUnexpectedContentDictionaryHeader"|"WriteErrorCossOriginNoCorsRequest"|"WriteErrorDisallowedBySettings"|"WriteErrorExpiredResponse"|"WriteErrorFeatureDisabled"|"WriteErrorInsufficientResources"|"WriteErrorInvalidMatchField"|"WriteErrorInvalidStructuredHeader"|"WriteErrorInvalidTTLField"|"WriteErrorNavigationRequest"|"WriteErrorNoMatchField"|"WriteErrorNonIntegerTTLField"|"WriteErrorNonListMatchDestField"|"WriteErrorNonSecureContext"|"WriteErrorNonStringIdField"|"WriteErrorNonStringInMatchDestList"|"WriteErrorInvalidMatchDestList"|"WriteErrorNonStringMatchField"|"WriteErrorNonTokenTypeField"|"WriteErrorRequestAborted"|"WriteErrorShuttingDown"|"WriteErrorTooLongIdField"|"WriteErrorUnsupportedType";
export type SRIMessageSignatureError = "MissingSignatureHeader"|"MissingSignatureInputHeader"|"InvalidSignatureHeader"|"InvalidSignatureInputHeader"|"SignatureHeaderValueIsNotByteSequence"|"SignatureHeaderValueIsParameterized"|"SignatureHeaderValueIsIncorrectLength"|"SignatureInputHeaderMissingLabel"|"SignatureInputHeaderValueNotInnerList"|"SignatureInputHeaderValueMissingComponents"|"SignatureInputHeaderInvalidComponentType"|"SignatureInputHeaderInvalidComponentName"|"SignatureInputHeaderInvalidHeaderComponentParameter"|"SignatureInputHeaderInvalidDerivedComponentParameter"|"SignatureInputHeaderKeyIdLength"|"SignatureInputHeaderInvalidParameter"|"SignatureInputHeaderMissingRequiredParameters"|"ValidationFailedSignatureExpired"|"ValidationFailedInvalidLength"|"ValidationFailedSignatureMismatch"|"ValidationFailedIntegrityMismatch"|"SignatureBaseUnknownDerivedComponent"|"SignatureBaseMissingHeader"|"SignatureBaseInvalidUnencodedDigest"|"SignatureBaseUnsupportedComponent";
export type UnencodedDigestError = "MalformedDictionary"|"UnknownAlgorithm"|"IncorrectDigestType"|"IncorrectDigestLength";
export type ConnectionAllowlistError = "InvalidHeader"|"MoreThanOneList"|"ItemNotInnerList"|"InvalidAllowlistItemType"|"ReportingEndpointNotToken"|"InvalidUrlPattern";
- /**
- * Details for issues around "Attribution Reporting API" usage.
-Explainer: https://github.com/WICG/attribution-reporting-api
- */
- export interface AttributionReportingIssueDetails {
- violationType: AttributionReportingIssueType;
- request?: AffectedRequest;
- violatingNodeId?: DOM.BackendNodeId;
- invalidParameter?: string;
- }
/**
* Details for issues about documents in Quirks Mode
or Limited Quirks Mode that affects page layouting.
@@ -1212,12 +1201,29 @@ Selective Permissions Intervention.
*/
stackTrace?: Runtime.StackTrace;
}
+ /**
+ * Details for issues about lazy-loaded images without explicit dimensions.
+ */
+ export interface LazyLoadImageIssueDetails {
+ /**
+ * DOM node of the problematic HTMLImageElement.
+ */
+ nodeId: DOM.BackendNodeId;
+ /**
+ * URL or src attribute of the image.
+ */
+ url: string;
+ /**
+ * Frame containing the image.
+ */
+ frameId: Page.FrameId;
+ }
/**
* 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 = "CookieIssue"|"MixedContentIssue"|"BlockedByResponseIssue"|"HeavyAdIssue"|"ContentSecurityPolicyIssue"|"SharedArrayBufferIssue"|"CorsIssue"|"AttributionReportingIssue"|"QuirksModeIssue"|"PartitioningBlobURLIssue"|"NavigatorUserAgentIssue"|"GenericIssue"|"DeprecationIssue"|"ClientHintIssue"|"FederatedAuthRequestIssue"|"BounceTrackingIssue"|"CookieDeprecationMetadataIssue"|"StylesheetLoadingIssue"|"FederatedAuthUserInfoRequestIssue"|"PropertyRuleIssue"|"SharedDictionaryIssue"|"ElementAccessibilityIssue"|"SRIMessageSignatureIssue"|"UnencodedDigestIssue"|"ConnectionAllowlistIssue"|"UserReidentificationIssue"|"PermissionElementIssue"|"PerformanceIssue"|"SelectivePermissionsInterventionIssue"|"EmailVerificationRequestIssue";
+ export type InspectorIssueCode = "CookieIssue"|"MixedContentIssue"|"BlockedByResponseIssue"|"HeavyAdIssue"|"ContentSecurityPolicyIssue"|"SharedArrayBufferIssue"|"CorsIssue"|"QuirksModeIssue"|"PartitioningBlobURLIssue"|"NavigatorUserAgentIssue"|"GenericIssue"|"DeprecationIssue"|"ClientHintIssue"|"FederatedAuthRequestIssue"|"BounceTrackingIssue"|"CookieDeprecationMetadataIssue"|"StylesheetLoadingIssue"|"FederatedAuthUserInfoRequestIssue"|"PropertyRuleIssue"|"SharedDictionaryIssue"|"ElementAccessibilityIssue"|"SRIMessageSignatureIssue"|"UnencodedDigestIssue"|"ConnectionAllowlistIssue"|"UserReidentificationIssue"|"PermissionElementIssue"|"PerformanceIssue"|"SelectivePermissionsInterventionIssue"|"EmailVerificationRequestIssue"|"LazyLoadImageIssue";
/**
* 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
@@ -1231,7 +1237,6 @@ add a new optional field to this type.
contentSecurityPolicyIssueDetails?: ContentSecurityPolicyIssueDetails;
sharedArrayBufferIssueDetails?: SharedArrayBufferIssueDetails;
corsIssueDetails?: CorsIssueDetails;
- attributionReportingIssueDetails?: AttributionReportingIssueDetails;
quirksModeIssueDetails?: QuirksModeIssueDetails;
partitioningBlobURLIssueDetails?: PartitioningBlobURLIssueDetails;
navigatorUserAgentIssueDetails?: NavigatorUserAgentIssueDetails;
@@ -1254,6 +1259,7 @@ add a new optional field to this type.
performanceIssueDetails?: PerformanceIssueDetails;
selectivePermissionsInterventionIssueDetails?: SelectivePermissionsInterventionIssueDetails;
emailVerificationRequestIssueDetails?: EmailVerificationRequestIssueDetails;
+ lazyLoadImageIssueDetails?: LazyLoadImageIssueDetails;
}
/**
* A unique id for a DevTools inspector issue. Allows other entities (e.g.
@@ -2005,7 +2011,6 @@ Note that userVisibleOnly = true is the only currently supported type.
*/
buckets: Bucket[];
}
- export type PrivacySandboxAPI = "BiddingAndAuctionServices"|"TrustedKeyValue";
/**
* Fired when page is about to start a download.
@@ -2356,24 +2361,6 @@ without the site actually being enrolled. Only supported on page targets.
}
export type addPrivacySandboxEnrollmentOverrideReturnValue = {
}
- /**
- * Configures encryption keys used with a given privacy sandbox API to talk
-to a trusted coordinator. Since this is intended for test automation only,
-coordinatorOrigin must be a .test domain. No existing coordinator
-configuration for the origin may exist.
- */
- export type addPrivacySandboxCoordinatorKeyConfigParameters = {
- api: PrivacySandboxAPI;
- coordinatorOrigin: string;
- keyConfig: string;
- /**
- * BrowserContext to perform the action in. When omitted, default browser
-context is used.
- */
- browserContextId?: BrowserContextID;
- }
- export type addPrivacySandboxCoordinatorKeyConfigReturnValue = {
- }
}
/**
@@ -6778,6 +6765,44 @@ selectPrompt or cancelPrompt command.
}
}
+ /**
+ * This domain allows interacting with the Digital Credentials API for automation.
+ */
+ export namespace DigitalCredentials {
+ /**
+ * The type of virtual wallet action.
+ */
+ export type VirtualWalletAction = "respond"|"decline"|"wait"|"clear";
+
+
+ /**
+ * Sets the behavior of the virtual wallet for digital credential requests
+issued from this frame.
+ */
+ export type setVirtualWalletBehaviorParameters = {
+ /**
+ * The action of the virtual wallet.
+ */
+ action: VirtualWalletAction;
+ /**
+ * The protocol identifier (e.g. "openid4vp"). Required when |action| is
+"respond", forbidden otherwise.
+ */
+ protocol?: string;
+ /**
+ * The response data object returned by the wallet.
+Required when |action| is "respond", forbidden otherwise.
+ */
+ response?: { [key: string]: string };
+ /**
+ * The frame to scope the virtual wallet behavior to.
+ */
+ frameId?: Page.FrameId;
+ }
+ export type setVirtualWalletBehaviorReturnValue = {
+ }
+ }
+
/**
* This domain emulates different environments for the page.
*/
@@ -11703,8 +11728,9 @@ details; this boolean is true if that value is populated.
export type DeviceBoundSessionEventId = string;
/**
* A fetch result for a device bound session creation or refresh.
+LINT.IfChange(DeviceBoundSessionFetchResult)
*/
- export type DeviceBoundSessionFetchResult = "Success"|"KeyError"|"SigningError"|"TransientSigningError"|"ServerRequestedTermination"|"InvalidSessionId"|"InvalidChallenge"|"TooManyChallenges"|"InvalidFetcherUrl"|"InvalidRefreshUrl"|"TransientHttpError"|"ScopeOriginSameSiteMismatch"|"RefreshUrlSameSiteMismatch"|"MismatchedSessionId"|"MissingScope"|"NoCredentials"|"SubdomainRegistrationWellKnownUnavailable"|"SubdomainRegistrationUnauthorized"|"SubdomainRegistrationWellKnownMalformed"|"SessionProviderWellKnownUnavailable"|"RelyingPartyWellKnownUnavailable"|"FederatedKeyThumbprintMismatch"|"InvalidFederatedSessionUrl"|"InvalidFederatedKey"|"TooManyRelyingOriginLabels"|"BoundCookieSetForbidden"|"NetError"|"ProxyError"|"EmptySessionConfig"|"InvalidCredentialsConfig"|"InvalidCredentialsType"|"InvalidCredentialsEmptyName"|"InvalidCredentialsCookie"|"PersistentHttpError"|"RegistrationAttemptedChallenge"|"InvalidScopeOrigin"|"ScopeOriginContainsPath"|"RefreshInitiatorNotString"|"RefreshInitiatorInvalidHostPattern"|"InvalidScopeSpecification"|"MissingScopeSpecificationType"|"EmptyScopeSpecificationDomain"|"EmptyScopeSpecificationPath"|"InvalidScopeSpecificationType"|"InvalidScopeIncludeSite"|"MissingScopeIncludeSite"|"FederatedNotAuthorizedByProvider"|"FederatedNotAuthorizedByRelyingParty"|"SessionProviderWellKnownMalformed"|"SessionProviderWellKnownHasProviderOrigin"|"RelyingPartyWellKnownMalformed"|"RelyingPartyWellKnownHasRelyingOrigins"|"InvalidFederatedSessionProviderSessionMissing"|"InvalidFederatedSessionWrongProviderOrigin"|"InvalidCredentialsCookieCreationTime"|"InvalidCredentialsCookieName"|"InvalidCredentialsCookieParsing"|"InvalidCredentialsCookieUnpermittedAttribute"|"InvalidCredentialsCookieInvalidDomain"|"InvalidCredentialsCookiePrefix"|"InvalidScopeRulePath"|"InvalidScopeRuleHostPattern"|"ScopeRuleOriginScopedHostPatternMismatch"|"ScopeRuleSiteScopedHostPatternMismatch"|"SigningQuotaExceeded"|"InvalidConfigJson"|"InvalidFederatedSessionProviderFailedToRestoreKey"|"FailedToUnwrapKey"|"SessionDeletedDuringRefresh"|"CrossOriginRegistrationSiteNotIncluded";
+ export type DeviceBoundSessionFetchResult = "Success"|"SigningKeyGenerationError"|"AttestationKeyGenerationError"|"SigningError"|"TransientSigningError"|"ServerRequestedTermination"|"InvalidSessionId"|"InvalidChallenge"|"TooManyChallenges"|"InvalidFetcherUrl"|"InvalidRefreshUrl"|"TransientHttpError"|"ScopeOriginSameSiteMismatch"|"RefreshUrlSameSiteMismatch"|"MismatchedSessionId"|"MissingScope"|"NoCredentials"|"SubdomainRegistrationWellKnownUnavailable"|"SubdomainRegistrationUnauthorized"|"SubdomainRegistrationWellKnownMalformed"|"SessionProviderWellKnownUnavailable"|"RelyingPartyWellKnownUnavailable"|"FederatedKeyThumbprintMismatch"|"InvalidFederatedSessionUrl"|"InvalidFederatedKey"|"TooManyRelyingOriginLabels"|"BoundCookieSetForbidden"|"NetError"|"ProxyError"|"EmptySessionConfig"|"InvalidCredentialsConfig"|"InvalidCredentialsType"|"InvalidCredentialsEmptyName"|"InvalidCredentialsCookie"|"PersistentHttpError"|"RegistrationAttemptedChallenge"|"InvalidScopeOrigin"|"ScopeOriginContainsPath"|"RefreshInitiatorNotString"|"RefreshInitiatorInvalidHostPattern"|"InvalidScopeSpecification"|"MissingScopeSpecificationType"|"EmptyScopeSpecificationDomain"|"EmptyScopeSpecificationPath"|"InvalidScopeSpecificationType"|"InvalidScopeIncludeSite"|"MissingScopeIncludeSite"|"FederatedNotAuthorizedByProvider"|"FederatedNotAuthorizedByRelyingParty"|"SessionProviderWellKnownMalformed"|"SessionProviderWellKnownHasProviderOrigin"|"RelyingPartyWellKnownMalformed"|"RelyingPartyWellKnownHasRelyingOrigins"|"InvalidFederatedSessionProviderSessionMissing"|"InvalidFederatedSessionWrongProviderOrigin"|"InvalidCredentialsCookieCreationTime"|"InvalidCredentialsCookieName"|"InvalidCredentialsCookieParsing"|"InvalidCredentialsCookieUnpermittedAttribute"|"InvalidCredentialsCookieInvalidDomain"|"InvalidCredentialsCookiePrefix"|"InvalidScopeRulePath"|"InvalidScopeRuleHostPattern"|"ScopeRuleOriginScopedHostPatternMismatch"|"ScopeRuleSiteScopedHostPatternMismatch"|"SigningQuotaExceeded"|"InvalidConfigJson"|"InvalidFederatedSessionProviderFailedToRestoreKey"|"FailedToUnwrapKey"|"SessionDeletedDuringRefresh"|"CrossOriginRegistrationSiteNotIncluded"|"InvalidPreProvisionedKeyInitiatorMissing"|"PreProvisionedKeyAccessNotGranted"|"PreProvisionedKeyNotFound";
/**
* Details about a failed device bound session network request.
*/
@@ -11754,7 +11780,7 @@ one.
/**
* The result of a refresh.
*/
- refreshResult: "Refreshed"|"InitializedService"|"Unreachable"|"ServerError"|"RefreshQuotaExceeded"|"FatalError"|"SigningQuotaExceeded"|"RefreshedAsWaiter"|"TransientSigningError";
+ refreshResult: "Refreshed"|"InitializedService"|"Unreachable"|"ServerError"|"FatalError"|"SigningQuotaExceeded"|"RefreshedAsWaiter"|"TransientSigningError";
/**
* If there was a fetch attempt, the result of that.
*/
@@ -14463,7 +14489,7 @@ supported yet.
in services/network/public/cpp/permissions_policy/permissions_policy_features.json5.
LINT.IfChange(PermissionsPolicyFeature)
*/
- export type PermissionsPolicyFeature = "accelerometer"|"all-screens-capture"|"ambient-light-sensor"|"aria-notify"|"attribution-reporting"|"autofill"|"autoplay"|"bluetooth"|"browsing-topics"|"camera"|"captured-surface-control"|"ch-dpr"|"ch-device-memory"|"ch-downlink"|"ch-ect"|"ch-prefers-color-scheme"|"ch-prefers-reduced-motion"|"ch-prefers-reduced-transparency"|"ch-rtt"|"ch-save-data"|"ch-ua"|"ch-ua-arch"|"ch-ua-bitness"|"ch-ua-high-entropy-values"|"ch-ua-platform"|"ch-ua-model"|"ch-ua-mobile"|"ch-ua-form-factors"|"ch-ua-full-version"|"ch-ua-full-version-list"|"ch-ua-platform-version"|"ch-ua-wow64"|"ch-viewport-height"|"ch-viewport-width"|"ch-width"|"clipboard-read"|"clipboard-write"|"compute-pressure"|"controlled-frame"|"cross-origin-isolated"|"deferred-fetch"|"deferred-fetch-minimal"|"device-attributes"|"digital-credentials-create"|"digital-credentials-get"|"direct-sockets"|"direct-sockets-multicast"|"display-capture"|"document-domain"|"encrypted-media"|"execution-while-out-of-viewport"|"execution-while-not-rendered"|"focus-without-user-activation"|"fullscreen"|"frobulate"|"gamepad"|"geolocation"|"gyroscope"|"hid"|"identity-credentials-get"|"idle-detection"|"interest-cohort"|"join-ad-interest-group"|"keyboard-map"|"language-detector"|"language-model"|"local-fonts"|"local-network"|"local-network-access"|"loopback-network"|"magnetometer"|"manual-text"|"media-playback-while-not-visible"|"microphone"|"midi"|"on-device-speech-recognition"|"otp-credentials"|"payment"|"picture-in-picture"|"private-aggregation"|"private-state-token-issuance"|"private-state-token-redemption"|"publickey-credentials-create"|"publickey-credentials-get"|"record-ad-auction-events"|"rewriter"|"run-ad-auction"|"screen-wake-lock"|"serial"|"shared-storage"|"shared-storage-select-url"|"smart-card"|"speaker-selection"|"storage-access"|"sub-apps"|"summarizer"|"sync-xhr"|"tools"|"translator"|"unload"|"usb"|"usb-unrestricted"|"vertical-scroll"|"web-app-installation"|"webnn"|"web-printing"|"web-share"|"window-management"|"writer"|"xr-spatial-tracking";
+ export type PermissionsPolicyFeature = "accelerometer"|"all-screens-capture"|"ambient-light-sensor"|"aria-notify"|"autofill"|"autoplay"|"bluetooth"|"browsing-topics"|"camera"|"captured-surface-control"|"ch-dpr"|"ch-device-memory"|"ch-downlink"|"ch-ect"|"ch-prefers-color-scheme"|"ch-prefers-reduced-motion"|"ch-prefers-reduced-transparency"|"ch-rtt"|"ch-save-data"|"ch-ua"|"ch-ua-arch"|"ch-ua-bitness"|"ch-ua-high-entropy-values"|"ch-ua-platform"|"ch-ua-model"|"ch-ua-mobile"|"ch-ua-form-factors"|"ch-ua-full-version"|"ch-ua-full-version-list"|"ch-ua-platform-version"|"ch-ua-wow64"|"ch-viewport-height"|"ch-viewport-width"|"ch-width"|"clipboard-read"|"clipboard-write"|"compute-pressure"|"controlled-frame"|"cross-origin-isolated"|"deferred-fetch"|"deferred-fetch-minimal"|"device-attributes"|"digital-credentials-create"|"digital-credentials-get"|"direct-sockets"|"direct-sockets-multicast"|"display-capture"|"document-domain"|"encrypted-media"|"execution-while-out-of-viewport"|"execution-while-not-rendered"|"focus-without-user-activation"|"fullscreen"|"frobulate"|"gamepad"|"geolocation"|"gyroscope"|"hid"|"identity-credentials-get"|"idle-detection"|"interest-cohort"|"join-ad-interest-group"|"keyboard-map"|"language-detector"|"language-model"|"local-fonts"|"local-network"|"local-network-access"|"loopback-network"|"magnetometer"|"manual-text"|"media-playback-while-not-visible"|"microphone"|"midi"|"on-device-speech-recognition"|"otp-credentials"|"payment"|"picture-in-picture"|"private-aggregation"|"private-state-token-issuance"|"private-state-token-redemption"|"publickey-credentials-create"|"publickey-credentials-get"|"record-ad-auction-events"|"rewriter"|"run-ad-auction"|"screen-wake-lock"|"serial"|"shared-storage"|"shared-storage-select-url"|"smart-card"|"speaker-selection"|"storage-access"|"sub-apps"|"summarizer"|"sync-xhr"|"tools"|"translator"|"unload"|"usb"|"usb-unrestricted"|"vertical-scroll"|"web-app-installation"|"webnn"|"web-printing"|"web-share"|"window-management"|"writer"|"xr-spatial-tracking";
/**
* Reason for a permissions policy feature to be disabled.
*/
@@ -17718,7 +17744,7 @@ Microsoft: https://learn.microsoft.com/en-us/windows/win32/api/winscard/nf-winsc
/**
* Enum of possible storage types.
*/
- export type StorageType = "cookies"|"file_systems"|"indexeddb"|"local_storage"|"shader_cache"|"websql"|"service_workers"|"cache_storage"|"interest_groups"|"shared_storage"|"storage_buckets"|"all"|"other";
+ export type StorageType = "cookies"|"file_systems"|"indexeddb"|"local_storage"|"shader_cache"|"websql"|"service_workers"|"cache_storage"|"shared_storage"|"storage_buckets"|"all"|"other";
/**
* Usage for a storage type.
*/
@@ -17740,26 +17766,10 @@ Tokens from that issuer.
issuerOrigin: string;
count: number;
}
- /**
- * Protected audience interest group auction identifier.
- */
- export type InterestGroupAuctionId = string;
- /**
- * Enum of interest group access types.
- */
- export type InterestGroupAccessType = "join"|"leave"|"update"|"loaded"|"bid"|"win"|"additionalBid"|"additionalBidWin"|"topLevelBid"|"topLevelAdditionalBid"|"clear";
- /**
- * Enum of auction events.
- */
- export type InterestGroupAuctionEventType = "started"|"configResolved";
- /**
- * Enum of network fetches auctions can do.
- */
- export type InterestGroupAuctionFetchType = "bidderJs"|"bidderWasm"|"sellerJs"|"bidderTrustedSignals"|"sellerTrustedSignals";
/**
* Enum of shared storage access scopes.
*/
- export type SharedStorageAccessScope = "window"|"sharedStorageWorklet"|"protectedAudienceWorklet"|"header";
+ export type SharedStorageAccessScope = "window"|"sharedStorageWorklet"|"header";
/**
* Enum of shared storage access methods.
*/
@@ -18056,63 +18066,6 @@ Present only for SharedStorageAccessMethod: batchUpdate.
*/
bucketId: string;
}
- /**
- * One of the interest groups was accessed. Note that these events are global
-to all targets sharing an interest group store.
- */
- export type interestGroupAccessedPayload = {
- accessTime: Network.TimeSinceEpoch;
- type: InterestGroupAccessType;
- ownerOrigin: string;
- name: string;
- /**
- * For topLevelBid/topLevelAdditionalBid, and when appropriate,
-win and additionalBidWin
- */
- componentSellerOrigin?: string;
- /**
- * For bid or somethingBid event, if done locally and not on a server.
- */
- bid?: number;
- bidCurrency?: string;
- /**
- * For non-global events --- links to interestGroupAuctionEvent
- */
- uniqueAuctionId?: InterestGroupAuctionId;
- }
- /**
- * An auction involving interest groups is taking place. These events are
-target-specific.
- */
- export type interestGroupAuctionEventOccurredPayload = {
- eventTime: Network.TimeSinceEpoch;
- type: InterestGroupAuctionEventType;
- uniqueAuctionId: InterestGroupAuctionId;
- /**
- * Set for child auctions.
- */
- parentAuctionId?: InterestGroupAuctionId;
- /**
- * Set for started and configResolved
- */
- auctionConfig?: { [key: string]: string };
- }
- /**
- * Specifies which auctions a particular network fetch may be related to, and
-in what role. Note that it is not ordered with respect to
-Network.requestWillBeSent (but will happen before loadingFinished
-loadingFailed).
- */
- export type interestGroupAuctionNetworkRequestCreatedPayload = {
- type: InterestGroupAuctionFetchType;
- requestId: Network.RequestId;
- /**
- * This is the set of the auctions using the worklet that issued this
-request. In the case of trusted signals, it's possible that only some of
-them actually care about the keys being queried.
- */
- auctions: InterestGroupAuctionId[];
- }
/**
* Shared storage was accessed by the associated page.
The following parameters are included in all events.
@@ -18440,39 +18393,6 @@ Leaves other stored data, including the issuer's Redemption Records, intact.
*/
didDeleteTokens: boolean;
}
- /**
- * Gets details for a named interest group.
- */
- export type getInterestGroupDetailsParameters = {
- ownerOrigin: string;
- name: string;
- }
- export type getInterestGroupDetailsReturnValue = {
- /**
- * This largely corresponds to:
-https://wicg.github.io/turtledove/#dictdef-generatebidinterestgroup
-but has absolute expirationTime instead of relative lifetimeMs and
-also adds joiningOrigin.
- */
- details: { [key: string]: string };
- }
- /**
- * Enables/Disables issuing of interestGroupAccessed events.
- */
- export type setInterestGroupTrackingParameters = {
- enable: boolean;
- }
- export type setInterestGroupTrackingReturnValue = {
- }
- /**
- * Enables/Disables issuing of interestGroupAuctionEventOccurred and
-interestGroupAuctionNetworkRequestCreated.
- */
- export type setInterestGroupAuctionTrackingParameters = {
- enable: boolean;
- }
- export type setInterestGroupAuctionTrackingReturnValue = {
- }
/**
* Gets metadata for an origin's shared storage.
*/
@@ -18573,13 +18493,6 @@ session. The effective Related Website Sets will not change during a browser ses
export type getRelatedWebsiteSetsReturnValue = {
sets: RelatedWebsiteSet[];
}
- export type setProtectedAudienceKAnonymityParameters = {
- owner: string;
- name: string;
- hashes: binary[];
- }
- export type setProtectedAudienceKAnonymityReturnValue = {
- }
}
/**
@@ -19897,6 +19810,13 @@ https://fidoalliance.org/specs/fido-v2.2-rd-20241003/fido-client-to-authenticato
Defaults to false.
*/
hasHmacSecretMc?: boolean;
+ /**
+ * If set to true, the authenticator will support the cmtgKey (Credential
+Manager Trust Group Key) extension.
+https://github.com/w3c/webauthn/pull/2377
+Defaults to false.
+ */
+ hasCmtgKey?: boolean;
/**
* If set to true, tests of user presence will succeed immediately.
Otherwise, they will not be resolved. Defaults to true.
@@ -19938,11 +19858,12 @@ credential to a specific user.
*/
userHandle?: binary;
/**
- * Signature counter. This is incremented by one for each successful
-assertion.
+ * Signature counter. Must be equal to or greater than -1.
+If -1, the credential won't have an associated signature counter, and
+every assertion operation will report a value of 0.
See https://w3c.github.io/webauthn/#signature-counter
*/
- signCount: number;
+ signCount?: number;
/**
* The large blob associated with the credential.
See https://w3c.github.io/webauthn/#sctn-large-blob-extension
@@ -19971,6 +19892,18 @@ not set.
https://w3c.github.io/webauthn/#dom-publickeycredentialuserentity-displayname
*/
userDisplayName?: string;
+ /**
+ * The CMTG keys associated with the credential.
+ */
+ cmtgKeys?: binary[];
+ /**
+ * The 0-based index of the active key in cmtgKeys.
+ */
+ activeCmtgKeyIndex?: number;
+ /**
+ * If true, the authenticator will generate a new CMTG key on the next operation.
+ */
+ generateCmtgKeyOnNextOperation?: boolean;
}
/**
@@ -20142,6 +20075,15 @@ https://w3c.github.io/webauthn/#sctn-automation-set-credential-properties
credentialId: binary;
backupEligibility?: boolean;
backupState?: boolean;
+ activeCmtgKeyIndex?: number;
+ generateCmtgKeyOnNextOperation?: boolean;
+ /**
+ * Must be equal to or greater than -1.
+If -1, the signature counter is removed from the credential, and every
+assertion operation will report a value of 0.
+See https://w3c.github.io/webauthn/#signature-counter
+ */
+ signCount?: number;
}
export type setCredentialPropertiesReturnValue = {
}
@@ -23196,9 +23138,6 @@ Error was thrown.
"Storage.cacheStorageListUpdated": Storage.cacheStorageListUpdatedPayload;
"Storage.indexedDBContentUpdated": Storage.indexedDBContentUpdatedPayload;
"Storage.indexedDBListUpdated": Storage.indexedDBListUpdatedPayload;
- "Storage.interestGroupAccessed": Storage.interestGroupAccessedPayload;
- "Storage.interestGroupAuctionEventOccurred": Storage.interestGroupAuctionEventOccurredPayload;
- "Storage.interestGroupAuctionNetworkRequestCreated": Storage.interestGroupAuctionNetworkRequestCreatedPayload;
"Storage.sharedStorageAccessed": Storage.sharedStorageAccessedPayload;
"Storage.sharedStorageWorkletOperationExecutionFinished": Storage.sharedStorageWorkletOperationExecutionFinishedPayload;
"Storage.storageBucketCreatedOrUpdated": Storage.storageBucketCreatedOrUpdatedPayload;
@@ -23435,9 +23374,6 @@ Error was thrown.
["Storage.cacheStorageListUpdated"]: [Storage.cacheStorageListUpdatedPayload];
["Storage.indexedDBContentUpdated"]: [Storage.indexedDBContentUpdatedPayload];
["Storage.indexedDBListUpdated"]: [Storage.indexedDBListUpdatedPayload];
- ["Storage.interestGroupAccessed"]: [Storage.interestGroupAccessedPayload];
- ["Storage.interestGroupAuctionEventOccurred"]: [Storage.interestGroupAuctionEventOccurredPayload];
- ["Storage.interestGroupAuctionNetworkRequestCreated"]: [Storage.interestGroupAuctionNetworkRequestCreatedPayload];
["Storage.sharedStorageAccessed"]: [Storage.sharedStorageAccessedPayload];
["Storage.sharedStorageWorkletOperationExecutionFinished"]: [Storage.sharedStorageWorkletOperationExecutionFinishedPayload];
["Storage.storageBucketCreatedOrUpdated"]: [Storage.storageBucketCreatedOrUpdatedPayload];
@@ -23563,7 +23499,6 @@ Error was thrown.
"Browser.setDockTile": Browser.setDockTileParameters;
"Browser.executeBrowserCommand": Browser.executeBrowserCommandParameters;
"Browser.addPrivacySandboxEnrollmentOverride": Browser.addPrivacySandboxEnrollmentOverrideParameters;
- "Browser.addPrivacySandboxCoordinatorKeyConfig": Browser.addPrivacySandboxCoordinatorKeyConfigParameters;
"CSS.addRule": CSS.addRuleParameters;
"CSS.collectClassNames": CSS.collectClassNamesParameters;
"CSS.createStyleSheet": CSS.createStyleSheetParameters;
@@ -23694,6 +23629,7 @@ Error was thrown.
"DeviceAccess.cancelPrompt": DeviceAccess.cancelPromptParameters;
"DeviceOrientation.clearDeviceOrientationOverride": DeviceOrientation.clearDeviceOrientationOverrideParameters;
"DeviceOrientation.setDeviceOrientationOverride": DeviceOrientation.setDeviceOrientationOverrideParameters;
+ "DigitalCredentials.setVirtualWalletBehavior": DigitalCredentials.setVirtualWalletBehaviorParameters;
"Emulation.canEmulate": Emulation.canEmulateParameters;
"Emulation.clearDeviceMetricsOverride": Emulation.clearDeviceMetricsOverrideParameters;
"Emulation.clearGeolocationOverride": Emulation.clearGeolocationOverrideParameters;
@@ -24021,9 +23957,6 @@ Error was thrown.
"Storage.untrackIndexedDBForStorageKey": Storage.untrackIndexedDBForStorageKeyParameters;
"Storage.getTrustTokens": Storage.getTrustTokensParameters;
"Storage.clearTrustTokens": Storage.clearTrustTokensParameters;
- "Storage.getInterestGroupDetails": Storage.getInterestGroupDetailsParameters;
- "Storage.setInterestGroupTracking": Storage.setInterestGroupTrackingParameters;
- "Storage.setInterestGroupAuctionTracking": Storage.setInterestGroupAuctionTrackingParameters;
"Storage.getSharedStorageMetadata": Storage.getSharedStorageMetadataParameters;
"Storage.getSharedStorageEntries": Storage.getSharedStorageEntriesParameters;
"Storage.setSharedStorageEntry": Storage.setSharedStorageEntryParameters;
@@ -24035,7 +23968,6 @@ Error was thrown.
"Storage.deleteStorageBucket": Storage.deleteStorageBucketParameters;
"Storage.runBounceTrackingMitigations": Storage.runBounceTrackingMitigationsParameters;
"Storage.getRelatedWebsiteSets": Storage.getRelatedWebsiteSetsParameters;
- "Storage.setProtectedAudienceKAnonymity": Storage.setProtectedAudienceKAnonymityParameters;
"SystemInfo.getInfo": SystemInfo.getInfoParameters;
"SystemInfo.getFeatureState": SystemInfo.getFeatureStateParameters;
"SystemInfo.getProcessInfo": SystemInfo.getProcessInfoParameters;
@@ -24234,7 +24166,6 @@ Error was thrown.
"Browser.setDockTile": Browser.setDockTileReturnValue;
"Browser.executeBrowserCommand": Browser.executeBrowserCommandReturnValue;
"Browser.addPrivacySandboxEnrollmentOverride": Browser.addPrivacySandboxEnrollmentOverrideReturnValue;
- "Browser.addPrivacySandboxCoordinatorKeyConfig": Browser.addPrivacySandboxCoordinatorKeyConfigReturnValue;
"CSS.addRule": CSS.addRuleReturnValue;
"CSS.collectClassNames": CSS.collectClassNamesReturnValue;
"CSS.createStyleSheet": CSS.createStyleSheetReturnValue;
@@ -24365,6 +24296,7 @@ Error was thrown.
"DeviceAccess.cancelPrompt": DeviceAccess.cancelPromptReturnValue;
"DeviceOrientation.clearDeviceOrientationOverride": DeviceOrientation.clearDeviceOrientationOverrideReturnValue;
"DeviceOrientation.setDeviceOrientationOverride": DeviceOrientation.setDeviceOrientationOverrideReturnValue;
+ "DigitalCredentials.setVirtualWalletBehavior": DigitalCredentials.setVirtualWalletBehaviorReturnValue;
"Emulation.canEmulate": Emulation.canEmulateReturnValue;
"Emulation.clearDeviceMetricsOverride": Emulation.clearDeviceMetricsOverrideReturnValue;
"Emulation.clearGeolocationOverride": Emulation.clearGeolocationOverrideReturnValue;
@@ -24692,9 +24624,6 @@ Error was thrown.
"Storage.untrackIndexedDBForStorageKey": Storage.untrackIndexedDBForStorageKeyReturnValue;
"Storage.getTrustTokens": Storage.getTrustTokensReturnValue;
"Storage.clearTrustTokens": Storage.clearTrustTokensReturnValue;
- "Storage.getInterestGroupDetails": Storage.getInterestGroupDetailsReturnValue;
- "Storage.setInterestGroupTracking": Storage.setInterestGroupTrackingReturnValue;
- "Storage.setInterestGroupAuctionTracking": Storage.setInterestGroupAuctionTrackingReturnValue;
"Storage.getSharedStorageMetadata": Storage.getSharedStorageMetadataReturnValue;
"Storage.getSharedStorageEntries": Storage.getSharedStorageEntriesReturnValue;
"Storage.setSharedStorageEntry": Storage.setSharedStorageEntryReturnValue;
@@ -24706,7 +24635,6 @@ Error was thrown.
"Storage.deleteStorageBucket": Storage.deleteStorageBucketReturnValue;
"Storage.runBounceTrackingMitigations": Storage.runBounceTrackingMitigationsReturnValue;
"Storage.getRelatedWebsiteSets": Storage.getRelatedWebsiteSetsReturnValue;
- "Storage.setProtectedAudienceKAnonymity": Storage.setProtectedAudienceKAnonymityReturnValue;
"SystemInfo.getInfo": SystemInfo.getInfoReturnValue;
"SystemInfo.getFeatureState": SystemInfo.getFeatureStateReturnValue;
"SystemInfo.getProcessInfo": SystemInfo.getProcessInfoReturnValue;
From 15b1aec478d90f0293dae7b7b6dafd494d9f0154 Mon Sep 17 00:00:00 2001
From: Matthew Goodwin <49927862+m4ttheweric@users.noreply.github.com>
Date: Fri, 31 Jul 2026 16:39:29 -0500
Subject: [PATCH 2/2] perf(mcp): skip aria snapshot capture when the response
discards it (#41923)
---
.../src/tools/backend/response.ts | 2 +-
.../playwright-core/src/tools/backend/tab.ts | 34 +++++++++++++------
2 files changed, 24 insertions(+), 12 deletions(-)
diff --git a/packages/playwright-core/src/tools/backend/response.ts b/packages/playwright-core/src/tools/backend/response.ts
index 5a35236996240..725edcdaaff78 100644
--- a/packages/playwright-core/src/tools/backend/response.ts
+++ b/packages/playwright-core/src/tools/backend/response.ts
@@ -270,7 +270,7 @@ export class Response {
addSection('Ran Playwright code', this._code, 'js');
// Render tab titles upon changes or when more than one tab.
- const tabSnapshot = this._context.currentTab() ? await this._context.currentTabOrDie().captureSnapshot(this._includeSnapshotRoot, this._includeSnapshotDepth, this._includeSnapshotBoxes, this._clientWorkspace) : undefined;
+ const tabSnapshot = this._context.currentTab() ? await this._context.currentTabOrDie().captureSnapshot(this._includeSnapshotRoot, this._includeSnapshotDepth, this._includeSnapshotBoxes, this._clientWorkspace, this._includeSnapshot !== 'none') : undefined;
const tabHeaders = await Promise.all(this._context.tabs().map(tab => tab.headerSnapshot()));
if (this._includeSnapshot !== 'none' || tabHeaders.some(header => header.changed)) {
if (tabHeaders.length !== 1)
diff --git a/packages/playwright-core/src/tools/backend/tab.ts b/packages/playwright-core/src/tools/backend/tab.ts
index 32784e31d9112..a23a6a1a91f23 100644
--- a/packages/playwright-core/src/tools/backend/tab.ts
+++ b/packages/playwright-core/src/tools/backend/tab.ts
@@ -411,19 +411,31 @@ export class Tab extends EventEmitter {
this._requests.length = 0;
}
- async captureSnapshot(root: playwright.Locator | undefined, depth: number | undefined, boxes: boolean | undefined, relativeTo: string | undefined): Promise {
+ async captureSnapshot(root: playwright.Locator | undefined, depth: number | undefined, boxes: boolean | undefined, relativeTo: string | undefined, includeAria: boolean = true): Promise {
await this._initializedPromise;
let tabSnapshot: TabSnapshot | undefined;
- const modalStates = await this._raceAgainstModalStates(async () => {
- const ariaSnapshot = root
- ? await root.ariaSnapshot({ mode: 'ai', depth, boxes })
- : await this.page.ariaSnapshot({ mode: 'ai', depth, boxes });
- tabSnapshot = {
- ariaSnapshot,
- modalStates: [],
- events: [],
- };
- });
+ let modalStates: ModalState[] = [];
+ if (includeAria) {
+ modalStates = await this._raceAgainstModalStates(async () => {
+ const ariaSnapshot = root
+ ? await root.ariaSnapshot({ mode: 'ai', depth, boxes })
+ : await this.page.ariaSnapshot({ mode: 'ai', depth, boxes });
+ tabSnapshot = {
+ ariaSnapshot,
+ modalStates: [],
+ events: [],
+ };
+ });
+ } else if (this.modalStates().length) {
+ // Matches the aria path's modal fallback below, without the race: there
+ // is no tree walk for a modal to interrupt.
+ modalStates = this.modalStates();
+ } else {
+ // The caller will not render the aria snapshot, so skip the accessibility
+ // tree walk, which dominates response latency on heavy pages. Console and
+ // events are still reported via the shared tail below.
+ tabSnapshot = { ariaSnapshot: '', modalStates: [], events: [] };
+ }
if (tabSnapshot) {
tabSnapshot.consoleLink = await this._consoleLog.take(relativeTo);
tabSnapshot.events = this._recentEventEntries;