From 426e4b3e2cf3b586bbe6ddfe216c05fd35a9df10 Mon Sep 17 00:00:00 2001
From: Maksim Sadym
Date: Tue, 19 Aug 2025 12:45:51 +0200
Subject: [PATCH 1/5] [WebDriver BiDi] emulate `user-agent` string
# Conflicts:
# source
---
source | 25 ++++++++++++++++++-------
1 file changed, 18 insertions(+), 7 deletions(-)
diff --git a/source b/source
index bf6b1fb9326..027da0afc7c 100644
--- a/source
+++ b/source
@@ -4645,6 +4645,7 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
navigation status complete
navigation status url
navigation status suggested filename
+ WebDriver BiDi emulated User-Agent
WebDriver BiDi navigation aborted
WebDriver BiDi navigation committed
WebDriver BiDi navigation failed
@@ -121071,12 +121072,12 @@ interface Navigator {
data-x="dom-navigator-appVersion">appVersion getter steps are:
- If the default `User-Agent`
- value does not start with `Mozilla/5.0 (`, then return the empty
- string.
+ - Let userAgent be userAgent.
+
+ If the userAgent does not start with `Mozilla/5.0 (`,
+ then return the empty string.
- Let trail be the substring of the default `User-Agent` value, Let trail be the substring of the userAgent, isomorphic decoded, that follows the "Mozilla/" prefix.
@@ -121126,8 +121127,18 @@ interface Navigator {
The userAgent
- getter steps are to return the default `User-Agent`
- value.
+ getter steps are:
+
+
+ Let emulatedUserAgent be the result of WebDriver BiDi emulated
+ User-Agent with this's relevant settings object.
+
+ If emulatedUserAgent is not null, then return
+ emulatedUserAgent.
+
+ Return default `User-Agent`
+ value.
+
The vendor
getter steps are to return the appropriate string from the following list:
From 0e0ab1f690b039670aac5b08543b1cf985dab3e4 Mon Sep 17 00:00:00 2001
From: Maksim Sadym
Date: Tue, 16 Sep 2025 15:13:11 +0200
Subject: [PATCH 2/5] environment-default-user-agent-value
---
source | 27 ++++++++-------------------
1 file changed, 8 insertions(+), 19 deletions(-)
diff --git a/source b/source
index 027da0afc7c..15f57c29f9b 100644
--- a/source
+++ b/source
@@ -2603,7 +2603,7 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
- A local scheme
- A fetch scheme
- CORS protocol
- - default `
User-Agent` value
+ - environment default `
User-Agent` value
- extract a MIME type
- legacy extract an encoding
- fetch
@@ -4645,7 +4645,6 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
- navigation status complete
- navigation status url
- navigation status suggested filename
- - WebDriver BiDi emulated User-Agent
- WebDriver BiDi navigation aborted
- WebDriver BiDi navigation committed
- WebDriver BiDi navigation failed
@@ -121072,12 +121071,12 @@ interface Navigator {
data-x="dom-navigator-appVersion">appVersion getter steps are:
- - Let userAgent be userAgent.
-
- If the userAgent does not start with `Mozilla/5.0 (`,
- then return the empty string.
+ If the default `User-Agent`
+ value does not start with `Mozilla/5.0 (`, then return the empty
+ string.
- Let trail be the substring of the userAgent, Let trail be the substring of the default `User-Agent` value, isomorphic decoded, that follows the "Mozilla/" prefix.
@@ -121127,18 +121126,8 @@ interface Navigator {
The userAgent
- getter steps are:
-
-
- Let emulatedUserAgent be the result of WebDriver BiDi emulated
- User-Agent with this's relevant settings object.
-
- If emulatedUserAgent is not null, then return
- emulatedUserAgent.
-
- Return default `User-Agent`
- value.
-
+ getter steps are to return this's relevant settings object's environment default `User-Agent` value.
The vendor
getter steps are to return the appropriate string from the following list:
From cce8b40ed1048110a743585d584bec9eccbabd99 Mon Sep 17 00:00:00 2001
From: Maksim Sadym
Date: Tue, 16 Sep 2025 15:30:51 +0200
Subject: [PATCH 3/5] default-user-agent-value
---
source | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/source b/source
index 15f57c29f9b..7313c4ec1f9 100644
--- a/source
+++ b/source
@@ -2603,7 +2603,7 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
- A local scheme
- A fetch scheme
- CORS protocol
- - environment default `
User-Agent` value
+ - default `
User-Agent` value
- extract a MIME type
- legacy extract an encoding
- fetch
@@ -121071,9 +121071,9 @@ interface Navigator {
data-x="dom-navigator-appVersion">appVersion getter steps are:
- If the default `User-Agent`
- value does not start with `Mozilla/5.0 (`, then return the empty
- string.
+ If the this's relevant settings object's default `User-Agent` value does not start
+ with `Mozilla/5.0 (`, then return the empty string.
Let trail be the substring of the default `User-Agent` value, Navigator {
The userAgent
getter steps are to return this's relevant settings object's environment default `User-Agent` value.
+ data-x="default-user-agent-value">default `User-Agent` value.
The vendor
getter steps are to return the appropriate string from the following list:
From 61f651fa53e30fe272c6bac648627dcb5d851eb6 Mon Sep 17 00:00:00 2001
From: Maksim Sadym
Date: Tue, 16 Sep 2025 15:50:48 +0200
Subject: [PATCH 4/5] environment-default-user-agent-value
---
source | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/source b/source
index 7313c4ec1f9..2eff9f28c82 100644
--- a/source
+++ b/source
@@ -2603,7 +2603,7 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
- A local scheme
- A fetch scheme
- CORS protocol
- - default `
User-Agent` value
+ - environment default `
User-Agent` value
- extract a MIME type
- legacy extract an encoding
- fetch
@@ -121071,13 +121071,14 @@ interface Navigator {
data-x="dom-navigator-appVersion">appVersion getter steps are:
- If the this's relevant settings object's default `User-Agent` value does not start
- with `Mozilla/5.0 (`, then return the empty string.
+ If this's relevant settings object's environment default `User-Agent` value
+ does not start with `Mozilla/5.0 (`, then return the empty string.
- Let trail be the substring of the default `User-Agent` value, isomorphic decoded, that follows the "Let trail be the substring of this's
+ relevant settings object's environment default `User-Agent` value,
+ isomorphic decoded, that follows the "Mozilla/" prefix.
-
@@ -121127,7 +121128,7 @@ interface Navigator {
The userAgent
getter steps are to return this's relevant settings object's default `User-Agent` value.
+ data-x="environment-default-user-agent-value">environment default `User-Agent` value.
The vendor
getter steps are to return the appropriate string from the following list:
From 454950bad40044ff0ace00c7cda764f1ae10f093 Mon Sep 17 00:00:00 2001
From: Maksim Sadym
Date: Wed, 17 Sep 2025 09:46:22 +0200
Subject: [PATCH 5/5] userAgent in appVersion
---
source | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/source b/source
index 2eff9f28c82..49e33c947eb 100644
--- a/source
+++ b/source
@@ -121071,14 +121071,15 @@ interface Navigator {
data-x="dom-navigator-appVersion">appVersion getter steps are:
- If this's relevant settings object's environment default `User-Agent` value
- does not start with `Mozilla/5.0 (`, then return the empty string.
-
- Let trail be the substring of this's
- relevant settings object's environment default `User-Agent` value,
- isomorphic decoded, that follows the "Let userAgent be this's relevant settings object's
+ environment default `User-Agent`
+ value.
+
+ If userAgent does not start with `Mozilla/5.0 (`, then
+ return the empty string.
+
+ Let trail be the substring of userAgent, isomorphic decoded, that follows the "Mozilla/" prefix.
-