1
1
<!DOCTYPE html><html lang="en-us" data-issue-url="https://github.com/w3c/webdriver/" data-issue-param-milestone="Level 1"><head>
2
2
<meta charset="utf-8">
3
- <meta name="generator" content="ReSpec 35.2.2 ">
3
+ <meta name="generator" content="ReSpec 35.3.1 ">
4
4
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
5
5
<style>
6
6
span.example-title{text-transform:none}
110
110
.respec-offending-element{background:url(data:image/gif;base64,R0lGODdhBAADAPEAANv///8AAP///wAAACwAAAAABAADAEACBZQjmIAFADs=) bottom repeat-x}
111
111
}
112
112
#references :target{background:#eaf3ff;animation:pop .4s ease-in-out 0s 1}
113
- cite .bibref{font-style:normal }
113
+ cite .bibref{font-style:italic }
114
114
a[href].orcid{padding-left:4px;padding-right:4px}
115
115
a[href].orcid>svg{margin-bottom:-2px}
116
116
ol.tof,ul.tof{list-style:none outside none}
176
176
.mdn .samsunginternet_android::before{background-image:url(https://www.w3.org/assets/logos/browser-logos/samsung-internet/samsung-internet.svg)}
177
177
.mdn .webview_android::before{background-image:url(https://www.w3.org/assets/logos/browser-logos/android-webview/android-webview.png)}
178
178
</style>
179
- <meta name="revision" content="30558080130e6b9e7644c3e0f75fc6a6cef304b1 ">
179
+ <meta name="revision" content="6b43932257f55d69edf4c8cfce159be2c094819a ">
180
180
<meta name="description" content="WebDriver is a remote control interface
181
181
that enables introspection and control of user agents.
182
182
It provides a platform- and language-neutral wire protocol
201
201
.hljs-link{text-decoration:underline}
202
202
</style>
203
203
<style>
204
+ var:hover{text-decoration:underline;cursor:pointer}
205
+ var.respec-hl{color:var(--color,#000);background-color:var(--bg-color);box-shadow:0 0 0 2px var(--bg-color)}
206
+ @media (prefers-color-scheme:dark){
207
+ var.respec-hl{filter:saturate(.9) brightness(.9)}
208
+ }
209
+ var.respec-hl-c1{--bg-color:#f4d200}
210
+ var.respec-hl-c2{--bg-color:#ff87a2}
211
+ var.respec-hl-c3{--bg-color:#96e885}
212
+ var.respec-hl-c4{--bg-color:#3eeed2}
213
+ var.respec-hl-c5{--bg-color:#eacfb6}
214
+ var.respec-hl-c6{--bg-color:#82ddff}
215
+ var.respec-hl-c7{--bg-color:#ffbcf2}
216
+ @media print{
217
+ var.respec-hl{background:0 0;color:#000;box-shadow:unset}
218
+ }
219
+ </style>
220
+ <style>
204
221
var{position:relative;cursor:pointer}
205
222
var[data-type]::after,var[data-type]::before{position:absolute;left:50%;top:-6px;opacity:0;transition:opacity .4s;pointer-events:none}
206
223
var[data-type]::before{content:"";transform:translateX(-50%);border-width:4px 6px 0 6px;border-style:solid;border-color:transparent;border-top-color:#222}
272
289
],
273
290
"profile": "web-platform"
274
291
},
275
- "gitRevision": "30558080130e6b9e7644c3e0f75fc6a6cef304b1 ",
276
- "publishISODate": "2025-03-06T00 :00:00.000Z",
277
- "generatedSubtitle": "W3C Editor's Draft 06 March 2025"
292
+ "gitRevision": "6b43932257f55d69edf4c8cfce159be2c094819a ",
293
+ "publishISODate": "2025-05-12T00 :00:00.000Z",
294
+ "generatedSubtitle": "W3C Editor's Draft 12 May 2025"
278
295
}</script>
279
296
<link rel="stylesheet" href="https://www.w3.org/StyleSheets/TR/2021/W3C-ED"></head><body data-cite="WEBIDL CSSOM-VIEW GEOMETRY-1 fileapi HTML INFRA URL WEBIDL DOM FETCH" class="h-entry"><div class="head">
280
297
<p class="logos"><a class="logo" href="https://www.w3.org/"><img crossorigin="" alt="W3C" height="48" src="https://www.w3.org/StyleSheets/TR/2021/logos/W3C" width="72">
281
298
</a></p>
282
299
<h1 id="title" class="title">WebDriver</h1>
283
- <p id="w3c-state"><a href="https://www.w3.org/standards/types#ED">W3C Editor's Draft</a> <time class="dt-published" datetime="2025-03-06">06 March 2025</time></p>
300
+ <p id="w3c-state"><a href="https://www.w3.org/standards/types#ED">W3C Editor's Draft</a> <time class="dt-published" datetime="2025-05-12">12 May 2025</time></p>
284
301
<details open="">
285
302
<summary>More details about this document</summary>
286
303
<dl>
@@ -360,13 +377,14 @@ <h1 id="title" class="title">WebDriver</h1>
360
377
<section id="sotd" class="introductory"><h2>Status of This Document</h2><p><em>This section describes the status of this
361
378
document at the time of its publication. A list of current <abbr title="World Wide Web Consortium">W3C</abbr>
362
379
publications and the latest revision of this technical report can be found
363
- in the <a href="https://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports index</a> at
380
+ in the
381
+ <a href="https://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> standards and drafts index</a> at
364
382
https://www.w3.org/TR/.</em></p><p>
365
383
This document was published by the <a href="https://www.w3.org/groups/wg/browser-tools-testing">Browser Testing and Tools Working Group</a> as
366
384
an Editor's Draft.
367
385
</p><p>Publication as an Editor's Draft does not
368
386
imply endorsement by <abbr title="World Wide Web Consortium">W3C</abbr> and its Members. </p><p>
369
- This is a draft document and may be updated, replaced or obsoleted by other
387
+ This is a draft document and may be updated, replaced, or obsoleted by other
370
388
documents at any time. It is inappropriate to cite this document as other
371
389
than work in progress.
372
390
@@ -14228,13 +14246,13 @@ <h1 id="title" class="title">WebDriver</h1>
14228
14246
<dl class="bibliography"><dt id="bib-accname-1.1">[accname-1.1]</dt><dd>
14229
14247
<a href="https://www.w3.org/TR/accname-1.1/"><cite>Accessible Name and Description Computation 1.1</cite></a>. Joanmarie Diggs; Bryan Garaventa; Michael Cooper. W3C. 18 December 2018. W3C Recommendation. URL: <a href="https://www.w3.org/TR/accname-1.1/">https://www.w3.org/TR/accname-1.1/</a>
14230
14248
</dd><dt id="bib-csp3">[CSP3]</dt><dd>
14231
- <a href="https://www.w3.org/TR/CSP3/"><cite>Content Security Policy Level 3</cite></a>. Mike West; Antonio Sartori. W3C. 6 February 2025. W3C Working Draft. URL: <a href="https://www.w3.org/TR/CSP3/">https://www.w3.org/TR/CSP3/</a>
14249
+ <a href="https://www.w3.org/TR/CSP3/"><cite>Content Security Policy Level 3</cite></a>. Mike West; Antonio Sartori. W3C. 30 April 2025. W3C Working Draft. URL: <a href="https://www.w3.org/TR/CSP3/">https://www.w3.org/TR/CSP3/</a>
14232
14250
</dd><dt id="bib-css-cascade-4">[CSS-CASCADE-4]</dt><dd>
14233
14251
<a href="https://www.w3.org/TR/css-cascade-4/"><cite>CSS Cascading and Inheritance Level 4</cite></a>. Elika Etemad; Tab Atkins Jr. W3C. 13 January 2022. W3C Candidate Recommendation. URL: <a href="https://www.w3.org/TR/css-cascade-4/">https://www.w3.org/TR/css-cascade-4/</a>
14234
14252
</dd><dt id="bib-css-device-adapt">[CSS-DEVICE-ADAPT]</dt><dd>
14235
14253
<a href="https://www.w3.org/TR/css-device-adapt-1/"><cite>CSS Device Adaptation Module Level 1</cite></a>. Rune Lillesveen; Florian Rivoal; Matt Rakow. W3C. 29 March 2016. W3C Working Draft. URL: <a href="https://www.w3.org/TR/css-device-adapt-1/">https://www.w3.org/TR/css-device-adapt-1/</a>
14236
14254
</dd><dt id="bib-css21">[CSS21]</dt><dd>
14237
- <a href="https://www.w3.org/TR/CSS21 /"><cite>Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification</cite></a>. Bert Bos; Tantek Çelik; Ian Hickson; Håkon Wium Lie. W3C. 7 June 2011. W3C Recommendation. URL: <a href="https://www.w3.org/TR/CSS21 /">https://www.w3.org/TR/CSS21 /</a>
14255
+ <a href="https://www.w3.org/TR/CSS2 /"><cite>Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification</cite></a>. Bert Bos; Tantek Çelik; Ian Hickson; Håkon Wium Lie. W3C. 7 June 2011. W3C Recommendation. URL: <a href="https://www.w3.org/TR/CSS2 /">https://www.w3.org/TR/CSS2 /</a>
14238
14256
</dd><dt id="bib-css3-box">[CSS3-BOX]</dt><dd>
14239
14257
<a href="https://www.w3.org/TR/css-box-3/"><cite>CSS Box Model Module Level 3</cite></a>. Elika Etemad. W3C. 11 April 2024. W3C Recommendation. URL: <a href="https://www.w3.org/TR/css-box-3/">https://www.w3.org/TR/css-box-3/</a>
14240
14258
</dd><dt id="bib-css3-display">[CSS3-DISPLAY]</dt><dd>
@@ -14308,7 +14326,7 @@ <h1 id="title" class="title">WebDriver</h1>
14308
14326
</dd><dt id="bib-ui-events">[UI-EVENTS]</dt><dd>
14309
14327
<a href="https://www.w3.org/TR/uievents/"><cite>UI Events</cite></a>. Gary Kacmarcik; Travis Leithead. W3C. 7 September 2024. W3C Working Draft. URL: <a href="https://www.w3.org/TR/uievents/">https://www.w3.org/TR/uievents/</a>
14310
14328
</dd><dt id="bib-uievents-key">[UIEVENTS-KEY]</dt><dd>
14311
- <a href="https://www.w3.org/TR/uievents-key/"><cite>UI Events KeyboardEvent key Values</cite></a>. Travis Leithead; Gary Kacmarcik. W3C. 26 November 2024 . W3C Proposed Recommendation. URL: <a href="https://www.w3.org/TR/uievents-key/">https://www.w3.org/TR/uievents-key/</a>
14329
+ <a href="https://www.w3.org/TR/uievents-key/"><cite>UI Events KeyboardEvent key Values</cite></a>. Travis Leithead; Gary Kacmarcik. W3C. 22 April 2025 . W3C Recommendation. URL: <a href="https://www.w3.org/TR/uievents-key/">https://www.w3.org/TR/uievents-key/</a>
14312
14330
</dd><dt id="bib-unicode">[Unicode]</dt><dd>
14313
14331
<a href="https://www.unicode.org/versions/latest/"><cite>The Unicode Standard</cite></a>. Unicode Consortium. URL: <a href="https://www.unicode.org/versions/latest/">https://www.unicode.org/versions/latest/</a>
14314
14332
</dd><dt id="bib-uri-template">[URI-TEMPLATE]</dt><dd>
@@ -14318,7 +14336,7 @@ <h1 id="title" class="title">WebDriver</h1>
14318
14336
</dd><dt id="bib-wai-aria-1.2">[wai-aria-1.2]</dt><dd>
14319
14337
<a href="https://www.w3.org/TR/wai-aria-1.2/"><cite>Accessible Rich Internet Applications (WAI-ARIA) 1.2</cite></a>. Joanmarie Diggs; James Nurthen; Michael Cooper; Carolyn MacLeod. W3C. 6 June 2023. W3C Recommendation. URL: <a href="https://www.w3.org/TR/wai-aria-1.2/">https://www.w3.org/TR/wai-aria-1.2/</a>
14320
14338
</dd><dt id="bib-webdriver-bidi">[WebDriver-BiDi]</dt><dd>
14321
- <a href="https://www.w3.org/TR/webdriver-bidi/"><cite>WebDriver BiDi</cite></a>. James Graham; Alex Rudenko; Maksim Sadym. W3C. 6 March 2025. W3C Working Draft. URL: <a href="https://www.w3.org/TR/webdriver-bidi/">https://www.w3.org/TR/webdriver-bidi/</a>
14339
+ <a href="https://www.w3.org/TR/webdriver-bidi/"><cite>WebDriver BiDi</cite></a>. James Graham; Alex Rudenko; Maksim Sadym. W3C. 12 May 2025. W3C Working Draft. URL: <a href="https://www.w3.org/TR/webdriver-bidi/">https://www.w3.org/TR/webdriver-bidi/</a>
14322
14340
</dd><dt id="bib-webidl">[WEBIDL]</dt><dd>
14323
14341
<a href="https://webidl.spec.whatwg.org/"><cite>Web IDL Standard</cite></a>. Edgar Chen; Timothy Gu. WHATWG. Living Standard. URL: <a href="https://webidl.spec.whatwg.org/">https://webidl.spec.whatwg.org/</a>
14324
14342
</dd><dt id="bib-xpath">[XPATH]</dt><dd>
@@ -25834,7 +25852,104 @@ <h1 id="title" class="title">WebDriver</h1>
25834
25852
<a href="#ref-for-index-term-resolve-2" title="§ 13.2.2 Execute Async Script">§ 13.2.2 Execute Async Script</a>
25835
25853
</li>
25836
25854
</ul>
25837
- </div><script id="respec-dfn-panel">(() => {
25855
+ </div><script id="respec-highlight-vars">(() => {
25856
+ // @ts-check
25857
+
25858
+ if (document.respec) {
25859
+ document.respec.ready.then(setupVarHighlighter);
25860
+ } else {
25861
+ setupVarHighlighter();
25862
+ }
25863
+
25864
+ function setupVarHighlighter() {
25865
+ document
25866
+ .querySelectorAll("var")
25867
+ .forEach(varElem => varElem.addEventListener("click", highlightListener));
25868
+ }
25869
+
25870
+ function highlightListener(ev) {
25871
+ ev.stopPropagation();
25872
+ const { target: varElem } = ev;
25873
+ const hightligtedElems = highlightVars(varElem);
25874
+ const resetListener = () => {
25875
+ const hlColor = getHighlightColor(varElem);
25876
+ hightligtedElems.forEach(el => removeHighlight(el, hlColor));
25877
+ [...HL_COLORS.keys()].forEach(key => HL_COLORS.set(key, true));
25878
+ };
25879
+ if (hightligtedElems.length) {
25880
+ document.body.addEventListener("click", resetListener, { once: true });
25881
+ }
25882
+ }
25883
+
25884
+ // availability of highlight colors. colors from var.css
25885
+ const HL_COLORS = new Map([
25886
+ ["respec-hl-c1", true],
25887
+ ["respec-hl-c2", true],
25888
+ ["respec-hl-c3", true],
25889
+ ["respec-hl-c4", true],
25890
+ ["respec-hl-c5", true],
25891
+ ["respec-hl-c6", true],
25892
+ ["respec-hl-c7", true],
25893
+ ]);
25894
+
25895
+ function getHighlightColor(target) {
25896
+ // return current colors if applicable
25897
+ const { value } = target.classList;
25898
+ const re = /respec-hl-\w+/;
25899
+ const activeClass = re.test(value) && value.match(re);
25900
+ if (activeClass) return activeClass[0];
25901
+
25902
+ // first color preference
25903
+ if (HL_COLORS.get("respec-hl-c1") === true) return "respec-hl-c1";
25904
+
25905
+ // otherwise get some other available color
25906
+ return [...HL_COLORS.keys()].find(c => HL_COLORS.get(c)) || "respec-hl-c1";
25907
+ }
25908
+
25909
+ function highlightVars(varElem) {
25910
+ const textContent = norm(varElem.textContent);
25911
+ const parent = varElem.closest(".algorithm, section");
25912
+ const highlightColor = getHighlightColor(varElem);
25913
+
25914
+ const varsToHighlight = [...parent.querySelectorAll("var")].filter(
25915
+ el =>
25916
+ norm(el.textContent) === textContent &&
25917
+ el.closest(".algorithm, section") === parent
25918
+ );
25919
+
25920
+ // update availability of highlight color
25921
+ const colorStatus = varsToHighlight[0].classList.contains("respec-hl");
25922
+ HL_COLORS.set(highlightColor, colorStatus);
25923
+
25924
+ // highlight vars
25925
+ if (colorStatus) {
25926
+ varsToHighlight.forEach(el => removeHighlight(el, highlightColor));
25927
+ return [];
25928
+ } else {
25929
+ varsToHighlight.forEach(el => addHighlight(el, highlightColor));
25930
+ }
25931
+ return varsToHighlight;
25932
+ }
25933
+
25934
+ function removeHighlight(el, highlightColor) {
25935
+ el.classList.remove("respec-hl", highlightColor);
25936
+ // clean up empty class attributes so they don't come in export
25937
+ if (!el.classList.length) el.removeAttribute("class");
25938
+ }
25939
+
25940
+ function addHighlight(elem, highlightColor) {
25941
+ elem.classList.add("respec-hl", highlightColor);
25942
+ }
25943
+
25944
+ /**
25945
+ * Same as `norm` from src/core/utils, but our build process doesn't allow
25946
+ * imports in runtime scripts, so duplicated here.
25947
+ * @param {string} str
25948
+ */
25949
+ function norm(str) {
25950
+ return str.trim().replace(/\s+/g, " ");
25951
+ }
25952
+ })()</script><script id="respec-dfn-panel">(() => {
25838
25953
// @ts-check
25839
25954
if (document.respec) {
25840
25955
document.respec.ready.then(setupPanel);
0 commit comments