From c956229eac7dc0257ea78899b0643709e4a676cf Mon Sep 17 00:00:00 2001 From: Maksim Sadym Date: Wed, 21 Jan 2026 12:00:12 +0100 Subject: [PATCH 1/3] `emulation.setClientHintsOverride` -> `userAgentClientHints.setClientHintsOverride` --- index.bs | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/index.bs b/index.bs index a3904f0..dbb1678 100644 --- a/index.bs +++ b/index.bs @@ -1048,7 +1048,7 @@ Definitions {#automation-definitions}
 UserAgentClientHintsCommand = (
-  emulation.SetClientHintsOverrideCommand
+  userAgentClientHints.SetClientHintsOverrideCommand
 )
 
@@ -1082,28 +1082,28 @@ A [=User agent=] has emulated client hints, which is a [=struct=] wit * [=struct/item=] named emulated client hints per navigables, which is a weak map between [=/navigables=] and [=user agent client hints=], initially empty. -The emulation.setClientHintsOverride command {#emulation-setclienthintsoverride} +The userAgentClientHints.setClientHintsOverride command {#emulation-setclienthintsoverride} ---------------- -The emulation.setClientHintsOverride command sets or removes +The userAgentClientHints.setClientHintsOverride command sets or removes emulated user agent client hints for a list of [=/navigables=] or [=user context=], or globally.
Command Type
-        emulation.SetClientHintsOverrideCommand = {
-            method: "emulation.setClientHintsOverride",
+        userAgentClientHints.SetClientHintsOverrideCommand = {
+            method: "userAgentClientHints.setClientHintsOverride",
             params: {
-                clientHints: emulation.ClientHintsMetadata / null,
+                clientHints: userAgentClientHints.ClientHintsMetadata / null,
                 ? contexts: [+text],
                 ? userContexts: [+text],
             }
         }
 
-        emulation.ClientHintsMetadata = {
-            ? brands: [* emulation.BrandVersion],
-            ? fullVersionList: [* emulation.BrandVersion],
+        userAgentClientHints.ClientHintsMetadata = {
+            ? brands: [* userAgentClientHints.BrandVersion],
+            ? fullVersionList: [* userAgentClientHints.BrandVersion],
             ? platform: text,
             ? platformVersion: text,
             ? architecture: text,
@@ -1114,7 +1114,7 @@ emulated user agent client hints for a list of [=/navigables=] or [=user context
             ? formFactors: [* text];
         }
 
-        emulation.BrandVersion = {
+        userAgentClientHints.BrandVersion = {
             brand: text,
             version: text
         }
@@ -1123,7 +1123,7 @@ emulated user agent client hints for a list of [=/navigables=] or [=user context
    
Return Type
-      emulation.SetClientHintsOverrideResult = {}
+      userAgentClientHints.SetClientHintsOverrideResult = {}
       
@@ -1159,7 +1159,7 @@ The emulated UA Client Hints associated with [=environment set -
+
The [=remote end steps=] given |command parameters| are: From 157f78d408a7291dff4dbb3e16f8a98acd1f36ca Mon Sep 17 00:00:00 2001 From: Maksim Sadym Date: Wed, 21 Jan 2026 14:27:18 +0100 Subject: [PATCH 2/3] Addressing comments from PR --- index.bs | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/index.bs b/index.bs index dbb1678..0e120cd 100644 --- a/index.bs +++ b/index.bs @@ -468,11 +468,6 @@ has defined a number of properties for itself: any other [=equivalence classes=] full version). * wow64-ness - A boolean indicating if the [=user agent=]'s binary is running in 32-bit mode on 64-bit Windows. (e.g., ?0 or ?1) -Whenever the Client Hints are requested for the given [=environment settings object=], -|environment settings|, if [=emulated UA Client Hints=] associated with the |environment settings| -is not null, return the corresponding value from the [=emulated UA Client Hints=] instead of the -default value for the requested property. - [=User agents=] SHOULD keep these strings short and to the point, but servers MUST accept arbitrary values for each, as they are all values constructed at the [=user agent=]'s whim. @@ -500,9 +495,18 @@ privacy, compatibility, or other reasons, given a request for any the following [=user agent/full version=], [=user agent/platform architecture=], [=user agent/platform bitness=], [=user agent/wow64-ness=] or [=user agent/model=]. -If the [=user agent=]'s [=emulated client hints=] is not null, the [=user agent=] MUST -return the corresponding value from the [=emulated client hints=] instead of the default -value for the requested property. +
+Whenever the Client Hints property |property| is requested for the given [=environment settings object=] +|environment settings|, run the following steps: + +1. Let |emulated client hints| be [=emulated UA Client Hints=] associated with for |environment settings|. + +1. If |emulated client hints| is not null and |emulated client hints|'s |property| is not undefined, + return |emulated client hints|'s |property|. + +1. Return the implementation-defined value of |property|. + +
The 'Sec-CH-UA' Header Field {#sec-ch-ua} ---------------------------- @@ -1043,6 +1047,8 @@ The toJSON() method MUST run th Automation {#automation} ======================== +For the purposes of user-agent automation and application testing, this document defines extensions to the [[WebDriver-BiDi]] specification. + Definitions {#automation-definitions} ---------------------- @@ -1057,22 +1063,16 @@ A brand version is a [=struct=] with: * [=struct/item=] named version, which is a string. An user agent client hints is a [=struct=] with: -* [=struct/item=] named brands, which is a list of - [=brand version=] pairs or null; -* [=struct/item=] named full version, which is a string or - null; -* [=struct/item=] named full version list, which is a list - of [=brand version=] or null; -* [=struct/item=] named mobile, which is a boolean or null; -* [=struct/item=] named model, which is a string or null; -* [=struct/item=] named platform, which is a string or - null; -* [=struct/item=] named platform version, which is a string - or null; -* [=struct/item=] named architecture, which is a string or - null; -* [=struct/item=] named bitness, which is a string or null; -* [=struct/item=] named wow64, which is a boolean or null. +* [=struct/item=] named brands, which is a list of[=brand version=] pairs or undefined, initially undefined; +* [=struct/item=] named full version, which is a string or undefined, initially undefined; +* [=struct/item=] named full version list, which is a list of [=brand version=] or undefined, initially undefined; +* [=struct/item=] named mobile, which is a boolean or undefined, initially undefined; +* [=struct/item=] named model, which is a string or undefined, initially undefined; +* [=struct/item=] named platform, which is a string or undefined, initially undefined; +* [=struct/item=] named platform version, which is a string or undefined, initially undefined; +* [=struct/item=] named architecture, which is a string or undefined, initially undefined; +* [=struct/item=] named bitness, which is a string or undefined, initially undefined; +* [=struct/item=] named wow64, which is a boolean or undefined, initially undefined. A [=User agent=] has emulated client hints, which is a [=struct=] with: * [=struct/item=] named default emulated client hints, which From e85e188b208f0ac1a4406f432daa97a012f7468e Mon Sep 17 00:00:00 2001 From: Maksim Sadym Date: Thu, 22 Jan 2026 10:49:31 +0100 Subject: [PATCH 3/3] use term `remot end` --- index.bs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/index.bs b/index.bs index 0e120cd..b40467b 100644 --- a/index.bs +++ b/index.bs @@ -59,6 +59,9 @@ urlPrefix: https://w3c.github.io/webdriver-bidi/; spec: webdriver-bidi text: user context; url: #user-context text: get valid top-level traversables by ids; url: #get-valid-top-level-traversables-by-ids text: get valid user contexts; url: #get-valid-user-contexts +urlPrefix: https://w3c.github.io/webdriver/; spec: webdriver + type: dfn + text: remote end; url: #dfn-remote-ends
@@ -1074,9 +1077,9 @@ An user agent client hints is a [=struct=] with:
 * [=struct/item=] named bitness, which is a string or undefined, initially undefined;
 * [=struct/item=] named wow64, which is a boolean or undefined, initially undefined.
 
-A [=User agent=] has emulated client hints, which is a [=struct=] with:
-* [=struct/item=] named default emulated client hints, which
-    is an [=user agent client hints=] or null, initially null;
+A [=remote end=] has associated emulated client hints, which is a [=struct=] with:
+* [=struct/item=] named default emulated client hints,
+    which is a [=user agent client hints=] or null, initially null;
 * [=struct/item=] named emulated client hints per user contexts,
     which is a weak map between [=user context=] and [=user agent client hints=], initially empty;
 * [=struct/item=] named emulated client hints per navigables,