@@ -5955,6 +5955,7 @@ EmulationCommand = (
59555955 emulation.SetScreenOrientationOverride //
59565956 emulation.SetScriptingEnabled //
59575957 emulation.SetTimezoneOverride //
5958+ emulation.SetTouchEventsEnabled //
59585959 emulation.SetUserAgentOverride
59595960)
59605961
@@ -5968,6 +5969,7 @@ EmulationResult = (
59685969 emulation.SetScreenOrientationOverrideResult /
59695970 emulation.SetScriptingEnabledResult /
59705971 emulation.SetTimezoneOverrideResult /
5972+ emulation.SetTouchEventsEnabledResult /
59715973 emulation.SetUserAgentOverrideResult
59725974)
59735975</pre>
@@ -5981,6 +5983,15 @@ between [=user contexts=] and string, and an [=struct/item=] named
59815983<dfn for="emulated user agent">navigable user agent</dfn> , which is a weak map
59825984between [=navigables=] and string.
59835985
5986+ A [=BiDi session=] has <dfn for=session>emulated touch events state</dfn> which is a
5987+ [=struct=] with
5988+ an [=struct/item=] named <dfn for="emulated touch events state">default state</dfn>
5989+ which is a boolean or null, initially null;
5990+ an [=struct/item=] named <dfn for="emulated touch events state">user context state</dfn> ,
5991+ which is a weak map between [=user contexts=] and boolean, initially empty;
5992+ and an [=struct/item=] named <dfn for="emulated touch events state">navigable state</dfn> ,
5993+ which is a weak map between [=navigables=] and boolean, initially empty.
5994+
59845995A [=remote end=] has a <dfn>forced colors mode theme overrides map</dfn> which is a weak map
59855996between [=user contexts=] and string or null.
59865997
@@ -6911,6 +6922,127 @@ The [=remote end steps=] with |command parameters| are:
69116922
69126923</div>
69136924
6925+ #### The emulation.setTouchEventsEnabled Command #### {#command-emulation-setTouchEventsEnabled}
6926+
6927+ The <dfn export for=commands>emulation.setTouchEventsEnabled</dfn> command emulates
6928+ enabled touch events on web pages.
6929+
6930+ <dl>
6931+ <dt> Command Type</dt>
6932+ <dd>
6933+ <pre class="cddl" data-cddl-module="remote-cddl">
6934+ emulation.SetTouchEventsEnabled = (
6935+ method: "emulation.setTouchEventsEnabled",
6936+ params: emulation.SetTouchEventsEnabledParameters
6937+ )
6938+
6939+ emulation.SetTouchEventsEnabledParameters = {
6940+ enabled: true / null,
6941+ ? contexts: [+browsingContext.BrowsingContext] ,
6942+ ? userContexts: [+browser.UserContext] ,
6943+ }
6944+ </pre>
6945+ </dd>
6946+ <dt> Return Type</dt>
6947+ <dd>
6948+ <pre class="cddl" data-cddl-module="local-cddl">
6949+ emulation.SetTouchEventsEnabledResult = EmptyResult
6950+ </pre>
6951+ </dd>
6952+ </dl>
6953+
6954+ <div algorithm>
6955+ The <dfn export>WebDriver BiDi touch events enabled</dfn> steps given
6956+ [=environment settings object=] |environment settings| are:
6957+
6958+ 1. Let |related navigables| be the result of [=get related navigables=] with
6959+ |environment settings|.
6960+
6961+ 1. For each |navigable| of |related navigables|:
6962+
6963+ 1. Let |top-level navigable| be |navigable|'s [=navigable/top-level traversable=] .
6964+
6965+ 1. Let |user context| be |top-level navigable|'s [=associated user context=] .
6966+
6967+ 1. For each |session| in [=active BiDi sessions=] :
6968+
6969+ 1. If |session|'s [=session/emulated touch events state=]' s
6970+ [=emulated touch events state/navigable state=] contains
6971+ |top-level navigable|, return |session|'s
6972+ [=session/emulated touch events state=] 's
6973+ [=emulated touch events state/navigable state=] [|top-level navigable|] .
6974+
6975+ 1. For each |session| in [=active BiDi sessions=] :
6976+
6977+ 1. If |session|'s [=session/emulated touch events state=]' s
6978+ [=emulated touch events state/user context state=] contains |user context|,
6979+ return |session|'s [=session/emulated touch events state=]' s
6980+ [=emulated touch events state/user context state=] [|user context|] .
6981+
6982+ 1. For each |session| in [=active BiDi sessions=] :
6983+
6984+ 1. Let |emulated touch events state| be |session|'s
6985+ [=session/emulated touch events state=] 's
6986+ [=emulated touch events state/default state=] .
6987+
6988+ 1. If |emulated touch events state| is not null, return
6989+ |emulated touch events state|.
6990+
6991+ 1. Return null.
6992+
6993+ </div>
6994+
6995+ <div algorithm="remote end steps for emulation.setTouchEventsEnabled">
6996+
6997+ The [=remote end steps=] with |session| and |command parameters| are:
6998+
6999+ 1. If |command parameters| [=map/contains=] "<code> userContexts</code> " and
7000+ |command parameters| [=map/contains=] "<code> contexts</code> ", return [=error=]
7001+ with [=error code=] [=invalid argument=] .
7002+
7003+ 1. Let |enabled| be |command parameters|["<code>enabled</code>"] .
7004+
7005+ 1. If the <code> contexts</code> field of |command parameters| is present:
7006+
7007+ 1. Let |navigables| be the result of [=trying=] to
7008+ [=get valid top-level traversables by ids=] with
7009+ |command parameters|["<code>contexts</code>"] .
7010+
7011+ 1. For each |navigable| of |navigables|:
7012+
7013+ 1. If |enabled| is null, [=map/remove=] |navigable| from |session|'s
7014+ [=session/emulated touch events state=] 's
7015+ [=emulated touch events state/navigable state=] .
7016+
7017+ 1. Otherwise, [=map/set=] |session|'s [=session/emulated touch events state=]' s
7018+ [=emulated touch events state/navigable state=] [|navigable|] to |enabled|.
7019+
7020+ 1. Return [=success=] with data null.
7021+
7022+ 1. If the <code> userContexts</code> field of |command parameters| is present:
7023+
7024+ 1. Let |user contexts| be the result of [=trying=] to [=get valid user contexts=]
7025+ with |command parameters|["<code>userContexts</code>"] .
7026+
7027+ 1. For each |user context| of |user contexts|:
7028+
7029+ 1. If |enabled| is null, [=map/remove=] |user context| from |session|'s
7030+ [=session/emulated touch events state=] 's
7031+ [=emulated touch events state/user context state=] .
7032+
7033+ 1. Otherwise [=map/set=] |session|'s [=session/emulated touch events state=]' s
7034+ [=emulated touch events state/user context state=] [|user context|] to
7035+ |enabled|.
7036+
7037+ 1. Return [=success=] with data null.
7038+
7039+ 1. Set |session|'s [=session/emulated touch events state=]' s
7040+ [=emulated touch events state/default state=] to |enabled|.
7041+
7042+ 1. Return [=success=] with data null.
7043+
7044+ </div>
7045+
69147046## The network Module ## {#module-network}
69157047
69167048The <dfn export for=modules>network</dfn> module contains commands and events
0 commit comments