From 97c3235142da30a773535283d93ddb16d289b3f8 Mon Sep 17 00:00:00 2001 From: Mattias Buelens Date: Tue, 4 Aug 2020 22:53:22 +0200 Subject: [PATCH 01/13] Strip header from WebIDL blocks --- src/idlfetcher.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/idlfetcher.ts b/src/idlfetcher.ts index d956b125d..05ea14340 100644 --- a/src/idlfetcher.ts +++ b/src/idlfetcher.ts @@ -71,6 +71,9 @@ function extractIDL(dom: DocumentFragment) { } return !previous.classList.contains("atrisk") && !previous.textContent!.includes("IDL Index"); }); + elements.forEach(el => { + el.querySelector("span.idlHeader")?.remove(); + }); return elements.map(element => trimCommonIndentation(element.textContent!).trim()).join('\n\n'); } From 847eea9cc07926e8fa2015f8f29332305e4f4ecb Mon Sep 17 00:00:00 2001 From: Mattias Buelens Date: Tue, 4 Aug 2020 22:41:58 +0200 Subject: [PATCH 02/13] Update IDL --- inputfiles/idl/CSS Inline Layout.widl | 4 +- inputfiles/idl/CSS Object Model.widl | 12 +- inputfiles/idl/CSSOM View.widl | 63 +++-- inputfiles/idl/Clipboard.widl | 4 +- inputfiles/idl/Console.widl | 38 +-- inputfiles/idl/DOM.widl | 90 +++---- inputfiles/idl/Encoding.commentmap.json | 8 +- inputfiles/idl/Fetch.widl | 13 +- inputfiles/idl/File.widl | 12 +- inputfiles/idl/Fullscreen.widl | 4 +- inputfiles/idl/Geolocation.widl | 12 +- inputfiles/idl/HTML - Canvas.widl | 94 +++---- .../idl/HTML - Common DOM interfaces.widl | 6 +- inputfiles/idl/HTML - Communication.widl | 2 +- inputfiles/idl/HTML - Custom elements.widl | 12 +- inputfiles/idl/HTML - DOM.widl | 16 +- inputfiles/idl/HTML - Drag and drop.widl | 19 +- inputfiles/idl/HTML - Embedded content.widl | 2 +- .../HTML - Form control infrastructure.widl | 16 +- inputfiles/idl/HTML - Form elements.widl | 26 +- inputfiles/idl/HTML - Forms.widl | 6 +- inputfiles/idl/HTML - Grouping content.widl | 18 ++ inputfiles/idl/HTML - Image maps.widl | 2 + .../HTML - ImageBitmap and animations.widl | 6 +- .../idl/HTML - Interactive elements.widl | 6 +- inputfiles/idl/HTML - Media.commentmap.json | 1 + inputfiles/idl/HTML - Media.widl | 13 +- inputfiles/idl/HTML - Obsolete features.widl | 18 +- ...- Offline Web applications.commentmap.json | 6 +- .../idl/HTML - Offline Web applications.widl | 6 +- inputfiles/idl/HTML - Scripting.widl | 1 + inputfiles/idl/HTML - Sections.widl | 4 + inputfiles/idl/HTML - Semantics.widl | 9 + inputfiles/idl/HTML - Server-sent events.widl | 2 +- ...HTML - Session history and navigation.widl | 16 +- .../HTML - System state and capabilities.widl | 6 +- inputfiles/idl/HTML - Tabular data.widl | 24 +- .../idl/HTML - Text level semantics.widl | 4 + ...he iframe, embed, and object elements.widl | 11 +- inputfiles/idl/HTML - The input element.widl | 14 +- .../HTML - User interaction.commentmap.json | 4 +- ...TML - Web application APIs.commentmap.json | 2 + .../idl/HTML - Web application APIs.widl | 25 +- inputfiles/idl/HTML - Web sockets.widl | 10 +- .../idl/HTML - Web storage.commentmap.json | 16 +- inputfiles/idl/HTML - Web storage.widl | 8 +- inputfiles/idl/HTML - Web workers.widl | 20 +- inputfiles/idl/Identity for WebRTC.widl | 31 ++- inputfiles/idl/Media Capture and Streams.widl | 14 +- inputfiles/idl/Media Playback Quality.widl | 3 + inputfiles/idl/Notifications.widl | 6 +- inputfiles/idl/Performance Timeline.widl | 9 +- inputfiles/idl/Permissions.widl | 20 +- inputfiles/idl/Push.widl | 6 +- inputfiles/idl/Resource Timing.widl | 4 +- inputfiles/idl/Selection.widl | 24 +- inputfiles/idl/Service Workers.widl | 2 + inputfiles/idl/Streams.commentmap.json | 2 +- inputfiles/idl/URL.widl | 8 +- inputfiles/idl/Web Audio.widl | 241 ++++++++++-------- inputfiles/idl/Web Authentication.widl | 49 +++- inputfiles/idl/Web Cryptography.widl | 12 +- inputfiles/idl/Web IDL.widl | 2 +- inputfiles/idl/Web Messaging.widl | 16 +- inputfiles/idl/Web Share.widl | 3 +- inputfiles/idl/Web Speech API.widl | 18 +- inputfiles/idl/WebRTC.widl | 136 +++------- inputfiles/idl/Worklets.widl | 2 +- inputfiles/idl/XMLHttpRequest.widl | 22 +- 69 files changed, 754 insertions(+), 587 deletions(-) diff --git a/inputfiles/idl/CSS Inline Layout.widl b/inputfiles/idl/CSS Inline Layout.widl index 64660dbbe..140b495e7 100644 --- a/inputfiles/idl/CSS Inline Layout.widl +++ b/inputfiles/idl/CSS Inline Layout.widl @@ -5,9 +5,7 @@ partial interface CSSStyleDeclaration { [CEReactions] attribute [LegacyNullToEmptyString] CSSOMString alignmentBaseline; [CEReactions] attribute [LegacyNullToEmptyString] CSSOMString baselineShift; [CEReactions] attribute [LegacyNullToEmptyString] CSSOMString lineHeight; - [CEReactions] attribute [LegacyNullToEmptyString] CSSOMString lineSizing; - [CEReactions] attribute [LegacyNullToEmptyString] CSSOMString leadingTrimOver; - [CEReactions] attribute [LegacyNullToEmptyString] CSSOMString leadingTrimUnder; + [CEReactions] attribute [LegacyNullToEmptyString] CSSOMString textEdge; [CEReactions] attribute [LegacyNullToEmptyString] CSSOMString leadingTrim; [CEReactions] attribute [LegacyNullToEmptyString] CSSOMString inlineSizing; [CEReactions] attribute [LegacyNullToEmptyString] CSSOMString initialLetter; diff --git a/inputfiles/idl/CSS Object Model.widl b/inputfiles/idl/CSS Object Model.widl index 25eacdce7..952b4d93a 100644 --- a/inputfiles/idl/CSS Object Model.widl +++ b/inputfiles/idl/CSS Object Model.widl @@ -3,8 +3,8 @@ interface MediaList { stringifier attribute [LegacyNullToEmptyString] CSSOMString mediaText; readonly attribute unsigned long length; getter CSSOMString? item(unsigned long index); - void appendMedium(CSSOMString medium); - void deleteMedium(CSSOMString medium); + undefined appendMedium(CSSOMString medium); + undefined deleteMedium(CSSOMString medium); }; [Exposed=Window] @@ -23,13 +23,13 @@ interface CSSStyleSheet : StyleSheet { readonly attribute CSSRule? ownerRule; [SameObject] readonly attribute CSSRuleList cssRules; unsigned long insertRule(CSSOMString rule, optional unsigned long index = 0); - void deleteRule(unsigned long index); + undefined deleteRule(unsigned long index); }; partial interface CSSStyleSheet { [SameObject] readonly attribute CSSRuleList rules; long addRule(optional DOMString selector = "undefined", optional DOMString style = "undefined", optional unsigned long index); - void removeRule(optional unsigned long index = 0); + undefined removeRule(optional unsigned long index = 0); }; [Exposed=Window] @@ -89,7 +89,7 @@ interface CSSImportRule : CSSRule { interface CSSGroupingRule : CSSRule { [SameObject] readonly attribute CSSRuleList cssRules; unsigned long insertRule(CSSOMString rule, optional unsigned long index = 0); - void deleteRule(unsigned long index); + undefined deleteRule(unsigned long index); }; [Exposed=Window] @@ -117,7 +117,7 @@ interface CSSStyleDeclaration { getter CSSOMString item(unsigned long index); CSSOMString getPropertyValue(CSSOMString property); CSSOMString getPropertyPriority(CSSOMString property); - [CEReactions] void setProperty(CSSOMString property, [LegacyNullToEmptyString] CSSOMString value, optional [LegacyNullToEmptyString] CSSOMString priority = ""); + [CEReactions] undefined setProperty(CSSOMString property, [LegacyNullToEmptyString] CSSOMString value, optional [LegacyNullToEmptyString] CSSOMString priority = ""); [CEReactions] CSSOMString removeProperty(CSSOMString property); readonly attribute CSSRule? parentRule; [CEReactions] attribute [LegacyNullToEmptyString] CSSOMString cssFloat; diff --git a/inputfiles/idl/CSSOM View.widl b/inputfiles/idl/CSSOM View.widl index fd131e0d6..2a822b9e7 100644 --- a/inputfiles/idl/CSSOM View.widl +++ b/inputfiles/idl/CSSOM View.widl @@ -13,10 +13,10 @@ partial interface Window { [SameObject, Replaceable] readonly attribute Screen screen; // browsing context - void moveTo(long x, long y); - void moveBy(long x, long y); - void resizeTo(long width, long height); - void resizeBy(long x, long y); + undefined moveTo(long x, long y); + undefined moveBy(long x, long y); + undefined resizeTo(long width, long height); + undefined resizeBy(long x, long y); // viewport [Replaceable] readonly attribute long innerWidth; @@ -27,12 +27,12 @@ partial interface Window { [Replaceable] readonly attribute double pageXOffset; [Replaceable] readonly attribute double scrollY; [Replaceable] readonly attribute double pageYOffset; - void scroll(optional ScrollToOptions options = {}); - void scroll(unrestricted double x, unrestricted double y); - void scrollTo(optional ScrollToOptions options = {}); - void scrollTo(unrestricted double x, unrestricted double y); - void scrollBy(optional ScrollToOptions options = {}); - void scrollBy(unrestricted double x, unrestricted double y); + undefined scroll(optional ScrollToOptions options = {}); + undefined scroll(unrestricted double x, unrestricted double y); + undefined scrollTo(optional ScrollToOptions options = {}); + undefined scrollTo(unrestricted double x, unrestricted double y); + undefined scrollBy(optional ScrollToOptions options = {}); + undefined scrollBy(unrestricted double x, unrestricted double y); // client [Replaceable] readonly attribute long screenX; @@ -48,8 +48,8 @@ partial interface Window { interface MediaQueryList : EventTarget { readonly attribute CSSOMString media; readonly attribute boolean matches; - void addListener(EventListener? callback); - void removeListener(EventListener? callback); + undefined addListener(EventListener? callback); + undefined removeListener(EventListener? callback); attribute EventHandler onchange; }; @@ -98,13 +98,13 @@ dictionary ScrollIntoViewOptions : ScrollOptions { partial interface Element { DOMRectList getClientRects(); [NewObject] DOMRect getBoundingClientRect(); - void scrollIntoView(optional (boolean or ScrollIntoViewOptions) arg = {}); - void scroll(optional ScrollToOptions options = {}); - void scroll(unrestricted double x, unrestricted double y); - void scrollTo(optional ScrollToOptions options = {}); - void scrollTo(unrestricted double x, unrestricted double y); - void scrollBy(optional ScrollToOptions options = {}); - void scrollBy(unrestricted double x, unrestricted double y); + undefined scrollIntoView(optional (boolean or ScrollIntoViewOptions) arg = {}); + undefined scroll(optional ScrollToOptions options = {}); + undefined scroll(unrestricted double x, unrestricted double y); + undefined scrollTo(optional ScrollToOptions options = {}); + undefined scrollTo(unrestricted double x, unrestricted double y); + undefined scrollBy(optional ScrollToOptions options = {}); + undefined scrollBy(unrestricted double x, unrestricted double y); attribute unrestricted double scrollTop; attribute unrestricted double scrollLeft; readonly attribute long scrollWidth; @@ -153,6 +153,31 @@ partial dictionary MouseEventInit { double clientY = 0.0; }; +enum CSSBoxType { "margin", "border", "padding", "content" }; +dictionary BoxQuadOptions { + CSSBoxType box = "border"; + GeometryNode relativeTo; // XXX default document (i.e. viewport) +}; + +dictionary ConvertCoordinateOptions { + CSSBoxType fromBox = "border"; + CSSBoxType toBox = "border"; +}; + +interface mixin GeometryUtils { + sequence getBoxQuads(optional BoxQuadOptions options = {}); + DOMQuad convertQuadFromNode(DOMQuadInit quad, GeometryNode from, optional ConvertCoordinateOptions options = {}); + DOMQuad convertRectFromNode(DOMRectReadOnly rect, GeometryNode from, optional ConvertCoordinateOptions options = {}); + DOMPoint convertPointFromNode(DOMPointInit point, GeometryNode from, optional ConvertCoordinateOptions options = {}); // XXX z,w turns into 0 +}; + +Text includes GeometryUtils; // like Range +Element includes GeometryUtils; +CSSPseudoElement includes GeometryUtils; +Document includes GeometryUtils; + +typedef (Text or Element or CSSPseudoElement or Document) GeometryNode; + partial interface CSSStyleDeclaration { [CEReactions] attribute [LegacyNullToEmptyString] CSSOMString scrollBehavior; }; diff --git a/inputfiles/idl/Clipboard.widl b/inputfiles/idl/Clipboard.widl index f16856022..4862e7b09 100644 --- a/inputfiles/idl/Clipboard.widl +++ b/inputfiles/idl/Clipboard.widl @@ -17,8 +17,8 @@ typedef sequence ClipboardItems; [SecureContext, Exposed=Window] interface Clipboard : EventTarget { Promise read(); Promise readText(); - Promise write(ClipboardItems data); - Promise writeText(DOMString data); + Promise write(ClipboardItems data); + Promise writeText(DOMString data); }; typedef (DOMString or Blob) ClipboardItemDataType; diff --git a/inputfiles/idl/Console.widl b/inputfiles/idl/Console.widl index aea9474cb..6c9182c2c 100644 --- a/inputfiles/idl/Console.widl +++ b/inputfiles/idl/Console.widl @@ -1,29 +1,29 @@ [Exposed=(Window,Worker,Worklet)] namespace console { // but see namespace object requirements below // Logging - void assert(optional boolean condition = false, any... data); - void clear(); - void debug(any... data); - void error(any... data); - void info(any... data); - void log(any... data); - void table(optional any tabularData, optional sequence properties); - void trace(any... data); - void warn(any... data); - void dir(optional any item, optional object? options); - void dirxml(any... data); + undefined assert(optional boolean condition = false, any... data); + undefined clear(); + undefined debug(any... data); + undefined error(any... data); + undefined info(any... data); + undefined log(any... data); + undefined table(optional any tabularData, optional sequence properties); + undefined trace(any... data); + undefined warn(any... data); + undefined dir(optional any item, optional object? options); + undefined dirxml(any... data); // Counting - void count(optional DOMString label = "default"); - void countReset(optional DOMString label = "default"); + undefined count(optional DOMString label = "default"); + undefined countReset(optional DOMString label = "default"); // Grouping - void group(any... data); - void groupCollapsed(any... data); - void groupEnd(); + undefined group(any... data); + undefined groupCollapsed(any... data); + undefined groupEnd(); // Timing - void time(optional DOMString label = "default"); - void timeLog(optional DOMString label = "default", any... data); - void timeEnd(optional DOMString label = "default"); + undefined time(optional DOMString label = "default"); + undefined timeLog(optional DOMString label = "default", any... data); + undefined timeEnd(optional DOMString label = "default"); }; diff --git a/inputfiles/idl/DOM.widl b/inputfiles/idl/DOM.widl index 0313de518..7b14d1cba 100644 --- a/inputfiles/idl/DOM.widl +++ b/inputfiles/idl/DOM.widl @@ -14,21 +14,21 @@ interface Event { const unsigned short BUBBLING_PHASE = 3; readonly attribute unsigned short eventPhase; - void stopPropagation(); + undefined stopPropagation(); attribute boolean cancelBubble; // historical alias of .stopPropagation - void stopImmediatePropagation(); + undefined stopImmediatePropagation(); readonly attribute boolean bubbles; readonly attribute boolean cancelable; attribute boolean returnValue; // historical - void preventDefault(); + undefined preventDefault(); readonly attribute boolean defaultPrevented; readonly attribute boolean composed; [LegacyUnforgeable] readonly attribute boolean isTrusted; readonly attribute DOMHighResTimeStamp timeStamp; - void initEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false); // historical + undefined initEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false); // historical }; dictionary EventInit { @@ -47,7 +47,7 @@ interface CustomEvent : Event { readonly attribute any detail; - void initCustomEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false, optional any detail = null); // historical + undefined initCustomEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false, optional any detail = null); // historical }; dictionary CustomEventInit : EventInit { @@ -58,13 +58,13 @@ dictionary CustomEventInit : EventInit { interface EventTarget { constructor(); - void addEventListener(DOMString type, EventListener? callback, optional (AddEventListenerOptions or boolean) options = {}); - void removeEventListener(DOMString type, EventListener? callback, optional (EventListenerOptions or boolean) options = {}); + undefined addEventListener(DOMString type, EventListener? callback, optional (AddEventListenerOptions or boolean) options = {}); + undefined removeEventListener(DOMString type, EventListener? callback, optional (EventListenerOptions or boolean) options = {}); boolean dispatchEvent(Event event); }; callback interface EventListener { - void handleEvent(Event event); + undefined handleEvent(Event event); }; dictionary EventListenerOptions { @@ -82,7 +82,7 @@ interface AbortController { [SameObject] readonly attribute AbortSignal signal; - void abort(); + undefined abort(); }; [Exposed=(Window,Worker)] @@ -109,9 +109,9 @@ interface mixin ParentNode { readonly attribute Element? lastElementChild; readonly attribute unsigned long childElementCount; - [CEReactions, Unscopable] void prepend((Node or DOMString)... nodes); - [CEReactions, Unscopable] void append((Node or DOMString)... nodes); - [CEReactions, Unscopable] void replaceChildren((Node or DOMString)... nodes); + [CEReactions, Unscopable] undefined prepend((Node or DOMString)... nodes); + [CEReactions, Unscopable] undefined append((Node or DOMString)... nodes); + [CEReactions, Unscopable] undefined replaceChildren((Node or DOMString)... nodes); Element? querySelector(DOMString selectors); [NewObject] NodeList querySelectorAll(DOMString selectors); @@ -128,10 +128,10 @@ Element includes NonDocumentTypeChildNode; CharacterData includes NonDocumentTypeChildNode; interface mixin ChildNode { - [CEReactions, Unscopable] void before((Node or DOMString)... nodes); - [CEReactions, Unscopable] void after((Node or DOMString)... nodes); - [CEReactions, Unscopable] void replaceWith((Node or DOMString)... nodes); - [CEReactions, Unscopable] void remove(); + [CEReactions, Unscopable] undefined before((Node or DOMString)... nodes); + [CEReactions, Unscopable] undefined after((Node or DOMString)... nodes); + [CEReactions, Unscopable] undefined replaceWith((Node or DOMString)... nodes); + [CEReactions, Unscopable] undefined remove(); }; DocumentType includes ChildNode; Element includes ChildNode; @@ -161,12 +161,12 @@ interface HTMLCollection { interface MutationObserver { constructor(MutationCallback callback); - void observe(Node target, optional MutationObserverInit options = {}); - void disconnect(); + undefined observe(Node target, optional MutationObserverInit options = {}); + undefined disconnect(); sequence takeRecords(); }; -callback MutationCallback = void (sequence mutations, MutationObserver observer); +callback MutationCallback = undefined (sequence mutations, MutationObserver observer); dictionary MutationObserverInit { boolean childList = false; @@ -224,7 +224,7 @@ interface Node : EventTarget { [CEReactions] attribute DOMString? nodeValue; [CEReactions] attribute DOMString? textContent; - [CEReactions] void normalize(); + [CEReactions] undefined normalize(); [CEReactions, NewObject] Node cloneNode(optional boolean deep = false); boolean isEqualNode(Node? otherNode); @@ -349,10 +349,10 @@ interface Element : Node { sequence getAttributeNames(); DOMString? getAttribute(DOMString qualifiedName); DOMString? getAttributeNS(DOMString? namespace, DOMString localName); - [CEReactions] void setAttribute(DOMString qualifiedName, DOMString value); - [CEReactions] void setAttributeNS(DOMString? namespace, DOMString qualifiedName, DOMString value); - [CEReactions] void removeAttribute(DOMString qualifiedName); - [CEReactions] void removeAttributeNS(DOMString? namespace, DOMString localName); + [CEReactions] undefined setAttribute(DOMString qualifiedName, DOMString value); + [CEReactions] undefined setAttributeNS(DOMString? namespace, DOMString qualifiedName, DOMString value); + [CEReactions] undefined removeAttribute(DOMString qualifiedName); + [CEReactions] undefined removeAttributeNS(DOMString? namespace, DOMString localName); [CEReactions] boolean toggleAttribute(DOMString qualifiedName, optional boolean force); boolean hasAttribute(DOMString qualifiedName); boolean hasAttributeNS(DOMString? namespace, DOMString localName); @@ -375,7 +375,7 @@ interface Element : Node { HTMLCollection getElementsByClassName(DOMString classNames); [CEReactions] Element? insertAdjacentElement(DOMString where, Element element); // historical - void insertAdjacentText(DOMString where, DOMString data); // historical + undefined insertAdjacentText(DOMString where, DOMString data); // historical }; dictionary ShadowRootInit { @@ -414,10 +414,10 @@ interface CharacterData : Node { attribute [LegacyNullToEmptyString] DOMString data; readonly attribute unsigned long length; DOMString substringData(unsigned long offset, unsigned long count); - void appendData(DOMString data); - void insertData(unsigned long offset, DOMString data); - void deleteData(unsigned long offset, unsigned long count); - void replaceData(unsigned long offset, unsigned long count, DOMString data); + undefined appendData(DOMString data); + undefined insertData(unsigned long offset, DOMString data); + undefined deleteData(unsigned long offset, unsigned long count); + undefined replaceData(unsigned long offset, unsigned long count, DOMString data); }; [Exposed=Window] @@ -469,15 +469,15 @@ interface Range : AbstractRange { readonly attribute Node commonAncestorContainer; - void setStart(Node node, unsigned long offset); - void setEnd(Node node, unsigned long offset); - void setStartBefore(Node node); - void setStartAfter(Node node); - void setEndBefore(Node node); - void setEndAfter(Node node); - void collapse(optional boolean toStart = false); - void selectNode(Node node); - void selectNodeContents(Node node); + undefined setStart(Node node, unsigned long offset); + undefined setEnd(Node node, unsigned long offset); + undefined setStartBefore(Node node); + undefined setStartAfter(Node node); + undefined setEndBefore(Node node); + undefined setEndAfter(Node node); + undefined collapse(optional boolean toStart = false); + undefined selectNode(Node node); + undefined selectNodeContents(Node node); const unsigned short START_TO_START = 0; const unsigned short START_TO_END = 1; @@ -485,14 +485,14 @@ interface Range : AbstractRange { const unsigned short END_TO_START = 3; short compareBoundaryPoints(unsigned short how, Range sourceRange); - [CEReactions] void deleteContents(); + [CEReactions] undefined deleteContents(); [CEReactions, NewObject] DocumentFragment extractContents(); [CEReactions, NewObject] DocumentFragment cloneContents(); - [CEReactions] void insertNode(Node node); - [CEReactions] void surroundContents(Node newParent); + [CEReactions] undefined insertNode(Node node); + [CEReactions] undefined surroundContents(Node newParent); [NewObject] Range cloneRange(); - void detach(); + undefined detach(); boolean isPointInRange(Node node, unsigned long offset); short comparePoint(Node node, unsigned long offset); @@ -513,7 +513,7 @@ interface NodeIterator { Node? nextNode(); Node? previousNode(); - void detach(); + undefined detach(); }; [Exposed=Window] @@ -562,8 +562,8 @@ interface DOMTokenList { readonly attribute unsigned long length; getter DOMString? item(unsigned long index); boolean contains(DOMString token); - [CEReactions] void add(DOMString... tokens); - [CEReactions] void remove(DOMString... tokens); + [CEReactions] undefined add(DOMString... tokens); + [CEReactions] undefined remove(DOMString... tokens); [CEReactions] boolean toggle(DOMString token, optional boolean force); [CEReactions] boolean replace(DOMString token, DOMString newToken); boolean supports(DOMString token); diff --git a/inputfiles/idl/Encoding.commentmap.json b/inputfiles/idl/Encoding.commentmap.json index 39a14c10b..030bbf382 100644 --- a/inputfiles/idl/Encoding.commentmap.json +++ b/inputfiles/idl/Encoding.commentmap.json @@ -1,13 +1,13 @@ { "textdecoder": "Returns a new TextDecoder object.\n\nIf label is either not a label or is a label for replacement, throws a RangeError.", "textdecodercommon-encoding": "Returns encoding's name, lowercased.", - "textdecodercommon-fatal": "Returns true if error mode is \"fatal\", and false otherwise.", - "textdecodercommon-ignorebom": "Returns true if ignore BOM flag is set, and false otherwise.", - "textdecoder-decode": "Returns the result of running encoding's decoder. The method can be invoked zero or more times with options's stream set to true, and then once without options's stream (or set to false), to process a fragmented stream. If the invocation without options's stream (or set to false) has no input, it's clearest to omit both arguments.\n\n```\nvar string = \"\", decoder = new TextDecoder(encoding), buffer;\nwhile(buffer = next_chunk()) {\n string += decoder.decode(buffer, {stream:true});\n}\nstring += decoder.decode(); // end-of-stream\n```\n\nIf the error mode is \"fatal\" and encoding's decoder returns error, throws a TypeError.", + "textdecodercommon-fatal": "Returns true if error mode is \"fatal\", otherwise false.", + "textdecodercommon-ignorebom": "Returns the value of ignore BOM.", + "textdecoder-decode": "Returns the result of running encoding's decoder. The method can be invoked zero or more times with options's stream set to true, and then once without options's stream (or set to false), to process a fragmented input. If the invocation without options's stream (or set to false) has no input, it's clearest to omit both arguments.\n\n```\nvar string = \"\", decoder = new TextDecoder(encoding), buffer;\nwhile(buffer = next_chunk()) {\n string += decoder.decode(buffer, {stream:true});\n}\nstring += decoder.decode(); // end-of-queue\n```\n\nIf the error mode is \"fatal\" and encoding's decoder returns error, throws a TypeError.", "textencoder": "Returns a new TextEncoder object.", "textencodercommon-encoding": "Returns \"utf-8\".", "textencoder-encode": "Returns the result of running UTF-8's encoder.", - "textencoder-encodeinto": "Runs the UTF-8 encoder on source, stores the result of that operation into destination, and returns the progress made as a dictionary whereby read is the number of converted code units of source and written is the number of bytes modified in destination.", + "textencoder-encodeinto": "Runs the UTF-8 encoder on source, stores the result of that operation into destination, and returns the progress made as an object wherein read is the number of converted code units of source and written is the number of bytes modified in destination.", "textdecoderstream": "Returns a new TextDecoderStream object.\n\nIf label is either not a label or is a label for replacement, throws a RangeError.", "generictransformstream-readable": "Returns a readable stream whose chunks are strings resulting from running encoding's decoder on the chunks written to writable.", "generictransformstream-writable": "Returns a writable stream which accepts [AllowShared] BufferSource chunks and runs them through encoding's decoder before making them available to readable.\n\nTypically this will be used via the pipeThrough() method on a ReadableStream source.\n\n```\nvar decoder = new TextDecoderStream(encoding);\nbyteReadable\n .pipeThrough(decoder)\n .pipeTo(textWritable);\n```\n\nIf the error mode is \"fatal\" and encoding's decoder returns error, both readable and writable will be errored with a TypeError.", diff --git a/inputfiles/idl/Fetch.widl b/inputfiles/idl/Fetch.widl index f2b6f8435..adbd177fa 100644 --- a/inputfiles/idl/Fetch.widl +++ b/inputfiles/idl/Fetch.widl @@ -4,15 +4,17 @@ typedef (sequence> or record) Heade interface Headers { constructor(optional HeadersInit init); - void append(ByteString name, ByteString value); - void delete(ByteString name); + undefined append(ByteString name, ByteString value); + undefined delete(ByteString name); ByteString? get(ByteString name); boolean has(ByteString name); - void set(ByteString name, ByteString value); + undefined set(ByteString name, ByteString value); iterable; }; -typedef (Blob or BufferSource or FormData or URLSearchParams or ReadableStream or USVString) BodyInit; +typedef (Blob or BufferSource or FormData or URLSearchParams or USVString) XMLHttpRequestBodyInit; + +typedef (ReadableStream or XMLHttpRequestBodyInit) BodyInit; interface mixin Body { readonly attribute ReadableStream? body; @@ -67,7 +69,7 @@ dictionary RequestInit { any window; // can only be set to null }; -enum RequestDestination { "", "audio", "audioworklet", "document", "embed", "font", "image", "manifest", "object", "paintworklet", "report", "script", "sharedworker", "style", "track", "video", "worker", "xslt" }; +enum RequestDestination { "", "audio", "audioworklet", "document", "embed", "font", "frame", "iframe", "image", "manifest", "object", "paintworklet", "report", "script", "sharedworker", "style", "track", "video", "worker", "xslt" }; enum RequestMode { "navigate", "same-origin", "no-cors", "cors" }; enum RequestCredentials { "omit", "same-origin", "include" }; enum RequestCache { "default", "no-store", "reload", "no-cache", "force-cache", "only-if-cached" }; @@ -87,7 +89,6 @@ enum RequestRedirect { "follow", "error", "manual" }; readonly attribute boolean ok; readonly attribute ByteString statusText; [SameObject] readonly attribute Headers headers; - readonly attribute Promise trailer; [NewObject] Response clone(); }; diff --git a/inputfiles/idl/File.widl b/inputfiles/idl/File.widl index c92c76eae..b980a4741 100644 --- a/inputfiles/idl/File.widl +++ b/inputfiles/idl/File.widl @@ -49,12 +49,12 @@ interface FileList { interface FileReader: EventTarget { constructor(); // async read methods - void readAsArrayBuffer(Blob blob); - void readAsBinaryString(Blob blob); - void readAsText(Blob blob, optional DOMString encoding); - void readAsDataURL(Blob blob); + undefined readAsArrayBuffer(Blob blob); + undefined readAsBinaryString(Blob blob); + undefined readAsText(Blob blob, optional DOMString encoding); + undefined readAsDataURL(Blob blob); - void abort(); + undefined abort(); // states const unsigned short EMPTY = 0; @@ -91,5 +91,5 @@ interface FileReaderSync { [Exposed=(Window,DedicatedWorker,SharedWorker)] partial interface URL { static DOMString createObjectURL((Blob or MediaSource) obj); - static void revokeObjectURL(DOMString url); + static undefined revokeObjectURL(DOMString url); }; diff --git a/inputfiles/idl/Fullscreen.widl b/inputfiles/idl/Fullscreen.widl index c2c2a99c8..e459933ee 100644 --- a/inputfiles/idl/Fullscreen.widl +++ b/inputfiles/idl/Fullscreen.widl @@ -9,7 +9,7 @@ dictionary FullscreenOptions { }; partial interface Element { - Promise requestFullscreen(optional FullscreenOptions options = {}); + Promise requestFullscreen(optional FullscreenOptions options = {}); attribute EventHandler onfullscreenchange; attribute EventHandler onfullscreenerror; @@ -19,7 +19,7 @@ partial interface Document { [LegacyLenientSetter] readonly attribute boolean fullscreenEnabled; [LegacyLenientSetter, Unscopable] readonly attribute boolean fullscreen; // historical - Promise exitFullscreen(); + Promise exitFullscreen(); attribute EventHandler onfullscreenchange; attribute EventHandler onfullscreenerror; diff --git a/inputfiles/idl/Geolocation.widl b/inputfiles/idl/Geolocation.widl index f84cf8dce..271e4b6c5 100644 --- a/inputfiles/idl/Geolocation.widl +++ b/inputfiles/idl/Geolocation.widl @@ -4,20 +4,20 @@ partial interface Navigator { [Exposed=Window] interface Geolocation { - void getCurrentPosition(PositionCallback successCallback, + undefined getCurrentPosition(PositionCallback successCallback, optional PositionErrorCallback errorCallback, optional PositionOptions options = {}); long watchPosition(PositionCallback successCallback, - optional PositionErrorCallback errorCallback, - optional PositionOptions options = {}); + optional PositionErrorCallback errorCallback, + optional PositionOptions options = {}); - void clearWatch(long watchId); + undefined clearWatch(long watchId); }; -callback PositionCallback = void (GeolocationPosition position); +callback PositionCallback = undefined (GeolocationPosition position); -callback PositionErrorCallback = void (GeolocationPositionError positionError); +callback PositionErrorCallback = undefined (GeolocationPositionError positionError); dictionary PositionOptions { boolean enableHighAccuracy = false; diff --git a/inputfiles/idl/HTML - Canvas.widl b/inputfiles/idl/HTML - Canvas.widl index 856cd518c..05cc771f9 100644 --- a/inputfiles/idl/HTML - Canvas.widl +++ b/inputfiles/idl/HTML - Canvas.widl @@ -10,11 +10,11 @@ interface HTMLCanvasElement : HTMLElement { RenderingContext? getContext(DOMString contextId, optional any options = null); USVString toDataURL(optional DOMString type = "image/png", optional any quality); - void toBlob(BlobCallback _callback, optional DOMString type = "image/png", optional any quality); + undefined toBlob(BlobCallback _callback, optional DOMString type = "image/png", optional any quality); OffscreenCanvas transferControlToOffscreen(); }; -callback BlobCallback = void (Blob? blob); +callback BlobCallback = undefined (Blob? blob); typedef (HTMLImageElement or SVGImageElement) HTMLOrSVGImageElement; @@ -60,21 +60,21 @@ CanvasRenderingContext2D includes CanvasPath; interface mixin CanvasState { // state - void save(); // push state on state stack - void restore(); // pop state stack and restore state + undefined save(); // push state on state stack + undefined restore(); // pop state stack and restore state }; interface mixin CanvasTransform { // transformations (default transform is the identity matrix) - void scale(unrestricted double x, unrestricted double y); - void rotate(unrestricted double angle); - void translate(unrestricted double x, unrestricted double y); - void transform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f); + undefined scale(unrestricted double x, unrestricted double y); + undefined rotate(unrestricted double angle); + undefined translate(unrestricted double x, unrestricted double y); + undefined transform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f); [NewObject] DOMMatrix getTransform(); - void setTransform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f); - void setTransform(optional DOMMatrix2DInit transform = {}); - void resetTransform(); + undefined setTransform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f); + undefined setTransform(optional DOMMatrix2DInit transform = {}); + undefined resetTransform(); }; @@ -116,20 +116,20 @@ interface mixin CanvasFilters { interface mixin CanvasRect { // rects - void clearRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); - void fillRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); - void strokeRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); + undefined clearRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); + undefined fillRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); + undefined strokeRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); }; interface mixin CanvasDrawPath { // path API (see also CanvasPath) - void beginPath(); - void fill(optional CanvasFillRule fillRule = "nonzero"); - void fill(Path2D path, optional CanvasFillRule fillRule = "nonzero"); - void stroke(); - void stroke(Path2D path); - void clip(optional CanvasFillRule fillRule = "nonzero"); - void clip(Path2D path, optional CanvasFillRule fillRule = "nonzero"); + undefined beginPath(); + undefined fill(optional CanvasFillRule fillRule = "nonzero"); + undefined fill(Path2D path, optional CanvasFillRule fillRule = "nonzero"); + undefined stroke(); + undefined stroke(Path2D path); + undefined clip(optional CanvasFillRule fillRule = "nonzero"); + undefined clip(Path2D path, optional CanvasFillRule fillRule = "nonzero"); boolean isPointInPath(unrestricted double x, unrestricted double y, optional CanvasFillRule fillRule = "nonzero"); boolean isPointInPath(Path2D path, unrestricted double x, unrestricted double y, optional CanvasFillRule fillRule = "nonzero"); boolean isPointInStroke(unrestricted double x, unrestricted double y); @@ -137,24 +137,24 @@ interface mixin CanvasDrawPath { }; interface mixin CanvasUserInterface { - void drawFocusIfNeeded(Element element); - void drawFocusIfNeeded(Path2D path, Element element); - void scrollPathIntoView(); - void scrollPathIntoView(Path2D path); + undefined drawFocusIfNeeded(Element element); + undefined drawFocusIfNeeded(Path2D path, Element element); + undefined scrollPathIntoView(); + undefined scrollPathIntoView(Path2D path); }; interface mixin CanvasText { // text (see also the CanvasPathDrawingStyles and CanvasTextDrawingStyles interfaces) - void fillText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth); - void strokeText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth); + undefined fillText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth); + undefined strokeText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth); TextMetrics measureText(DOMString text); }; interface mixin CanvasDrawImage { // drawing images - void drawImage(CanvasImageSource image, unrestricted double dx, unrestricted double dy); - void drawImage(CanvasImageSource image, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh); - void drawImage(CanvasImageSource image, unrestricted double sx, unrestricted double sy, unrestricted double sw, unrestricted double sh, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh); + undefined drawImage(CanvasImageSource image, unrestricted double dx, unrestricted double dy); + undefined drawImage(CanvasImageSource image, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh); + undefined drawImage(CanvasImageSource image, unrestricted double sx, unrestricted double sy, unrestricted double sw, unrestricted double sh, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh); }; interface mixin CanvasImageData { @@ -162,8 +162,8 @@ interface mixin CanvasImageData { ImageData createImageData(long sw, long sh); ImageData createImageData(ImageData imagedata); ImageData getImageData(long sx, long sy, long sw, long sh); - void putImageData(ImageData imagedata, long dx, long dy); - void putImageData(ImageData imagedata, long dx, long dy, long dirtyX, long dirtyY, long dirtyWidth, long dirtyHeight); + undefined putImageData(ImageData imagedata, long dx, long dy); + undefined putImageData(ImageData imagedata, long dx, long dy, long dirtyX, long dirtyY, long dirtyWidth, long dirtyHeight); }; enum CanvasLineCap { "butt", "round", "square" }; @@ -180,7 +180,7 @@ interface mixin CanvasPathDrawingStyles { attribute unrestricted double miterLimit; // (default 10) // dashed lines - void setLineDash(sequence segments); // default empty + undefined setLineDash(sequence segments); // default empty sequence getLineDash(); attribute unrestricted double lineDashOffset; }; @@ -195,27 +195,27 @@ interface mixin CanvasTextDrawingStyles { interface mixin CanvasPath { // shared path API methods - void closePath(); - void moveTo(unrestricted double x, unrestricted double y); - void lineTo(unrestricted double x, unrestricted double y); - void quadraticCurveTo(unrestricted double cpx, unrestricted double cpy, unrestricted double x, unrestricted double y); - void bezierCurveTo(unrestricted double cp1x, unrestricted double cp1y, unrestricted double cp2x, unrestricted double cp2y, unrestricted double x, unrestricted double y); - void arcTo(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radius); - void rect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); - void arc(unrestricted double x, unrestricted double y, unrestricted double radius, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false); - void ellipse(unrestricted double x, unrestricted double y, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false); + undefined closePath(); + undefined moveTo(unrestricted double x, unrestricted double y); + undefined lineTo(unrestricted double x, unrestricted double y); + undefined quadraticCurveTo(unrestricted double cpx, unrestricted double cpy, unrestricted double x, unrestricted double y); + undefined bezierCurveTo(unrestricted double cp1x, unrestricted double cp1y, unrestricted double cp2x, unrestricted double cp2y, unrestricted double x, unrestricted double y); + undefined arcTo(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radius); + undefined rect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); + undefined arc(unrestricted double x, unrestricted double y, unrestricted double radius, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false); + undefined ellipse(unrestricted double x, unrestricted double y, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false); }; [Exposed=(Window,Worker)] interface CanvasGradient { // opaque object - void addColorStop(double offset, DOMString color); + undefined addColorStop(double offset, DOMString color); }; [Exposed=(Window,Worker)] interface CanvasPattern { // opaque object - void setTransform(optional DOMMatrix2DInit transform = {}); + undefined setTransform(optional DOMMatrix2DInit transform = {}); }; [Exposed=(Window,Worker)] @@ -252,14 +252,14 @@ interface ImageData { interface Path2D { constructor(optional (Path2D or DOMString) path); - void addPath(Path2D path, optional DOMMatrix2DInit transform = {}); + undefined addPath(Path2D path, optional DOMMatrix2DInit transform = {}); }; Path2D includes CanvasPath; [Exposed=(Window,Worker)] interface ImageBitmapRenderingContext { readonly attribute (HTMLCanvasElement or OffscreenCanvas) canvas; - void transferFromImageBitmap(ImageBitmap? bitmap); + undefined transferFromImageBitmap(ImageBitmap? bitmap); }; dictionary ImageBitmapRenderingContextSettings { @@ -289,7 +289,7 @@ interface OffscreenCanvas : EventTarget { [Exposed=(Window,Worker)] interface OffscreenCanvasRenderingContext2D { - void commit(); + undefined commit(); readonly attribute OffscreenCanvas canvas; }; diff --git a/inputfiles/idl/HTML - Common DOM interfaces.widl b/inputfiles/idl/HTML - Common DOM interfaces.widl index 63a51cd89..b69c37bd4 100644 --- a/inputfiles/idl/HTML - Common DOM interfaces.widl +++ b/inputfiles/idl/HTML - Common DOM interfaces.widl @@ -24,9 +24,9 @@ interface RadioNodeList : NodeList { interface HTMLOptionsCollection : HTMLCollection { // inherits item(), namedItem() [CEReactions] attribute unsigned long length; // shadows inherited length - [CEReactions] setter void (unsigned long index, HTMLOptionElement? option); - [CEReactions] void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null); - [CEReactions] void remove(long index); + [CEReactions] setter undefined (unsigned long index, HTMLOptionElement? option); + [CEReactions] undefined add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null); + [CEReactions] undefined remove(long index); attribute long selectedIndex; }; diff --git a/inputfiles/idl/HTML - Communication.widl b/inputfiles/idl/HTML - Communication.widl index 301334abd..e26852b06 100644 --- a/inputfiles/idl/HTML - Communication.widl +++ b/inputfiles/idl/HTML - Communication.widl @@ -8,7 +8,7 @@ interface MessageEvent : Event { readonly attribute MessageEventSource? source; readonly attribute FrozenArray ports; - void initMessageEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false, optional any data = null, optional USVString origin = "", optional DOMString lastEventId = "", optional MessageEventSource? source = null, optional sequence ports = []); + undefined initMessageEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false, optional any data = null, optional USVString origin = "", optional DOMString lastEventId = "", optional MessageEventSource? source = null, optional sequence ports = []); }; dictionary MessageEventInit : EventInit { diff --git a/inputfiles/idl/HTML - Custom elements.widl b/inputfiles/idl/HTML - Custom elements.widl index 97c35e371..6561bb425 100644 --- a/inputfiles/idl/HTML - Custom elements.widl +++ b/inputfiles/idl/HTML - Custom elements.widl @@ -1,9 +1,9 @@ [Exposed=Window] interface CustomElementRegistry { - [CEReactions] void define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions options = {}); - any get(DOMString name); - Promise whenDefined(DOMString name); - [CEReactions] void upgrade(Node root); + [CEReactions] undefined define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions options = {}); + (CustomElementConstructor or undefined) get(DOMString name); + Promise whenDefined(DOMString name); + [CEReactions] undefined upgrade(Node root); }; callback CustomElementConstructor = HTMLElement (); @@ -16,12 +16,12 @@ dictionary ElementDefinitionOptions { interface ElementInternals { // Form-associated custom elements - void setFormValue((File or USVString or FormData)? value, + undefined setFormValue((File or USVString or FormData)? value, optional (File or USVString or FormData)? state); readonly attribute HTMLFormElement? form; - void setValidity(ValidityStateFlags flags, + undefined setValidity(optional ValidityStateFlags flags = {}, optional DOMString message, optional HTMLElement anchor); readonly attribute boolean willValidate; diff --git a/inputfiles/idl/HTML - DOM.widl b/inputfiles/idl/HTML - DOM.widl index 4e03f67c4..62871b9fe 100644 --- a/inputfiles/idl/HTML - DOM.widl +++ b/inputfiles/idl/HTML - DOM.widl @@ -29,9 +29,9 @@ partial interface Document { // dynamic markup insertion [CEReactions] Document open(optional DOMString unused1, optional DOMString unused2); // both arguments are ignored WindowProxy? open(USVString url, DOMString name, DOMString features); - [CEReactions] void close(); - [CEReactions] void write(DOMString... text); - [CEReactions] void writeln(DOMString... text); + [CEReactions] undefined close(); + [CEReactions] undefined write(DOMString... text); + [CEReactions] undefined writeln(DOMString... text); // user interaction readonly attribute WindowProxy? defaultView; @@ -68,7 +68,7 @@ interface HTMLElement : Element { // user interaction [CEReactions] attribute boolean hidden; - void click(); + undefined click(); [CEReactions] attribute DOMString accessKey; readonly attribute DOMString accessKeyLabel; [CEReactions] attribute boolean draggable; @@ -96,14 +96,14 @@ interface mixin HTMLOrSVGElement { [CEReactions] attribute boolean autofocus; [CEReactions] attribute long tabIndex; - void focus(optional FocusOptions options = {}); - void blur(); + undefined focus(optional FocusOptions options = {}); + undefined blur(); }; [Exposed=Window, LegacyOverrideBuiltIns] interface DOMStringMap { getter DOMString (DOMString name); - [CEReactions] setter void (DOMString name, DOMString value); - [CEReactions] deleter void (DOMString name); + [CEReactions] setter undefined (DOMString name, DOMString value); + [CEReactions] deleter undefined (DOMString name); }; diff --git a/inputfiles/idl/HTML - Drag and drop.widl b/inputfiles/idl/HTML - Drag and drop.widl index e895fe01a..a5d00ee70 100644 --- a/inputfiles/idl/HTML - Drag and drop.widl +++ b/inputfiles/idl/HTML - Drag and drop.widl @@ -1,18 +1,19 @@ -[Exposed=Window, - Constructor] +[Exposed=Window] interface DataTransfer { + constructor(); + attribute DOMString dropEffect; attribute DOMString effectAllowed; [SameObject] readonly attribute DataTransferItemList items; - void setDragImage(Element image, long x, long y); + undefined setDragImage(Element image, long x, long y); /* old interface */ readonly attribute FrozenArray types; DOMString getData(DOMString format); - void setData(DOMString format, DOMString data); - void clearData(optional DOMString format); + undefined setData(DOMString format, DOMString data); + undefined clearData(optional DOMString format); [SameObject] readonly attribute FileList files; }; @@ -22,19 +23,19 @@ interface DataTransferItemList { getter DataTransferItem (unsigned long index); DataTransferItem? add(DOMString data, DOMString type); DataTransferItem? add(File data); - void remove(unsigned long index); - void clear(); + undefined remove(unsigned long index); + undefined clear(); }; [Exposed=Window] interface DataTransferItem { readonly attribute DOMString kind; readonly attribute DOMString type; - void getAsString(FunctionStringCallback? _callback); + undefined getAsString(FunctionStringCallback? _callback); File? getAsFile(); }; -callback FunctionStringCallback = void (DOMString data); +callback FunctionStringCallback = undefined (DOMString data); [Exposed=Window] interface DragEvent : MouseEvent { diff --git a/inputfiles/idl/HTML - Embedded content.widl b/inputfiles/idl/HTML - Embedded content.widl index 6b51e188d..521ed2895 100644 --- a/inputfiles/idl/HTML - Embedded content.widl +++ b/inputfiles/idl/HTML - Embedded content.widl @@ -36,7 +36,7 @@ interface HTMLImageElement : HTMLElement { [CEReactions] attribute DOMString decoding; [CEReactions] attribute DOMString loading; - Promise decode(); + Promise decode(); // also has obsolete members }; diff --git a/inputfiles/idl/HTML - Form control infrastructure.widl b/inputfiles/idl/HTML - Form control infrastructure.widl index 288934b88..4574f0027 100644 --- a/inputfiles/idl/HTML - Form control infrastructure.widl +++ b/inputfiles/idl/HTML - Form control infrastructure.widl @@ -20,9 +20,21 @@ interface ValidityState { readonly attribute boolean valid; }; -[Exposed=Window, - Constructor(DOMString type, optional FormDataEventInit eventInitDict = {})] +[Exposed=Window] +interface SubmitEvent : Event { + constructor(DOMString type, optional SubmitEventInit eventInitDict = {}); + + readonly attribute HTMLElement? submitter; +}; + +dictionary SubmitEventInit : EventInit { + HTMLElement? submitter = null; +}; + +[Exposed=Window] interface FormDataEvent : Event { + constructor(DOMString type, FormDataEventInit eventInitDict); + readonly attribute FormData formData; }; diff --git a/inputfiles/idl/HTML - Form elements.widl b/inputfiles/idl/HTML - Form elements.widl index 4903be1cf..b3e4b2fc8 100644 --- a/inputfiles/idl/HTML - Form elements.widl +++ b/inputfiles/idl/HTML - Form elements.widl @@ -18,7 +18,7 @@ interface HTMLButtonElement : HTMLElement { readonly attribute DOMString validationMessage; boolean checkValidity(); boolean reportValidity(); - void setCustomValidity(DOMString error); + undefined setCustomValidity(DOMString error); readonly attribute NodeList labels; }; @@ -41,10 +41,10 @@ interface HTMLSelectElement : HTMLElement { [CEReactions] attribute unsigned long length; getter Element? item(unsigned long index); HTMLOptionElement? namedItem(DOMString name); - [CEReactions] void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null); - [CEReactions] void remove(); // ChildNode overload - [CEReactions] void remove(long index); - [CEReactions] setter void (unsigned long index, HTMLOptionElement? option); + [CEReactions] undefined add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null); + [CEReactions] undefined remove(); // ChildNode overload + [CEReactions] undefined remove(long index); + [CEReactions] setter undefined (unsigned long index, HTMLOptionElement? option); [SameObject] readonly attribute HTMLCollection selectedOptions; attribute long selectedIndex; @@ -55,7 +55,7 @@ interface HTMLSelectElement : HTMLElement { readonly attribute DOMString validationMessage; boolean checkValidity(); boolean reportValidity(); - void setCustomValidity(DOMString error); + undefined setCustomValidity(DOMString error); readonly attribute NodeList labels; }; @@ -119,17 +119,17 @@ interface HTMLTextAreaElement : HTMLElement { readonly attribute DOMString validationMessage; boolean checkValidity(); boolean reportValidity(); - void setCustomValidity(DOMString error); + undefined setCustomValidity(DOMString error); readonly attribute NodeList labels; - void select(); + undefined select(); attribute unsigned long selectionStart; attribute unsigned long selectionEnd; attribute DOMString selectionDirection; - void setRangeText(DOMString replacement); - void setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve"); - void setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction); + undefined setRangeText(DOMString replacement); + undefined setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve"); + undefined setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction); }; [Exposed=Window] @@ -149,7 +149,7 @@ interface HTMLOutputElement : HTMLElement { readonly attribute DOMString validationMessage; boolean checkValidity(); boolean reportValidity(); - void setCustomValidity(DOMString error); + undefined setCustomValidity(DOMString error); readonly attribute NodeList labels; }; @@ -194,7 +194,7 @@ interface HTMLFieldSetElement : HTMLElement { readonly attribute DOMString validationMessage; boolean checkValidity(); boolean reportValidity(); - void setCustomValidity(DOMString error); + undefined setCustomValidity(DOMString error); }; [Exposed=Window] diff --git a/inputfiles/idl/HTML - Forms.widl b/inputfiles/idl/HTML - Forms.widl index 23706f305..dc4c1e5bb 100644 --- a/inputfiles/idl/HTML - Forms.widl +++ b/inputfiles/idl/HTML - Forms.widl @@ -21,9 +21,9 @@ interface HTMLFormElement : HTMLElement { getter Element (unsigned long index); getter (RadioNodeList or Element) (DOMString name); - void submit(); - void requestSubmit(optional HTMLElement? submitter = null); - [CEReactions] void reset(); + undefined submit(); + undefined requestSubmit(optional HTMLElement? submitter = null); + [CEReactions] undefined reset(); boolean checkValidity(); boolean reportValidity(); }; diff --git a/inputfiles/idl/HTML - Grouping content.widl b/inputfiles/idl/HTML - Grouping content.widl index 3cdbf801a..4a976c2f3 100644 --- a/inputfiles/idl/HTML - Grouping content.widl +++ b/inputfiles/idl/HTML - Grouping content.widl @@ -1,16 +1,22 @@ [Exposed=Window] interface HTMLParagraphElement : HTMLElement { [HTMLConstructor] constructor(); + + // also has obsolete members }; [Exposed=Window] interface HTMLHRElement : HTMLElement { [HTMLConstructor] constructor(); + + // also has obsolete members }; [Exposed=Window] interface HTMLPreElement : HTMLElement { [HTMLConstructor] constructor(); + + // also has obsolete members }; [Exposed=Window] @@ -27,16 +33,22 @@ interface HTMLOListElement : HTMLElement { [CEReactions] attribute boolean reversed; [CEReactions] attribute long start; [CEReactions] attribute DOMString type; + + // also has obsolete members }; [Exposed=Window] interface HTMLUListElement : HTMLElement { [HTMLConstructor] constructor(); + + // also has obsolete members }; [Exposed=Window] interface HTMLMenuElement : HTMLElement { [HTMLConstructor] constructor(); + + // also has obsolete members }; [Exposed=Window] @@ -44,14 +56,20 @@ interface HTMLLIElement : HTMLElement { [HTMLConstructor] constructor(); [CEReactions] attribute long value; + + // also has obsolete members }; [Exposed=Window] interface HTMLDListElement : HTMLElement { [HTMLConstructor] constructor(); + + // also has obsolete members }; [Exposed=Window] interface HTMLDivElement : HTMLElement { [HTMLConstructor] constructor(); + + // also has obsolete members }; diff --git a/inputfiles/idl/HTML - Image maps.widl b/inputfiles/idl/HTML - Image maps.widl index 8053d9c56..afe652ccd 100644 --- a/inputfiles/idl/HTML - Image maps.widl +++ b/inputfiles/idl/HTML - Image maps.widl @@ -19,5 +19,7 @@ interface HTMLAreaElement : HTMLElement { [CEReactions] attribute DOMString rel; [SameObject, PutForwards=value] readonly attribute DOMTokenList relList; [CEReactions] attribute DOMString referrerPolicy; + + // also has obsolete members }; HTMLAreaElement includes HTMLHyperlinkElementUtils; diff --git a/inputfiles/idl/HTML - ImageBitmap and animations.widl b/inputfiles/idl/HTML - ImageBitmap and animations.widl index 6a47109e5..136a8b39e 100644 --- a/inputfiles/idl/HTML - ImageBitmap and animations.widl +++ b/inputfiles/idl/HTML - ImageBitmap and animations.widl @@ -2,7 +2,7 @@ interface ImageBitmap { readonly attribute unsigned long width; readonly attribute unsigned long height; - void close(); + undefined close(); }; typedef (CanvasImageSource or @@ -23,11 +23,11 @@ dictionary ImageBitmapOptions { ResizeQuality resizeQuality = "low"; }; -callback FrameRequestCallback = void (DOMHighResTimeStamp time); +callback FrameRequestCallback = undefined (DOMHighResTimeStamp time); interface mixin AnimationFrameProvider { unsigned long requestAnimationFrame(FrameRequestCallback callback); - void cancelAnimationFrame(unsigned long handle); + undefined cancelAnimationFrame(unsigned long handle); }; Window includes AnimationFrameProvider; DedicatedWorkerGlobalScope includes AnimationFrameProvider; diff --git a/inputfiles/idl/HTML - Interactive elements.widl b/inputfiles/idl/HTML - Interactive elements.widl index ad3365025..6e312ffd9 100644 --- a/inputfiles/idl/HTML - Interactive elements.widl +++ b/inputfiles/idl/HTML - Interactive elements.widl @@ -11,7 +11,7 @@ interface HTMLDialogElement : HTMLElement { [CEReactions] attribute boolean open; attribute DOMString returnValue; - [CEReactions] void show(); - [CEReactions] void showModal(); - [CEReactions] void close(optional DOMString returnValue); + [CEReactions] undefined show(); + [CEReactions] undefined showModal(); + [CEReactions] undefined close(optional DOMString returnValue); }; diff --git a/inputfiles/idl/HTML - Media.commentmap.json b/inputfiles/idl/HTML - Media.commentmap.json index 7058bf8d2..db9339a71 100644 --- a/inputfiles/idl/HTML - Media.commentmap.json +++ b/inputfiles/idl/HTML - Media.commentmap.json @@ -18,6 +18,7 @@ "media-ended": "Returns true if playback has reached the end of the media resource.", "media-defaultplaybackrate": "Returns the default rate of playback, for when the user is not fast-forwarding or reversing through the media resource.\n\nCan be set, to change the default rate of playback.\n\nThe default rate has no direct effect on playback, but if the user switches to a fast-forward mode, when they return to the normal playback mode, it is expected that the rate of playback will be returned to the default rate of playback.", "media-playbackrate": "Returns the current rate playback, where 1.0 is normal speed.\n\nCan be set, to change the rate of playback.", + "media-preservespitch": "Returns true if pitch-preserving algorithms are used when the playbackRate is not 1.0. The default value is true.\n\nCan be set to false to have the media resource's audio pitch change up or down depending on the playbackRate. This is useful for aesthetic and performance reasons.", "media-played": "Returns a TimeRanges object that represents the ranges of the media resource that the user agent has played.", "media-play": "Sets the paused attribute to false, loading the media resource and beginning playback if necessary. If the playback had ended, will restart it from the start.", "media-pause": "Sets the paused attribute to true, loading the media resource if necessary.", diff --git a/inputfiles/idl/HTML - Media.widl b/inputfiles/idl/HTML - Media.widl index 924359048..ac52c85e5 100644 --- a/inputfiles/idl/HTML - Media.widl +++ b/inputfiles/idl/HTML - Media.widl @@ -56,7 +56,7 @@ interface HTMLMediaElement : HTMLElement { readonly attribute unsigned short networkState; [CEReactions] attribute DOMString preload; readonly attribute TimeRanges buffered; - void load(); + undefined load(); CanPlayTypeResult canPlayType(DOMString type); // ready state @@ -70,19 +70,20 @@ interface HTMLMediaElement : HTMLElement { // playback state attribute double currentTime; - void fastSeek(double time); + undefined fastSeek(double time); readonly attribute unrestricted double duration; object getStartDate(); readonly attribute boolean paused; attribute double defaultPlaybackRate; attribute double playbackRate; + attribute boolean preservesPitch; readonly attribute TimeRanges played; readonly attribute TimeRanges seekable; readonly attribute boolean ended; [CEReactions] attribute boolean autoplay; [CEReactions] attribute boolean loop; - Promise play(); - void pause(); + Promise play(); + undefined pause(); // controls [CEReactions] attribute boolean controls; @@ -177,8 +178,8 @@ interface TextTrack : EventTarget { readonly attribute TextTrackCueList? cues; readonly attribute TextTrackCueList? activeCues; - void addCue(TextTrackCue cue); - void removeCue(TextTrackCue cue); + undefined addCue(TextTrackCue cue); + undefined removeCue(TextTrackCue cue); attribute EventHandler oncuechange; }; diff --git a/inputfiles/idl/HTML - Obsolete features.widl b/inputfiles/idl/HTML - Obsolete features.widl index a88a86fa7..4f60d6111 100644 --- a/inputfiles/idl/HTML - Obsolete features.widl +++ b/inputfiles/idl/HTML - Obsolete features.widl @@ -18,8 +18,8 @@ interface HTMLMarqueeElement : HTMLElement { attribute EventHandler onfinish; attribute EventHandler onstart; - void start(); - void stop(); + undefined start(); + undefined stop(); }; [Exposed=Window] @@ -277,22 +277,22 @@ partial interface Document { [SameObject] readonly attribute HTMLCollection anchors; [SameObject] readonly attribute HTMLCollection applets; - void clear(); - void captureEvents(); - void releaseEvents(); + undefined clear(); + undefined captureEvents(); + undefined releaseEvents(); [SameObject] readonly attribute HTMLAllCollection all; }; partial interface Window { - void captureEvents(); - void releaseEvents(); + undefined captureEvents(); + undefined releaseEvents(); [Replaceable, SameObject] readonly attribute External external; }; [Exposed=Window] interface External { - void AddSearchProvider(); - void IsSearchProviderInstalled(); + undefined AddSearchProvider(); + undefined IsSearchProviderInstalled(); }; diff --git a/inputfiles/idl/HTML - Offline Web applications.commentmap.json b/inputfiles/idl/HTML - Offline Web applications.commentmap.json index e3354e7aa..bb347e59e 100644 --- a/inputfiles/idl/HTML - Offline Web applications.commentmap.json +++ b/inputfiles/idl/HTML - Offline Web applications.commentmap.json @@ -1,8 +1,8 @@ { "applicationcache": "Returns the ApplicationCache object that applies to the active document of that Window.", "appcache-status": "Returns the current status of the application cache, as given by the constants defined below.", - "appcache-update": "Invokes the application cache download process.\n\nThrows an \"InvalidStateError\" DOMException if there is no application cache to update.\n\nCalling this method is not usually necessary, as user agents will generally take care of updating application caches automatically.\n\nThe method can be useful in situations such as long-lived applications. For example, a Web mail application might stay open in a browser tab for weeks at a time. Such an application could want to test for updates each day.", - "appcache-abort": "Cancels the application cache download process.\n\nThis method is intended to be used by Web application showing their own caching progress UI, in case the user wants to stop the update (e.g. because bandwidth is limited).", - "appcache-swapcache": "Switches to the most recent application cache, if there is a newer one. If there isn't, throws an \"InvalidStateError\" DOMException.\n\nThis does not cause previously-loaded resources to be reloaded; for example, images do not suddenly get reloaded and style sheets and scripts do not get reparsed or reevaluated. The only change is that subsequent requests for cached resources will obtain the newer copies.\n\nThe updateready event will fire before this method can be called. Once it fires, the Web application can, at its leisure, call this method to switch the underlying cache to the one with the more recent updates. To make proper use of this, applications have to be able to bring the new features into play; for example, reloading scripts to enable new features.\n\nAn easier alternative to swapCache() is just to reload the entire page at a time suitable for the user, using location.reload().", + "appcache-update": "Invokes the application cache download process.\n\nThrows an \"InvalidStateError\" DOMException if there is no application cache to update.\n\nCalling this method is not usually necessary, as user agents will generally take care of updating application caches automatically.\n\nThe method can be useful in situations such as long-lived applications. For example, a web mail application might stay open in a browser tab for weeks at a time. Such an application could want to test for updates each day.", + "appcache-abort": "Cancels the application cache download process.\n\nThis method is intended to be used by web application showing their own caching progress UI, in case the user wants to stop the update (e.g. because bandwidth is limited).", + "appcache-swapcache": "Switches to the most recent application cache, if there is a newer one. If there isn't, throws an \"InvalidStateError\" DOMException.\n\nThis does not cause previously-loaded resources to be reloaded; for example, images do not suddenly get reloaded and style sheets and scripts do not get reparsed or reevaluated. The only change is that subsequent requests for cached resources will obtain the newer copies.\n\nThe updateready event will fire before this method can be called. Once it fires, the web application can, at its leisure, call this method to switch the underlying cache to the one with the more recent updates. To make proper use of this, applications have to be able to bring the new features into play; for example, reloading scripts to enable new features.\n\nAn easier alternative to swapCache() is just to reload the entire page at a time suitable for the user, using location.reload().", "navigator": "Returns false if the user agent is definitely offline (disconnected from the network). Returns true if the user agent might be online.\n\nThe events online and offline are fired when the value of this attribute changes." } diff --git a/inputfiles/idl/HTML - Offline Web applications.widl b/inputfiles/idl/HTML - Offline Web applications.widl index 501123783..4122e335d 100644 --- a/inputfiles/idl/HTML - Offline Web applications.widl +++ b/inputfiles/idl/HTML - Offline Web applications.widl @@ -12,9 +12,9 @@ interface ApplicationCache : EventTarget { readonly attribute unsigned short status; // updates - void update(); - void abort(); - void swapCache(); + undefined update(); + undefined abort(); + undefined swapCache(); // events attribute EventHandler onchecking; diff --git a/inputfiles/idl/HTML - Scripting.widl b/inputfiles/idl/HTML - Scripting.widl index 5a620619b..01ca5c99f 100644 --- a/inputfiles/idl/HTML - Scripting.widl +++ b/inputfiles/idl/HTML - Scripting.widl @@ -12,6 +12,7 @@ interface HTMLScriptElement : HTMLElement { [CEReactions] attribute DOMString integrity; [CEReactions] attribute DOMString referrerPolicy; + // also has obsolete members }; [Exposed=Window] diff --git a/inputfiles/idl/HTML - Sections.widl b/inputfiles/idl/HTML - Sections.widl index b7fcb1f94..4de0853eb 100644 --- a/inputfiles/idl/HTML - Sections.widl +++ b/inputfiles/idl/HTML - Sections.widl @@ -1,6 +1,8 @@ [Exposed=Window] interface HTMLBodyElement : HTMLElement { [HTMLConstructor] constructor(); + + // also has obsolete members }; HTMLBodyElement includes WindowEventHandlers; @@ -8,4 +10,6 @@ HTMLBodyElement includes WindowEventHandlers; [Exposed=Window] interface HTMLHeadingElement : HTMLElement { [HTMLConstructor] constructor(); + + // also has obsolete members }; diff --git a/inputfiles/idl/HTML - Semantics.widl b/inputfiles/idl/HTML - Semantics.widl index 5561fd50b..7a84bd581 100644 --- a/inputfiles/idl/HTML - Semantics.widl +++ b/inputfiles/idl/HTML - Semantics.widl @@ -1,6 +1,8 @@ [Exposed=Window] interface HTMLHtmlElement : HTMLElement { [HTMLConstructor] constructor(); + + // also has obsolete members }; [Exposed=Window] @@ -40,6 +42,9 @@ interface HTMLLinkElement : HTMLElement { [CEReactions] attribute USVString imageSrcset; [CEReactions] attribute DOMString imageSizes; [CEReactions] attribute DOMString referrerPolicy; + [CEReactions] attribute boolean disabled; + + // also has obsolete members }; HTMLLinkElement includes LinkStyle; @@ -50,6 +55,8 @@ interface HTMLMetaElement : HTMLElement { [CEReactions] attribute DOMString name; [CEReactions] attribute DOMString httpEquiv; [CEReactions] attribute DOMString content; + + // also has obsolete members }; [Exposed=Window] @@ -57,5 +64,7 @@ interface HTMLStyleElement : HTMLElement { [HTMLConstructor] constructor(); [CEReactions] attribute DOMString media; + + // also has obsolete members }; HTMLStyleElement includes LinkStyle; diff --git a/inputfiles/idl/HTML - Server-sent events.widl b/inputfiles/idl/HTML - Server-sent events.widl index bd57f180c..e3f588b10 100644 --- a/inputfiles/idl/HTML - Server-sent events.widl +++ b/inputfiles/idl/HTML - Server-sent events.widl @@ -15,7 +15,7 @@ interface EventSource : EventTarget { attribute EventHandler onopen; attribute EventHandler onmessage; attribute EventHandler onerror; - void close(); + undefined close(); }; dictionary EventSourceInit { diff --git a/inputfiles/idl/HTML - Session history and navigation.widl b/inputfiles/idl/HTML - Session history and navigation.widl index 55988e236..33dc09775 100644 --- a/inputfiles/idl/HTML - Session history and navigation.widl +++ b/inputfiles/idl/HTML - Session history and navigation.widl @@ -5,11 +5,11 @@ interface History { readonly attribute unsigned long length; attribute ScrollRestoration scrollRestoration; readonly attribute any state; - void go(optional long delta = 0); - void back(); - void forward(); - void pushState(any data, DOMString title, optional USVString? url = null); - void replaceState(any data, DOMString title, optional USVString? url = null); + undefined go(optional long delta = 0); + undefined back(); + undefined forward(); + undefined pushState(any data, DOMString title, optional USVString? url = null); + undefined replaceState(any data, DOMString title, optional USVString? url = null); }; [Exposed=Window] @@ -24,9 +24,9 @@ interface Location { // but see also additional creation steps and overridden in [LegacyUnforgeable] attribute USVString search; [LegacyUnforgeable] attribute USVString hash; - [LegacyUnforgeable] void assign(USVString url); - [LegacyUnforgeable] void replace(USVString url); - [LegacyUnforgeable] void reload(); + [LegacyUnforgeable] undefined assign(USVString url); + [LegacyUnforgeable] undefined replace(USVString url); + [LegacyUnforgeable] undefined reload(); [LegacyUnforgeable, SameObject] readonly attribute DOMStringList ancestorOrigins; }; diff --git a/inputfiles/idl/HTML - System state and capabilities.widl b/inputfiles/idl/HTML - System state and capabilities.widl index f24cedb6f..fa2793dba 100644 --- a/inputfiles/idl/HTML - System state and capabilities.widl +++ b/inputfiles/idl/HTML - System state and capabilities.widl @@ -33,8 +33,8 @@ interface mixin NavigatorLanguage { }; interface mixin NavigatorContentUtils { - [SecureContext] void registerProtocolHandler(DOMString scheme, USVString url, DOMString title); - [SecureContext] void unregisterProtocolHandler(DOMString scheme, USVString url); + [SecureContext] undefined registerProtocolHandler(DOMString scheme, USVString url); + [SecureContext] undefined unregisterProtocolHandler(DOMString scheme, USVString url); }; interface mixin NavigatorCookies { @@ -50,7 +50,7 @@ interface mixin NavigatorPlugins { [Exposed=Window, LegacyUnenumerableNamedProperties] interface PluginArray { - void refresh(optional boolean reload = false); + undefined refresh(optional boolean reload = false); readonly attribute unsigned long length; getter Plugin? item(unsigned long index); getter Plugin? namedItem(DOMString name); diff --git a/inputfiles/idl/HTML - Tabular data.widl b/inputfiles/idl/HTML - Tabular data.widl index cc6204c03..8295e019d 100644 --- a/inputfiles/idl/HTML - Tabular data.widl +++ b/inputfiles/idl/HTML - Tabular data.widl @@ -4,27 +4,31 @@ interface HTMLTableElement : HTMLElement { [CEReactions] attribute HTMLTableCaptionElement? caption; HTMLTableCaptionElement createCaption(); - [CEReactions] void deleteCaption(); + [CEReactions] undefined deleteCaption(); [CEReactions] attribute HTMLTableSectionElement? tHead; HTMLTableSectionElement createTHead(); - [CEReactions] void deleteTHead(); + [CEReactions] undefined deleteTHead(); [CEReactions] attribute HTMLTableSectionElement? tFoot; HTMLTableSectionElement createTFoot(); - [CEReactions] void deleteTFoot(); + [CEReactions] undefined deleteTFoot(); [SameObject] readonly attribute HTMLCollection tBodies; HTMLTableSectionElement createTBody(); [SameObject] readonly attribute HTMLCollection rows; HTMLTableRowElement insertRow(optional long index = -1); - [CEReactions] void deleteRow(long index); + [CEReactions] undefined deleteRow(long index); + + // also has obsolete members }; [Exposed=Window] interface HTMLTableCaptionElement : HTMLElement { [HTMLConstructor] constructor(); + + // also has obsolete members }; [Exposed=Window] @@ -32,6 +36,8 @@ interface HTMLTableColElement : HTMLElement { [HTMLConstructor] constructor(); [CEReactions] attribute unsigned long span; + + // also has obsolete members }; [Exposed=Window] @@ -40,7 +46,9 @@ interface HTMLTableSectionElement : HTMLElement { [SameObject] readonly attribute HTMLCollection rows; HTMLTableRowElement insertRow(optional long index = -1); - [CEReactions] void deleteRow(long index); + [CEReactions] undefined deleteRow(long index); + + // also has obsolete members }; [Exposed=Window] @@ -51,7 +59,9 @@ interface HTMLTableRowElement : HTMLElement { readonly attribute long sectionRowIndex; [SameObject] readonly attribute HTMLCollection cells; HTMLTableCellElement insertCell(optional long index = -1); - [CEReactions] void deleteCell(long index); + [CEReactions] undefined deleteCell(long index); + + // also has obsolete members }; [Exposed=Window] @@ -65,4 +75,6 @@ interface HTMLTableCellElement : HTMLElement { [CEReactions] attribute DOMString scope; // only conforming for th elements [CEReactions] attribute DOMString abbr; // only conforming for th elements + + // also has obsolete members }; diff --git a/inputfiles/idl/HTML - Text level semantics.widl b/inputfiles/idl/HTML - Text level semantics.widl index 4a5ffbdf2..43dd6e2ee 100644 --- a/inputfiles/idl/HTML - Text level semantics.widl +++ b/inputfiles/idl/HTML - Text level semantics.widl @@ -13,6 +13,8 @@ interface HTMLAnchorElement : HTMLElement { [CEReactions] attribute DOMString text; [CEReactions] attribute DOMString referrerPolicy; + + // also has obsolete members }; HTMLAnchorElement includes HTMLHyperlinkElementUtils; @@ -38,4 +40,6 @@ interface HTMLSpanElement : HTMLElement { [Exposed=Window] interface HTMLBRElement : HTMLElement { [HTMLConstructor] constructor(); + + // also has obsolete members }; diff --git a/inputfiles/idl/HTML - The iframe, embed, and object elements.widl b/inputfiles/idl/HTML - The iframe, embed, and object elements.widl index de86b6d52..1088de23a 100644 --- a/inputfiles/idl/HTML - The iframe, embed, and object elements.widl +++ b/inputfiles/idl/HTML - The iframe, embed, and object elements.widl @@ -12,9 +12,12 @@ interface HTMLIFrameElement : HTMLElement { [CEReactions] attribute DOMString width; [CEReactions] attribute DOMString height; [CEReactions] attribute DOMString referrerPolicy; + [CEReactions] attribute DOMString loading; readonly attribute Document? contentDocument; readonly attribute WindowProxy? contentWindow; Document? getSVGDocument(); + + // also has obsolete members }; [Exposed=Window] @@ -26,6 +29,8 @@ interface HTMLEmbedElement : HTMLElement { [CEReactions] attribute DOMString width; [CEReactions] attribute DOMString height; Document? getSVGDocument(); + + // also has obsolete members }; [Exposed=Window] @@ -48,7 +53,9 @@ interface HTMLObjectElement : HTMLElement { readonly attribute DOMString validationMessage; boolean checkValidity(); boolean reportValidity(); - void setCustomValidity(DOMString error); + undefined setCustomValidity(DOMString error); + + // also has obsolete members }; [Exposed=Window] @@ -57,4 +64,6 @@ interface HTMLParamElement : HTMLElement { [CEReactions] attribute DOMString name; [CEReactions] attribute DOMString value; + + // also has obsolete members }; diff --git a/inputfiles/idl/HTML - The input element.widl b/inputfiles/idl/HTML - The input element.widl index 3e79d4eb0..103102186 100644 --- a/inputfiles/idl/HTML - The input element.widl +++ b/inputfiles/idl/HTML - The input element.widl @@ -39,25 +39,25 @@ interface HTMLInputElement : HTMLElement { attribute unrestricted double valueAsNumber; [CEReactions] attribute unsigned long width; - void stepUp(optional long n = 1); - void stepDown(optional long n = 1); + undefined stepUp(optional long n = 1); + undefined stepDown(optional long n = 1); readonly attribute boolean willValidate; readonly attribute ValidityState validity; readonly attribute DOMString validationMessage; boolean checkValidity(); boolean reportValidity(); - void setCustomValidity(DOMString error); + undefined setCustomValidity(DOMString error); readonly attribute NodeList? labels; - void select(); + undefined select(); attribute unsigned long? selectionStart; attribute unsigned long? selectionEnd; attribute DOMString? selectionDirection; - void setRangeText(DOMString replacement); - void setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve"); - void setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction); + undefined setRangeText(DOMString replacement); + undefined setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve"); + undefined setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction); // also has obsolete members }; diff --git a/inputfiles/idl/HTML - User interaction.commentmap.json b/inputfiles/idl/HTML - User interaction.commentmap.json index 039c4977d..89ae5f6e0 100644 --- a/inputfiles/idl/HTML - User interaction.commentmap.json +++ b/inputfiles/idl/HTML - User interaction.commentmap.json @@ -1,9 +1,9 @@ { "click": "Acts as if the element was clicked.", - "documentorshadowroot-activeelement": "Returns the deepest element in the document through which or to which key events are being routed. This is, roughly speaking, the focused element in the document.\n\nFor the purposes of this API, when a child browsing context is focused, its browsing context container is focused in the parent browsing context. For example, if the user moves the focus to a text control in an iframe, the iframe is the element returned by the activeElement API in the iframe's node document.\n\nSimilarly, when the focused element is in a different node tree than documentOrShadowRoot, the element returned will be the host that's located in the same node tree as documentOrShadowRoot if documentOrShadowRoot is a shadow-including inclusive ancestor of the focused element, and null if not.", + "documentorshadowroot-activeelement": "Returns the deepest element in the document through which or to which key events are being routed. This is, roughly speaking, the focused element in the document.\n\nFor the purposes of this API, when a child browsing context is focused, its container is focused in the parent browsing context. For example, if the user moves the focus to a text control in an iframe, the iframe is the element returned by the activeElement API in the iframe's node document.\n\nSimilarly, when the focused element is in a different node tree than documentOrShadowRoot, the element returned will be the host that's located in the same node tree as documentOrShadowRoot if documentOrShadowRoot is a shadow-including inclusive ancestor of the focused element, and null if not.", "document-hasfocus": "Returns true if key events are being routed through or to the document; otherwise, returns false. Roughly speaking, this corresponds to the document, or a document nested inside this one, being focused.", "window-focus": "Moves the focus to the window's browsing context, if any.", - "focus": "Moves the focus to the element.\n\nIf the element is a browsing context container, moves the focus to the nested browsing context instead.\n\nBy default, this method also scrolls the element into view. Providing the preventScroll option and setting it to true prevents this behavior.", + "focus": "Moves the focus to the element.\n\nIf the element is a browsing context container, moves the focus to its nested browsing context instead.\n\nBy default, this method also scrolls the element into view. Providing the preventScroll option and setting it to true prevents this behavior.", "blur": "Moves the focus to the viewport. Use of this method is discouraged; if you want to focus the viewport, call the focus() method on the Document's document element.\n\nDo not use this method to hide the focus ring if you find the focus ring unsightly. Instead, use a CSS rule to override the 'outline' property, and provide a different way to show what element is focused. Be aware that if an alternative focusing style isn't made available, the page will be significantly less usable for people who primarily navigate pages using a keyboard, or those with reduced vision who use focus outlines to help them navigate the page.\n\nFor example, to hide the outline from links and instead use a yellow background to indicate focus, you could use:\n\n```\n:link:focus, :visited:focus { outline: none; background: yellow; color: black; }\n```", "contenteditable": "Returns \"true\", \"false\", or \"inherit\", based on the state of the contenteditable attribute.\n\nCan be set, to change that state.\n\nThrows a \"SyntaxError\" DOMException if the new value isn't one of those strings.", "iscontenteditable": "Returns true if the element is editable; otherwise, returns false.", diff --git a/inputfiles/idl/HTML - Web application APIs.commentmap.json b/inputfiles/idl/HTML - Web application APIs.commentmap.json index fd0809c38..daf972c7c 100644 --- a/inputfiles/idl/HTML - Web application APIs.commentmap.json +++ b/inputfiles/idl/HTML - Web application APIs.commentmap.json @@ -1,5 +1,7 @@ { + "issecurecontext": "Returns whether or not this global object represents a secure context. [SECURE-CONTEXTS]", "origin": "Returns the global object's origin, serialized as string.", + "crossoriginisolated": "Returns whether scripts running in this global are allowed to use APIs that require cross-origin isolation. This depends on the `Cross-Origin-Opener-Policy` and `Cross-Origin-Embedder-Policy` HTTP response headers and the \"cross-origin-isolated\" feature.", "btoa": "Takes the input data, in the form of a Unicode string containing only characters in the range U+0000 to U+00FF, each representing a binary byte with values 0x00 to 0xFF respectively, and converts it to its base64 representation, which it returns.\n\nThrows an \"InvalidCharacterError\" DOMException exception if the input string contains any out-of-range characters.", "atob": "Takes the input data, in the form of a Unicode string containing base64-encoded binary data, decodes it, and returns a string consisting of characters in the range U+0000 to U+00FF, each representing a binary byte with values 0x00 to 0xFF respectively, corresponding to that binary data.\n\nThrows an \"InvalidCharacterError\" DOMException if the input string is not valid base64 data." } diff --git a/inputfiles/idl/HTML - Web application APIs.widl b/inputfiles/idl/HTML - Web application APIs.widl index 1911b5c30..e6f53590f 100644 --- a/inputfiles/idl/HTML - Web application APIs.widl +++ b/inputfiles/idl/HTML - Web application APIs.widl @@ -30,15 +30,15 @@ dictionary PromiseRejectionEventInit : EventInit { any reason; }; -[TreatNonObjectAsNull] +[LegacyTreatNonObjectAsNull] callback EventHandlerNonNull = any (Event event); typedef EventHandlerNonNull? EventHandler; -[TreatNonObjectAsNull] +[LegacyTreatNonObjectAsNull] callback OnErrorEventHandlerNonNull = any ((Event or DOMString) event, optional DOMString source, optional unsigned long lineno, optional unsigned long colno, optional any error); typedef OnErrorEventHandlerNonNull? OnErrorEventHandler; -[TreatNonObjectAsNull] +[LegacyTreatNonObjectAsNull] callback OnBeforeUnloadEventHandlerNonNull = DOMString? (Event event); typedef OnBeforeUnloadEventHandlerNonNull? OnBeforeUnloadEventHandler; @@ -58,7 +58,6 @@ interface mixin GlobalEventHandlers { attribute EventHandler ondrag; attribute EventHandler ondragend; attribute EventHandler ondragenter; - attribute EventHandler ondragexit; attribute EventHandler ondragleave; attribute EventHandler ondragover; attribute EventHandler ondragstart; @@ -79,13 +78,12 @@ interface mixin GlobalEventHandlers { attribute EventHandler onloadedmetadata; attribute EventHandler onloadstart; attribute EventHandler onmousedown; - [LenientThis] attribute EventHandler onmouseenter; - [LenientThis] attribute EventHandler onmouseleave; + [LegacyLenientThis] attribute EventHandler onmouseenter; + [LegacyLenientThis] attribute EventHandler onmouseleave; attribute EventHandler onmousemove; attribute EventHandler onmouseout; attribute EventHandler onmouseover; attribute EventHandler onmouseup; - attribute EventHandler onwheel; attribute EventHandler onpause; attribute EventHandler onplay; attribute EventHandler onplaying; @@ -106,6 +104,11 @@ interface mixin GlobalEventHandlers { attribute EventHandler ontoggle; attribute EventHandler onvolumechange; attribute EventHandler onwaiting; + attribute EventHandler onwebkitanimationend; + attribute EventHandler onwebkitanimationiteration; + attribute EventHandler onwebkitanimationstart; + attribute EventHandler onwebkittransitionend; + attribute EventHandler onwheel; }; interface mixin WindowEventHandlers { @@ -137,6 +140,8 @@ typedef (DOMString or Function) TimerHandler; interface mixin WindowOrWorkerGlobalScope { [Replaceable] readonly attribute USVString origin; + readonly attribute boolean isSecureContext; + readonly attribute boolean crossOriginIsolated; // base64 utility methods DOMString btoa(DOMString data); @@ -144,12 +149,12 @@ interface mixin WindowOrWorkerGlobalScope { // timers long setTimeout(TimerHandler handler, optional long timeout = 0, any... arguments); - void clearTimeout(optional long handle = 0); + undefined clearTimeout(optional long handle = 0); long setInterval(TimerHandler handler, optional long timeout = 0, any... arguments); - void clearInterval(optional long handle = 0); + undefined clearInterval(optional long handle = 0); // microtask queuing - void queueMicrotask(VoidFunction callback); + undefined queueMicrotask(VoidFunction callback); // ImageBitmap Promise createImageBitmap(ImageBitmapSource image, optional ImageBitmapOptions options = {}); diff --git a/inputfiles/idl/HTML - Web sockets.widl b/inputfiles/idl/HTML - Web sockets.widl index c629ce1f1..d1fb21bce 100644 --- a/inputfiles/idl/HTML - Web sockets.widl +++ b/inputfiles/idl/HTML - Web sockets.widl @@ -19,15 +19,15 @@ interface WebSocket : EventTarget { attribute EventHandler onclose; readonly attribute DOMString extensions; readonly attribute DOMString protocol; - void close(optional [Clamp] unsigned short code, optional USVString reason); + undefined close(optional [Clamp] unsigned short code, optional USVString reason); // messaging attribute EventHandler onmessage; attribute BinaryType binaryType; - void send(USVString data); - void send(Blob data); - void send(ArrayBuffer data); - void send(ArrayBufferView data); + undefined send(USVString data); + undefined send(Blob data); + undefined send(ArrayBuffer data); + undefined send(ArrayBufferView data); }; [Exposed=(Window,Worker)] diff --git a/inputfiles/idl/HTML - Web storage.commentmap.json b/inputfiles/idl/HTML - Web storage.commentmap.json index a6f4fd6a8..47f23b66d 100644 --- a/inputfiles/idl/HTML - Web storage.commentmap.json +++ b/inputfiles/idl/HTML - Web storage.commentmap.json @@ -1,12 +1,12 @@ { - "storage-length": "Returns the number of key/value pairs currently present in the list associated with the object.", - "storage-key": "Returns the name of the nth key in the list, or null if n is greater than or equal to the number of key/value pairs in the object.", - "storage-getitem": "Returns the current value associated with the given key, or null if the given key does not exist in the list associated with the object.", - "storage-setitem": "Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously.\n\nThrows a \"QuotaExceededError\" DOMException exception if the new value couldn't be set. (Setting could fail if, e.g., the user has disabled storage for the site, or if the quota has been exceeded.)", - "storage-removeitem": "Removes the key/value pair with the given key from the list associated with the object, if a key/value pair with the given key exists.", - "storage-clear": "Empties the list associated with the object of all key/value pairs, if there are any.", - "sessionstorage": "Returns the Storage object associated with that origin's session storage area.", - "localstorage": "Returns the Storage object associated with that origin's local storage area.\n\nThrows a \"SecurityError\" DOMException if the Document's origin is an opaque origin or if the request violates a policy decision (e.g. if the user agent is configured to not allow the page to persist data).", + "storage-length": "Returns the number of key/value pairs.", + "storage-key": "Returns the name of the nth key, or null if n is greater than or equal to the number of key/value pairs.", + "storage-getitem": "Returns the current value associated with the given key, or null if the given key does not exist.", + "storage-setitem": "Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously.\n\nThrows a \"QuotaExceededError\" DOMException exception if the new value couldn't be set. (Setting could fail if, e.g., the user has disabled storage for the site, or if the quota has been exceeded.)\n\nDispatches a storage event on Window objects holding an equivalent Storage object.", + "storage-removeitem": "Removes the key/value pair with the given key, if a key/value pair with the given key exists.\n\nDispatches a storage event on Window objects holding an equivalent Storage object.", + "storage-clear": "Removes all key/value pairs, if there are any.\n\nDispatches a storage event on Window objects holding an equivalent Storage object.", + "sessionstorage": "Returns the Storage object associated with that window's origin's session storage area.\n\nThrows a \"SecurityError\" DOMException if the Document's origin is an opaque origin or if the request violates a policy decision (e.g., if the user agent is configured to not allow the page to persist data).", + "localstorage": "Returns the Storage object associated with window's origin's local storage area.\n\nThrows a \"SecurityError\" DOMException if the Document's origin is an opaque origin or if the request violates a policy decision (e.g., if the user agent is configured to not allow the page to persist data).", "storageevent-key": "Returns the key of the storage item being changed.", "storageevent-oldvalue": "Returns the old value of the key of the storage item whose value is being changed.", "storageevent-newvalue": "Returns the new value of the key of the storage item whose value is being changed.", diff --git a/inputfiles/idl/HTML - Web storage.widl b/inputfiles/idl/HTML - Web storage.widl index 8344c17a5..f3fdc2d26 100644 --- a/inputfiles/idl/HTML - Web storage.widl +++ b/inputfiles/idl/HTML - Web storage.widl @@ -3,9 +3,9 @@ interface Storage { readonly attribute unsigned long length; DOMString? key(unsigned long index); getter DOMString? getItem(DOMString key); - setter void setItem(DOMString key, DOMString value); - deleter void removeItem(DOMString key); - void clear(); + setter undefined setItem(DOMString key, DOMString value); + deleter undefined removeItem(DOMString key); + undefined clear(); }; interface mixin WindowSessionStorage { @@ -28,7 +28,7 @@ interface StorageEvent : Event { readonly attribute USVString url; readonly attribute Storage? storageArea; - void initStorageEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false, optional DOMString? key = null, optional DOMString? oldValue = null, optional DOMString? newValue = null, optional USVString url = "", optional Storage? storageArea = null); + undefined initStorageEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false, optional DOMString? key = null, optional DOMString? oldValue = null, optional DOMString? newValue = null, optional USVString url = "", optional Storage? storageArea = null); }; dictionary StorageEventInit : EventInit { diff --git a/inputfiles/idl/HTML - Web workers.widl b/inputfiles/idl/HTML - Web workers.widl index 0ef3b12c5..cea1ab1a2 100644 --- a/inputfiles/idl/HTML - Web workers.widl +++ b/inputfiles/idl/HTML - Web workers.widl @@ -3,7 +3,7 @@ interface WorkerGlobalScope : EventTarget { readonly attribute WorkerGlobalScope self; readonly attribute WorkerLocation location; readonly attribute WorkerNavigator navigator; - void importScripts(USVString... urls); + undefined importScripts(USVString... urls); attribute OnErrorEventHandler onerror; attribute EventHandler onlanguagechange; @@ -17,10 +17,10 @@ interface WorkerGlobalScope : EventTarget { interface DedicatedWorkerGlobalScope : WorkerGlobalScope { [Replaceable] readonly attribute DOMString name; - void postMessage(any message, sequence transfer); - void postMessage(any message, optional PostMessageOptions options = {}); + undefined postMessage(any message, sequence transfer); + undefined postMessage(any message, optional PostMessageOptions options = {}); - void close(); + undefined close(); attribute EventHandler onmessage; attribute EventHandler onmessageerror; @@ -30,7 +30,7 @@ interface DedicatedWorkerGlobalScope : WorkerGlobalScope { interface SharedWorkerGlobalScope : WorkerGlobalScope { [Replaceable] readonly attribute DOMString name; - void close(); + undefined close(); attribute EventHandler onconnect; }; @@ -39,14 +39,14 @@ interface mixin AbstractWorker { attribute EventHandler onerror; }; -[Exposed=(Window,Worker)] +[Exposed=(Window,DedicatedWorker,SharedWorker)] interface Worker : EventTarget { constructor(USVString scriptURL, optional WorkerOptions options = {}); - void terminate(); + undefined terminate(); - void postMessage(any message, sequence transfer); - void postMessage(any message, optional PostMessageOptions options = {}); + undefined postMessage(any message, sequence transfer); + undefined postMessage(any message, optional PostMessageOptions options = {}); attribute EventHandler onmessage; attribute EventHandler onmessageerror; }; @@ -61,7 +61,7 @@ enum WorkerType { "classic", "module" }; Worker includes AbstractWorker; -[Exposed=(Window,Worker)] +[Exposed=Window] interface SharedWorker : EventTarget { constructor(USVString scriptURL, optional (DOMString or WorkerOptions) options = {}); diff --git a/inputfiles/idl/Identity for WebRTC.widl b/inputfiles/idl/Identity for WebRTC.widl index f45b23845..380c2d38a 100644 --- a/inputfiles/idl/Identity for WebRTC.widl +++ b/inputfiles/idl/Identity for WebRTC.widl @@ -5,7 +5,7 @@ interface RTCIdentityProviderGlobalScope : WorkerGlobalScope { [Exposed=RTCIdentityProviderGlobalScope] interface RTCIdentityProviderRegistrar { - void register (RTCIdentityProvider idp); + undefined register (RTCIdentityProvider idp); }; dictionary RTCIdentityProvider { @@ -35,13 +35,17 @@ dictionary RTCIdentityValidationResult { }; partial interface RTCPeerConnection { - void setIdentityProvider (DOMString provider, optional RTCIdentityProviderOptions options = {}); + undefined setIdentityProvider (DOMString provider, optional RTCIdentityProviderOptions options = {}); Promise getIdentityAssertion (); readonly attribute Promise peerIdentity; readonly attribute DOMString? idpLoginUrl; readonly attribute DOMString? idpErrorInfo; }; +partial dictionary RTCConfiguration { + DOMString peerIdentity; +}; + dictionary RTCIdentityProviderOptions { DOMString protocol = "default"; DOMString usernameHint; @@ -55,6 +59,29 @@ interface RTCIdentityAssertion { attribute DOMString name; }; +partial interface RTCError { + readonly attribute long? httpRequestStatusCode; +}; + +partial dictionary RTCErrorInit { + long httpRequestStatusCode; +}; + +// This is an extension of RTCErrorDetailType from [[WEBRTC-PC]] +// Unfortunately, WebIDL does not support partial enums (yet). +// +// partial enum RTCErrorDetailType { +enum RTCErrorDetailTypeIdp { + "idp-bad-script-failure", + "idp-execution-failure", + "idp-load-failure", + "idp-need-login", + "idp-timeout", + "idp-tls-failure", + "idp-token-expired", + "idp-token-invalid", +}; + partial dictionary MediaStreamConstraints { DOMString peerIdentity; }; diff --git a/inputfiles/idl/Media Capture and Streams.widl b/inputfiles/idl/Media Capture and Streams.widl index 6ab28cc3f..0b95df726 100644 --- a/inputfiles/idl/Media Capture and Streams.widl +++ b/inputfiles/idl/Media Capture and Streams.widl @@ -8,8 +8,8 @@ interface MediaStream : EventTarget { sequence getVideoTracks(); sequence getTracks(); MediaStreamTrack? getTrackById(DOMString trackId); - void addTrack(MediaStreamTrack track); - void removeTrack(MediaStreamTrack track); + undefined addTrack(MediaStreamTrack track); + undefined removeTrack(MediaStreamTrack track); MediaStream clone(); readonly attribute boolean active; attribute EventHandler onaddtrack; @@ -28,11 +28,11 @@ interface MediaStreamTrack : EventTarget { readonly attribute MediaStreamTrackState readyState; attribute EventHandler onended; MediaStreamTrack clone(); - void stop(); + undefined stop(); MediaTrackCapabilities getCapabilities(); MediaTrackConstraints getConstraints(); MediaTrackSettings getSettings(); - Promise applyConstraints(optional MediaTrackConstraints constraints = {}); + Promise applyConstraints(optional MediaTrackConstraints constraints = {}); }; enum MediaStreamTrackState { @@ -169,7 +169,7 @@ interface InputDeviceInfo : MediaDeviceInfo { }; partial interface Navigator { - [SecureContext] void getUserMedia(MediaStreamConstraints constraints, + [SecureContext] undefined getUserMedia(MediaStreamConstraints constraints, NavigatorUserMediaSuccessCallback successCallback, NavigatorUserMediaErrorCallback errorCallback); }; @@ -184,9 +184,9 @@ dictionary MediaStreamConstraints { (boolean or MediaTrackConstraints) audio = false; }; -callback NavigatorUserMediaSuccessCallback = void (MediaStream stream); +callback NavigatorUserMediaSuccessCallback = undefined (MediaStream stream); -callback NavigatorUserMediaErrorCallback = void (MediaStreamError error); +callback NavigatorUserMediaErrorCallback = undefined (MediaStreamError error); typedef object MediaStreamError; diff --git a/inputfiles/idl/Media Playback Quality.widl b/inputfiles/idl/Media Playback Quality.widl index 529883cd9..8b357ac80 100644 --- a/inputfiles/idl/Media Playback Quality.widl +++ b/inputfiles/idl/Media Playback Quality.widl @@ -7,4 +7,7 @@ interface VideoPlaybackQuality { readonly attribute DOMHighResTimeStamp creationTime; readonly attribute unsigned long droppedVideoFrames; readonly attribute unsigned long totalVideoFrames; + + // Deprecated! + readonly attribute unsigned long corruptedVideoFrames; }; diff --git a/inputfiles/idl/Notifications.widl b/inputfiles/idl/Notifications.widl index 8ecda19b7..131d62fd4 100644 --- a/inputfiles/idl/Notifications.widl +++ b/inputfiles/idl/Notifications.widl @@ -28,7 +28,7 @@ interface Notification : EventTarget { [SameObject] readonly attribute any data; [SameObject] readonly attribute FrozenArray actions; - void close(); + undefined close(); }; dictionary NotificationOptions { @@ -66,14 +66,14 @@ dictionary NotificationAction { USVString icon; }; -callback NotificationPermissionCallback = void (NotificationPermission permission); +callback NotificationPermissionCallback = undefined (NotificationPermission permission); dictionary GetNotificationOptions { DOMString tag = ""; }; partial interface ServiceWorkerRegistration { - Promise showNotification(DOMString title, optional NotificationOptions options = {}); + Promise showNotification(DOMString title, optional NotificationOptions options = {}); Promise> getNotifications(optional GetNotificationOptions filter = {}); }; diff --git a/inputfiles/idl/Performance Timeline.widl b/inputfiles/idl/Performance Timeline.widl index 1f0144b91..59746c91a 100644 --- a/inputfiles/idl/Performance Timeline.widl +++ b/inputfiles/idl/Performance Timeline.widl @@ -14,13 +14,14 @@ interface PerformanceEntry { [Default] object toJSON(); }; -callback PerformanceObserverCallback = void (PerformanceObserverEntryList entries, - PerformanceObserver observer); +callback PerformanceObserverCallback = undefined (PerformanceObserverEntryList entries, + PerformanceObserver observer, + optional boolean hasDroppedEntry = false); [Exposed=(Window,Worker)] interface PerformanceObserver { constructor(PerformanceObserverCallback callback); - void observe (optional PerformanceObserverInit options = {}); - void disconnect (); + undefined observe (optional PerformanceObserverInit options = {}); + undefined disconnect (); PerformanceEntryList takeRecords(); [SameObject] static readonly attribute FrozenArray supportedEntryTypes; }; diff --git a/inputfiles/idl/Permissions.widl b/inputfiles/idl/Permissions.widl index e08a4a348..e858fefbd 100644 --- a/inputfiles/idl/Permissions.widl +++ b/inputfiles/idl/Permissions.widl @@ -16,12 +16,12 @@ interface PermissionStatus : EventTarget { [Exposed=(Window)] partial interface Navigator { - readonly attribute Permissions permissions; + [SameObject] readonly attribute Permissions permissions; }; [Exposed=(Worker)] partial interface WorkerNavigator { - readonly attribute Permissions permissions; + [SameObject] readonly attribute Permissions permissions; }; [Exposed=(Window,Worker)] @@ -38,6 +38,7 @@ enum PermissionName { "microphone", "speaker", "device-info", + "background-fetch", "background-sync", "bluetooth", "persistent-storage", @@ -45,7 +46,10 @@ enum PermissionName { "accelerometer", "gyroscope", "magnetometer", - "clipboard", + "clipboard-read", + "clipboard-write", + "display-capture", + "nfc", }; dictionary PushPermissionDescriptor : PermissionDescriptor { @@ -59,3 +63,13 @@ dictionary MidiPermissionDescriptor : PermissionDescriptor { dictionary DevicePermissionDescriptor : PermissionDescriptor { DOMString deviceId; }; + +dictionary CameraDevicePermissionDescriptor : DevicePermissionDescriptor { + boolean panTiltZoom = false; +}; + +dictionary PermissionSetParameters { + required PermissionDescriptor descriptor; + required PermissionState state; + boolean oneRealm = false; +}; diff --git a/inputfiles/idl/Push.widl b/inputfiles/idl/Push.widl index b2fe87e89..92b1566f8 100644 --- a/inputfiles/idl/Push.widl +++ b/inputfiles/idl/Push.widl @@ -59,8 +59,9 @@ partial interface ServiceWorkerGlobalScope { attribute EventHandler onpushsubscriptionchange; }; -[Constructor(DOMString type, optional PushEventInit eventInitDict = {}), Exposed=ServiceWorker, SecureContext] +[Exposed=ServiceWorker, SecureContext] interface PushEvent : ExtendableEvent { + constructor(DOMString type, optional PushEventInit eventInitDict = {}); readonly attribute PushMessageData? data; }; @@ -70,8 +71,9 @@ dictionary PushEventInit : ExtendableEventInit { PushMessageDataInit data; }; -[Constructor(DOMString type, optional PushSubscriptionChangeEventInit eventInitDict = {}), Exposed=ServiceWorker, SecureContext] +[Exposed=ServiceWorker, SecureContext] interface PushSubscriptionChangeEvent : ExtendableEvent { + constructor(DOMString type, optional PushSubscriptionChangeEventInit eventInitDict = {}); readonly attribute PushSubscription? newSubscription; readonly attribute PushSubscription? oldSubscription; }; diff --git a/inputfiles/idl/Resource Timing.widl b/inputfiles/idl/Resource Timing.widl index 6dab8cc70..8aa48f76d 100644 --- a/inputfiles/idl/Resource Timing.widl +++ b/inputfiles/idl/Resource Timing.widl @@ -21,7 +21,7 @@ interface PerformanceResourceTiming : PerformanceEntry { }; partial interface Performance { - void clearResourceTimings (); - void setResourceTimingBufferSize (unsigned long maxSize); + undefined clearResourceTimings (); + undefined setResourceTimingBufferSize (unsigned long maxSize); attribute EventHandler onresourcetimingbufferfull; }; diff --git a/inputfiles/idl/Selection.widl b/inputfiles/idl/Selection.widl index 47e3a480d..006b7d368 100644 --- a/inputfiles/idl/Selection.widl +++ b/inputfiles/idl/Selection.widl @@ -8,19 +8,19 @@ interface Selection { readonly attribute unsigned long rangeCount; readonly attribute DOMString type; Range getRangeAt(unsigned long index); - void addRange(Range range); - void removeRange(Range range); - void removeAllRanges(); - void empty(); - void collapse(Node? node, optional unsigned long offset = 0); - void setPosition(Node? node, optional unsigned long offset = 0); - void collapseToStart(); - void collapseToEnd(); - void extend(Node node, optional unsigned long offset = 0); - void setBaseAndExtent(Node anchorNode, unsigned long anchorOffset, Node focusNode, unsigned long focusOffset); - void selectAllChildren(Node node); + undefined addRange(Range range); + undefined removeRange(Range range); + undefined removeAllRanges(); + undefined empty(); + undefined collapse(Node? node, optional unsigned long offset = 0); + undefined setPosition(Node? node, optional unsigned long offset = 0); + undefined collapseToStart(); + undefined collapseToEnd(); + undefined extend(Node node, optional unsigned long offset = 0); + undefined setBaseAndExtent(Node anchorNode, unsigned long anchorOffset, Node focusNode, unsigned long focusOffset); + undefined selectAllChildren(Node node); [CEReactions] - void deleteFromDocument(); + undefined deleteFromDocument(); boolean containsNode(Node node, optional boolean allowPartialContainment = false); stringifier DOMString (); }; diff --git a/inputfiles/idl/Service Workers.widl b/inputfiles/idl/Service Workers.widl index b11a49765..b5f2ca444 100644 --- a/inputfiles/idl/Service Workers.widl +++ b/inputfiles/idl/Service Workers.widl @@ -169,6 +169,7 @@ interface FetchEvent : ExtendableEvent { readonly attribute DOMString clientId; readonly attribute DOMString resultingClientId; readonly attribute DOMString replacesClientId; + readonly attribute Promise handled; void respondWith(Promise r); }; @@ -179,6 +180,7 @@ dictionary FetchEventInit : ExtendableEventInit { DOMString clientId = ""; DOMString resultingClientId = ""; DOMString replacesClientId = ""; + Promise handled; }; [Exposed=ServiceWorker] diff --git a/inputfiles/idl/Streams.commentmap.json b/inputfiles/idl/Streams.commentmap.json index 47dc90aaa..4ac8f33d9 100644 --- a/inputfiles/idl/Streams.commentmap.json +++ b/inputfiles/idl/Streams.commentmap.json @@ -1,7 +1,7 @@ { "readablestreamgetreaderoptions-mode": "Creates a ReadableStreamBYOBReader and locks the stream to the new reader.\n\nThis call behaves the same way as the no-argument variant, except that it only works on readable byte streams, i.e. streams which were constructed specifically with the ability to handle \"bring your own buffer\" reading. The returned BYOB reader provides the ability to directly read individual chunks from the stream via its read() method, into developer-supplied buffers, allowing more precise control over allocation.", "readablewritablepair-writable": "Provides a convenient, chainable way of piping this readable stream through a transform stream (or any other { writable, readable } pair). It simply pipes the stream into the writable side of the supplied pair, and returns the readable side for further use.\n\nPiping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader.", - "streampipeoptions-preventclose": "Pipes this readable stream to a given writable stream destination. The way in which the piping process behaves under various error conditions can be customized with a number of passed options. It returns a promise that fulfills when the piping process completes successfully, or rejects if any errors were encountered.\n\nPiping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader.\n\nErrors and closures of the source and destination streams propagate as follows:\n\nAn error in this source readable stream will abort destination, unless preventAbort is truthy. The returned promise will be rejected with the source's error, or with any error that occurs during aborting the destination.\n\nAn error in destination will cancel this source readable stream, unless preventCancel is truthy. The returned promise will be rejected with the destination's error, or with any error that occurs during canceling the source.\n\nWhen this source readable stream closes, destination will be closed, unless preventCancel is truthy. The returned promise will be fulfilled once this process completes, unless an error is encountered while closing the destination, in which case it will be rejected with that error.\n\nIf destination starts out closed or closing, this source readable stream will be canceled, unless preventCancel is true. The returned promise will be rejected with an error indicating piping to a closed stream failed, or with any error that occurs during canceling the source.\n\nThe signal option can be set to an AbortSignal to allow aborting an ongoing pipe operation via the corresponding AbortController. In this case, this source readable stream will be canceled, and destination aborted, unless the respective options preventCancel or preventAbort are set.", + "streampipeoptions-preventclose": "Pipes this readable stream to a given writable stream destination. The way in which the piping process behaves under various error conditions can be customized with a number of passed options. It returns a promise that fulfills when the piping process completes successfully, or rejects if any errors were encountered.\n\nPiping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader.\n\nErrors and closures of the source and destination streams propagate as follows:\n\nAn error in this source readable stream will abort destination, unless preventAbort is truthy. The returned promise will be rejected with the source's error, or with any error that occurs during aborting the destination.\n\nAn error in destination will cancel this source readable stream, unless preventCancel is truthy. The returned promise will be rejected with the destination's error, or with any error that occurs during canceling the source.\n\nWhen this source readable stream closes, destination will be closed, unless preventClose is truthy. The returned promise will be fulfilled once this process completes, unless an error is encountered while closing the destination, in which case it will be rejected with that error.\n\nIf destination starts out closed or closing, this source readable stream will be canceled, unless preventCancel is true. The returned promise will be rejected with an error indicating piping to a closed stream failed, or with any error that occurs during canceling the source.\n\nThe signal option can be set to an AbortSignal to allow aborting an ongoing pipe operation via the corresponding AbortController. In this case, this source readable stream will be canceled, and destination aborted, unless the respective options preventCancel or preventAbort are set.", "readablestreamiteratoroptions-preventcancel": "Asynchronously iterates over the chunks in the stream's internal queue.\n\nAsynchronously iterating over the stream will lock it, preventing any other consumer from acquiring a reader. The lock will be released if the async iterator's return() method is called, e.g. by breaking out of the loop.\n\nBy default, calling the async iterator's return() method will also cancel the stream. To prevent this, use the stream's values() method, passing true for the preventCancel option.", "queuingstrategyinit-highwatermark": "Creates a new ByteLengthQueuingStrategy with the provided high water mark.\n\nNote that the provided high water mark will not be validated ahead of time. Instead, if it is negative, NaN, or not a number, the resulting ByteLengthQueuingStrategy will cause the corresponding stream constructor to throw." } diff --git a/inputfiles/idl/URL.widl b/inputfiles/idl/URL.widl index 37340ca39..78d442c0b 100644 --- a/inputfiles/idl/URL.widl +++ b/inputfiles/idl/URL.widl @@ -23,14 +23,14 @@ interface URL { interface URLSearchParams { constructor(optional (sequence> or record or USVString) init = ""); - void append(USVString name, USVString value); - void delete(USVString name); + undefined append(USVString name, USVString value); + undefined delete(USVString name); USVString? get(USVString name); sequence getAll(USVString name); boolean has(USVString name); - void set(USVString name, USVString value); + undefined set(USVString name, USVString value); - void sort(); + undefined sort(); iterable; stringifier; diff --git a/inputfiles/idl/Web Audio.widl b/inputfiles/idl/Web Audio.widl index e135b97c1..8882541a3 100644 --- a/inputfiles/idl/Web Audio.widl +++ b/inputfiles/idl/Web Audio.widl @@ -4,9 +4,9 @@ enum AudioContextState { "closed" }; -callback DecodeErrorCallback = void (DOMException error); +callback DecodeErrorCallback = undefined (DOMException error); -callback DecodeSuccessCallback = void (AudioBuffer decodedData); +callback DecodeSuccessCallback = undefined (AudioBuffer decodedData); [Exposed=Window] interface BaseAudioContext : EventTarget { @@ -21,28 +21,36 @@ interface BaseAudioContext : EventTarget { AnalyserNode createAnalyser (); BiquadFilterNode createBiquadFilter (); - AudioBuffer createBuffer (unsigned long numberOfChannels, unsigned long length, float sampleRate); + AudioBuffer createBuffer (unsigned long numberOfChannels, + unsigned long length, + float sampleRate); AudioBufferSourceNode createBufferSource (); ChannelMergerNode createChannelMerger (optional unsigned long numberOfInputs = 6); - ChannelSplitterNode createChannelSplitter (optional unsigned long numberOfOutputs = 6); + ChannelSplitterNode createChannelSplitter ( + optional unsigned long numberOfOutputs = 6); ConstantSourceNode createConstantSource (); ConvolverNode createConvolver (); DelayNode createDelay (optional double maxDelayTime = 1.0); DynamicsCompressorNode createDynamicsCompressor (); GainNode createGain (); - IIRFilterNode createIIRFilter (sequence feedforward, sequence feedback); + IIRFilterNode createIIRFilter (sequence feedforward, + sequence feedback); OscillatorNode createOscillator (); PannerNode createPanner (); - PeriodicWave createPeriodicWave (sequence real, sequence imag, optional PeriodicWaveConstraints constraints); - ScriptProcessorNode createScriptProcessor(optional unsigned long bufferSize = 0, - optional unsigned long numberOfInputChannels = 2, - optional unsigned long numberOfOutputChannels = 2); + PeriodicWave createPeriodicWave (sequence real, + sequence imag, + optional PeriodicWaveConstraints constraints = {}); + ScriptProcessorNode createScriptProcessor( + optional unsigned long bufferSize = 0, + optional unsigned long numberOfInputChannels = 2, + optional unsigned long numberOfOutputChannels = 2); StereoPannerNode createStereoPanner (); WaveShaperNode createWaveShaper (); - Promise decodeAudioData (ArrayBuffer audioData, - optional DecodeSuccessCallback? successCallback, - optional DecodeErrorCallback? errorCallback); + Promise decodeAudioData ( + ArrayBuffer audioData, + optional DecodeSuccessCallback? successCallback, + optional DecodeErrorCallback? errorCallback); }; enum AudioContextLatencyCategory { @@ -51,19 +59,20 @@ enum AudioContextLatencyCategory { "playback" }; -[Exposed=Window, - Constructor (optional AudioContextOptions contextOptions)] +[Exposed=Window] interface AudioContext : BaseAudioContext { - readonly attribute double baseLatency; - readonly attribute double outputLatency; - AudioTimestamp getOutputTimestamp (); - Promise resume (); - Promise suspend (); - Promise close (); - MediaElementAudioSourceNode createMediaElementSource (HTMLMediaElement mediaElement); - MediaStreamAudioSourceNode createMediaStreamSource (MediaStream mediaStream); - MediaStreamTrackAudioSourceNode createMediaStreamTrackSource (MediaStreamTrack mediaStreamTrack); - MediaStreamAudioDestinationNode createMediaStreamDestination (); + constructor (optional AudioContextOptions contextOptions = {}); + readonly attribute double baseLatency; + readonly attribute double outputLatency; + AudioTimestamp getOutputTimestamp (); + Promise resume (); + Promise suspend (); + Promise close (); + MediaElementAudioSourceNode createMediaElementSource (HTMLMediaElement mediaElement); + MediaStreamAudioSourceNode createMediaStreamSource (MediaStream mediaStream); + MediaStreamTrackAudioSourceNode createMediaStreamTrackSource ( + MediaStreamTrack mediaStreamTrack); + MediaStreamAudioDestinationNode createMediaStreamDestination (); }; dictionary AudioContextOptions { @@ -76,13 +85,13 @@ dictionary AudioTimestamp { DOMHighResTimeStamp performanceTime; }; -[Exposed=Window, - Constructor (OfflineAudioContextOptions contextOptions), - Constructor (unsigned long numberOfChannels, unsigned long length, float sampleRate)] +[Exposed=Window] interface OfflineAudioContext : BaseAudioContext { + constructor(OfflineAudioContextOptions contextOptions); + constructor(unsigned long numberOfChannels, unsigned long length, float sampleRate); Promise startRendering(); - Promise resume(); - Promise suspend(double suspendTime); + Promise resume(); + Promise suspend(double suspendTime); readonly attribute unsigned long length; attribute EventHandler oncomplete; }; @@ -93,9 +102,9 @@ dictionary OfflineAudioContextOptions { required float sampleRate; }; -[Exposed=Window, - Constructor (DOMString type, OfflineAudioCompletionEventInit eventInitDict)] +[Exposed=Window] interface OfflineAudioCompletionEvent : Event { + constructor (DOMString type, OfflineAudioCompletionEventInit eventInitDict); readonly attribute AudioBuffer renderedBuffer; }; @@ -103,16 +112,20 @@ dictionary OfflineAudioCompletionEventInit : EventInit { required AudioBuffer renderedBuffer; }; -[Exposed=Window, - Constructor (AudioBufferOptions options)] +[Exposed=Window] interface AudioBuffer { + constructor (AudioBufferOptions options); readonly attribute float sampleRate; readonly attribute unsigned long length; readonly attribute double duration; readonly attribute unsigned long numberOfChannels; Float32Array getChannelData (unsigned long channel); - void copyFromChannel (Float32Array destination, unsigned long channelNumber, optional unsigned long bufferOffset = 0); - void copyToChannel (Float32Array source, unsigned long channelNumber, optional unsigned long bufferOffset = 0); + undefined copyFromChannel (Float32Array destination, + unsigned long channelNumber, + optional unsigned long bufferOffset = 0); + undefined copyToChannel (Float32Array source, + unsigned long channelNumber, + optional unsigned long bufferOffset = 0); }; dictionary AudioBufferOptions { @@ -126,14 +139,16 @@ interface AudioNode : EventTarget { AudioNode connect (AudioNode destinationNode, optional unsigned long output = 0, optional unsigned long input = 0); - void connect (AudioParam destinationParam, optional unsigned long output = 0); - void disconnect (); - void disconnect (unsigned long output); - void disconnect (AudioNode destinationNode); - void disconnect (AudioNode destinationNode, unsigned long output); - void disconnect (AudioNode destinationNode, unsigned long output, unsigned long input); - void disconnect (AudioParam destinationParam); - void disconnect (AudioParam destinationParam, unsigned long output); + undefined connect (AudioParam destinationParam, optional unsigned long output = 0); + undefined disconnect (); + undefined disconnect (unsigned long output); + undefined disconnect (AudioNode destinationNode); + undefined disconnect (AudioNode destinationNode, unsigned long output); + undefined disconnect (AudioNode destinationNode, + unsigned long output, + unsigned long input); + undefined disconnect (AudioParam destinationParam); + undefined disconnect (AudioParam destinationParam, unsigned long output); readonly attribute BaseAudioContext context; readonly attribute unsigned long numberOfInputs; readonly attribute unsigned long numberOfOutputs; @@ -175,7 +190,9 @@ interface AudioParam { AudioParam linearRampToValueAtTime (float value, double endTime); AudioParam exponentialRampToValueAtTime (float value, double endTime); AudioParam setTargetAtTime (float target, double startTime, float timeConstant); - AudioParam setValueCurveAtTime (sequence values, double startTime, double duration); + AudioParam setValueCurveAtTime (sequence values, + double startTime, + double duration); AudioParam cancelScheduledValues (double cancelTime); AudioParam cancelAndHoldAtTime (double cancelTime); }; @@ -183,17 +200,17 @@ interface AudioParam { [Exposed=Window] interface AudioScheduledSourceNode : AudioNode { attribute EventHandler onended; - void start(optional double when = 0); - void stop(optional double when = 0); + undefined start(optional double when = 0); + undefined stop(optional double when = 0); }; -[Exposed=Window, - Constructor (BaseAudioContext context, optional AnalyserOptions options = {})] +[Exposed=Window] interface AnalyserNode : AudioNode { - void getFloatFrequencyData (Float32Array array); - void getByteFrequencyData (Uint8Array array); - void getFloatTimeDomainData (Float32Array array); - void getByteTimeDomainData (Uint8Array array); + constructor (BaseAudioContext context, optional AnalyserOptions options = {}); + undefined getFloatFrequencyData (Float32Array array); + undefined getByteFrequencyData (Uint8Array array); + undefined getFloatTimeDomainData (Float32Array array); + undefined getByteTimeDomainData (Uint8Array array); attribute unsigned long fftSize; readonly attribute unsigned long frequencyBinCount; attribute double minDecibels; @@ -208,18 +225,19 @@ dictionary AnalyserOptions : AudioNodeOptions { double smoothingTimeConstant = 0.8; }; -[Exposed=Window, - Constructor (BaseAudioContext context, optional AudioBufferSourceOptions options = {})] +[Exposed=Window] interface AudioBufferSourceNode : AudioScheduledSourceNode { + constructor (BaseAudioContext context, + optional AudioBufferSourceOptions options = {}); attribute AudioBuffer? buffer; readonly attribute AudioParam playbackRate; readonly attribute AudioParam detune; attribute boolean loop; attribute double loopStart; attribute double loopEnd; - void start (optional double when = 0, - optional double offset, - optional double duration); + undefined start (optional double when = 0, + optional double offset, + optional double duration); }; dictionary AudioBufferSourceOptions { @@ -247,13 +265,13 @@ interface AudioListener { readonly attribute AudioParam upX; readonly attribute AudioParam upY; readonly attribute AudioParam upZ; - void setPosition (float x, float y, float z); - void setOrientation (float x, float y, float z, float xUp, float yUp, float zUp); + undefined setPosition (float x, float y, float z); + undefined setOrientation (float x, float y, float z, float xUp, float yUp, float zUp); }; -[Exposed=Window, - Constructor (DOMString type, AudioProcessingEventInit eventInitDict)] +[Exposed=Window] interface AudioProcessingEvent : Event { + constructor (DOMString type, AudioProcessingEventInit eventInitDict); readonly attribute double playbackTime; readonly attribute AudioBuffer inputBuffer; readonly attribute AudioBuffer outputBuffer; @@ -276,15 +294,17 @@ enum BiquadFilterType { "allpass" }; -[Exposed=Window, - Constructor (BaseAudioContext context, optional BiquadFilterOptions options = {})] +[Exposed=Window] interface BiquadFilterNode : AudioNode { + constructor (BaseAudioContext context, optional BiquadFilterOptions options = {}); attribute BiquadFilterType type; readonly attribute AudioParam frequency; readonly attribute AudioParam detune; readonly attribute AudioParam Q; readonly attribute AudioParam gain; - void getFrequencyResponse (Float32Array frequencyHz, Float32Array magResponse, Float32Array phaseResponse); + undefined getFrequencyResponse (Float32Array frequencyHz, + Float32Array magResponse, + Float32Array phaseResponse); }; dictionary BiquadFilterOptions : AudioNodeOptions { @@ -295,27 +315,27 @@ dictionary BiquadFilterOptions : AudioNodeOptions { float gain = 0; }; -[Exposed=Window, - Constructor (BaseAudioContext context, optional ChannelMergerOptions options = {})] +[Exposed=Window] interface ChannelMergerNode : AudioNode { + constructor (BaseAudioContext context, optional ChannelMergerOptions options = {}); }; dictionary ChannelMergerOptions : AudioNodeOptions { unsigned long numberOfInputs = 6; }; -[Exposed=Window, - Constructor (BaseAudioContext context, optional ChannelSplitterOptions options = {})] +[Exposed=Window] interface ChannelSplitterNode : AudioNode { + constructor (BaseAudioContext context, optional ChannelSplitterOptions options = {}); }; dictionary ChannelSplitterOptions : AudioNodeOptions { unsigned long numberOfOutputs = 6; }; -[Exposed=Window, - Constructor (BaseAudioContext context, optional ConstantSourceOptions options = {})] +[Exposed=Window] interface ConstantSourceNode : AudioScheduledSourceNode { + constructor (BaseAudioContext context, optional ConstantSourceOptions options = {}); readonly attribute AudioParam offset; }; @@ -323,9 +343,9 @@ dictionary ConstantSourceOptions { float offset = 1; }; -[Exposed=Window, - Constructor (BaseAudioContext context, optional ConvolverOptions options = {})] +[Exposed=Window] interface ConvolverNode : AudioNode { + constructor (BaseAudioContext context, optional ConvolverOptions options = {}); attribute AudioBuffer? buffer; attribute boolean normalize; }; @@ -335,9 +355,9 @@ dictionary ConvolverOptions : AudioNodeOptions { boolean disableNormalization = false; }; -[Exposed=Window, - Constructor (BaseAudioContext context, optional DelayOptions options = {})] +[Exposed=Window] interface DelayNode : AudioNode { + constructor (BaseAudioContext context, optional DelayOptions options = {}); readonly attribute AudioParam delayTime; }; @@ -346,9 +366,10 @@ dictionary DelayOptions : AudioNodeOptions { double delayTime = 0; }; -[Exposed=Window, - Constructor (BaseAudioContext context, optional DynamicsCompressorOptions options = {})] +[Exposed=Window] interface DynamicsCompressorNode : AudioNode { + constructor (BaseAudioContext context, + optional DynamicsCompressorOptions options = {}); readonly attribute AudioParam threshold; readonly attribute AudioParam knee; readonly attribute AudioParam ratio; @@ -365,9 +386,9 @@ dictionary DynamicsCompressorOptions : AudioNodeOptions { float threshold = -24; }; -[Exposed=Window, - Constructor (BaseAudioContext context, optional GainOptions options = {})] +[Exposed=Window] interface GainNode : AudioNode { + constructor (BaseAudioContext context, optional GainOptions options = {}); readonly attribute AudioParam gain; }; @@ -375,10 +396,12 @@ dictionary GainOptions : AudioNodeOptions { float gain = 1.0; }; -[Exposed=Window, - Constructor (BaseAudioContext context, IIRFilterOptions options)] +[Exposed=Window] interface IIRFilterNode : AudioNode { - void getFrequencyResponse (Float32Array frequencyHz, Float32Array magResponse, Float32Array phaseResponse); + constructor (BaseAudioContext context, IIRFilterOptions options); + undefined getFrequencyResponse (Float32Array frequencyHz, + Float32Array magResponse, + Float32Array phaseResponse); }; dictionary IIRFilterOptions : AudioNodeOptions { @@ -386,9 +409,9 @@ dictionary IIRFilterOptions : AudioNodeOptions { required sequence feedback; }; -[Exposed=Window, - Constructor (AudioContext context, MediaElementAudioSourceOptions options)] +[Exposed=Window] interface MediaElementAudioSourceNode : AudioNode { + constructor (AudioContext context, MediaElementAudioSourceOptions options); [SameObject] readonly attribute HTMLMediaElement mediaElement; }; @@ -396,15 +419,15 @@ dictionary MediaElementAudioSourceOptions { required HTMLMediaElement mediaElement; }; -[Exposed=Window, - Constructor (AudioContext context, optional AudioNodeOptions options = {})] +[Exposed=Window] interface MediaStreamAudioDestinationNode : AudioNode { + constructor (AudioContext context, optional AudioNodeOptions options = {}); readonly attribute MediaStream stream; }; -[Exposed=Window, - Constructor (AudioContext context, MediaStreamAudioSourceOptions options)] +[Exposed=Window] interface MediaStreamAudioSourceNode : AudioNode { + constructor (AudioContext context, MediaStreamAudioSourceOptions options); [SameObject] readonly attribute MediaStream mediaStream; }; @@ -412,9 +435,9 @@ dictionary MediaStreamAudioSourceOptions { required MediaStream mediaStream; }; -[Exposed=Window, - Constructor (AudioContext context, MediaStreamTrackAudioSourceOptions options)] +[Exposed=Window] interface MediaStreamTrackAudioSourceNode : AudioNode { + constructor (AudioContext context, MediaStreamTrackAudioSourceOptions options); }; dictionary MediaStreamTrackAudioSourceOptions { @@ -429,13 +452,13 @@ enum OscillatorType { "custom" }; -[Exposed=Window, - Constructor (BaseAudioContext context, optional OscillatorOptions options = {})] +[Exposed=Window] interface OscillatorNode : AudioScheduledSourceNode { + constructor (BaseAudioContext context, optional OscillatorOptions options = {}); attribute OscillatorType type; readonly attribute AudioParam frequency; readonly attribute AudioParam detune; - void setPeriodicWave (PeriodicWave periodicWave); + undefined setPeriodicWave (PeriodicWave periodicWave); }; dictionary OscillatorOptions : AudioNodeOptions { @@ -456,9 +479,9 @@ enum DistanceModelType { "exponential" }; -[Exposed=Window, - Constructor (BaseAudioContext context, optional PannerOptions options = {})] +[Exposed=Window] interface PannerNode : AudioNode { + constructor (BaseAudioContext context, optional PannerOptions options = {}); attribute PanningModelType panningModel; readonly attribute AudioParam positionX; readonly attribute AudioParam positionY; @@ -473,8 +496,8 @@ interface PannerNode : AudioNode { attribute double coneInnerAngle; attribute double coneOuterAngle; attribute double coneOuterGain; - void setPosition (float x, float y, float z); - void setOrientation (float x, float y, float z); + undefined setPosition (float x, float y, float z); + undefined setOrientation (float x, float y, float z); }; dictionary PannerOptions : AudioNodeOptions { @@ -494,9 +517,9 @@ dictionary PannerOptions : AudioNodeOptions { double coneOuterGain = 0; }; -[Exposed=Window, - Constructor (BaseAudioContext context, optional PeriodicWaveOptions options = {})] +[Exposed=Window] interface PeriodicWave { + constructor (BaseAudioContext context, optional PeriodicWaveOptions options = {}); }; dictionary PeriodicWaveConstraints { @@ -514,9 +537,9 @@ interface ScriptProcessorNode : AudioNode { readonly attribute long bufferSize; }; -[Exposed=Window, - Constructor (BaseAudioContext context, optional StereoPannerOptions options = {})] +[Exposed=Window] interface StereoPannerNode : AudioNode { + constructor (BaseAudioContext context, optional StereoPannerOptions options = {}); readonly attribute AudioParam pan; }; @@ -530,9 +553,9 @@ enum OverSampleType { "4x" }; -[Exposed=Window, - Constructor (BaseAudioContext context, optional WaveShaperOptions options = {})] +[Exposed=Window] interface WaveShaperNode : AudioNode { + constructor (BaseAudioContext context, optional WaveShaperOptions options = {}); attribute Float32Array? curve; attribute OverSampleType oversample; }; @@ -550,7 +573,8 @@ callback AudioWorkletProcessorConstructor = AudioWorkletProcessor (object option [Global=(Worklet, AudioWorklet), Exposed=AudioWorklet] interface AudioWorkletGlobalScope : WorkletGlobalScope { - void registerProcessor (DOMString name, AudioWorkletProcessorConstructor processorCtor); + undefined registerProcessor (DOMString name, + AudioWorkletProcessorConstructor processorCtor); readonly attribute unsigned long long currentFrame; readonly attribute double currentTime; readonly attribute float sampleRate; @@ -561,11 +585,10 @@ interface AudioParamMap { readonly maplike; }; -[Exposed=Window, - SecureContext, - Constructor (BaseAudioContext context, DOMString name, - optional AudioWorkletNodeOptions options = {})] +[Exposed=Window, SecureContext] interface AudioWorkletNode : AudioNode { + constructor (BaseAudioContext context, DOMString name, + optional AudioWorkletNodeOptions options = {}); readonly attribute AudioParamMap parameters; readonly attribute MessagePort port; attribute EventHandler onprocessorerror; @@ -579,9 +602,9 @@ dictionary AudioWorkletNodeOptions : AudioNodeOptions { object processorOptions; }; -[Exposed=AudioWorklet, -Constructor (optional AudioWorkletNodeOptions options = {})] +[Exposed=AudioWorklet] interface AudioWorkletProcessor { + constructor (); readonly attribute MessagePort port; }; diff --git a/inputfiles/idl/Web Authentication.widl b/inputfiles/idl/Web Authentication.widl index 575a5362e..073226627 100644 --- a/inputfiles/idl/Web Authentication.widl +++ b/inputfiles/idl/Web Authentication.widl @@ -72,8 +72,8 @@ dictionary PublicKeyCredentialUserEntity : PublicKeyCredentialEntity { dictionary AuthenticatorSelectionCriteria { DOMString authenticatorAttachment; - boolean requireResidentKey = false; DOMString residentKey; + boolean requireResidentKey = false; DOMString userVerification = "preferred"; }; @@ -110,8 +110,6 @@ dictionary AuthenticationExtensionsClientInputs { dictionary AuthenticationExtensionsClientOutputs { }; -typedef record AuthenticationExtensionsAuthenticatorInputs; - dictionary CollectedClientData { required DOMString type; required DOMString challenge; @@ -164,6 +162,10 @@ partial dictionary AuthenticationExtensionsClientInputs { USVString appidExclude; }; +partial dictionary AuthenticationExtensionsClientOutputs { + boolean appidExclude; +}; + partial dictionary AuthenticationExtensionsClientInputs { boolean uvm; }; @@ -186,3 +188,44 @@ dictionary CredentialPropertiesOutput { partial dictionary AuthenticationExtensionsClientOutputs { CredentialPropertiesOutput credProps; }; + +dictionary AuthenticationExtensionsPRFValues { + required ArrayBuffer first; + ArrayBuffer second; +}; + +dictionary AuthenticationExtensionsPRFInputs { + AuthenticationExtensionsPRFValues eval; + record evalByCredential; +}; + +partial dictionary AuthenticationExtensionsClientInputs { + AuthenticationExtensionsPRFInputs prf; +}; + +dictionary AuthenticationExtensionsPRFOutputs { + boolean enabled; + AuthenticationExtensionsPRFValues results; +}; + +partial dictionary AuthenticationExtensionsClientOutputs { + AuthenticationExtensionsPRFOutputs prf; +}; + +partial dictionary AuthenticationExtensionsClientInputs { + AuthenticationExtensionsLargeBlobInputs largeBlob; +}; + +dictionary AuthenticationExtensionsLargeBlobInputs { + boolean read; + ArrayBuffer write; +}; + +partial dictionary AuthenticationExtensionsClientOutputs { + AuthenticationExtensionsLargeBlobOutputs largeBlob; +}; + +dictionary AuthenticationExtensionsLargeBlobOutputs { + ArrayBuffer blob; + boolean written; +}; diff --git a/inputfiles/idl/Web Cryptography.widl b/inputfiles/idl/Web Cryptography.widl index 7907cf788..7d7bbff5a 100644 --- a/inputfiles/idl/Web Cryptography.widl +++ b/inputfiles/idl/Web Cryptography.widl @@ -1,5 +1,5 @@ partial interface mixin WindowOrWorkerGlobalScope { - readonly attribute Crypto crypto; + [SameObject] readonly attribute Crypto crypto; }; [Exposed=(Window,Worker)] @@ -155,7 +155,7 @@ dictionary RsaHashedImportParams : Algorithm { dictionary RsaPssParams : Algorithm { // The desired length of the random salt - [EnforceRange] required unsigned long saltLength; + required [EnforceRange] unsigned long saltLength; }; dictionary RsaOaepParams : Algorithm { @@ -201,7 +201,7 @@ dictionary AesCtrParams : Algorithm { required BufferSource counter; // The length, in bits, of the rightmost part of the counter block // that is incremented. - [EnforceRange] required octet length; + required [EnforceRange] octet length; }; dictionary AesKeyAlgorithm : KeyAlgorithm { @@ -211,12 +211,12 @@ dictionary AesKeyAlgorithm : KeyAlgorithm { dictionary AesKeyGenParams : Algorithm { // The length, in bits, of the key. - [EnforceRange] required unsigned short length; + required [EnforceRange] unsigned short length; }; dictionary AesDerivedKeyParams : Algorithm { // The length, in bits, of the key. - [EnforceRange] required unsigned short length; + required [EnforceRange] unsigned short length; }; dictionary AesCbcParams : Algorithm { @@ -267,6 +267,6 @@ dictionary HkdfParams : Algorithm { dictionary Pbkdf2Params : Algorithm { required BufferSource salt; - [EnforceRange] required unsigned long iterations; + required [EnforceRange] unsigned long iterations; required HashAlgorithmIdentifier hash; }; diff --git a/inputfiles/idl/Web IDL.widl b/inputfiles/idl/Web IDL.widl index 62e7031cf..0087f26f3 100644 --- a/inputfiles/idl/Web IDL.widl +++ b/inputfiles/idl/Web IDL.widl @@ -43,4 +43,4 @@ typedef unsigned long long DOMTimeStamp; callback Function = any (any... arguments); -callback VoidFunction = void (); +callback VoidFunction = undefined (); diff --git a/inputfiles/idl/Web Messaging.widl b/inputfiles/idl/Web Messaging.widl index fb613a3d0..4e88f79fd 100644 --- a/inputfiles/idl/Web Messaging.widl +++ b/inputfiles/idl/Web Messaging.widl @@ -1,15 +1,17 @@ -[Constructor, Exposed=(Window,Worker)] +[Exposed=(Window,Worker)] interface MessageChannel { + constructor(); + readonly attribute MessagePort port1; readonly attribute MessagePort port2; }; [Exposed=(Window,Worker,AudioWorklet), Transferable] interface MessagePort : EventTarget { - void postMessage(any message, sequence transfer); - void postMessage(any message, optional PostMessageOptions options = {}); - void start(); - void close(); + undefined postMessage(any message, sequence transfer); + undefined postMessage(any message, optional PostMessageOptions options = {}); + undefined start(); + undefined close(); // event handlers attribute EventHandler onmessage; @@ -25,8 +27,8 @@ interface BroadcastChannel : EventTarget { constructor(DOMString name); readonly attribute DOMString name; - void postMessage(any message); - void close(); + undefined postMessage(any message); + undefined close(); attribute EventHandler onmessage; attribute EventHandler onmessageerror; }; diff --git a/inputfiles/idl/Web Share.widl b/inputfiles/idl/Web Share.widl index a635a1014..b313de372 100644 --- a/inputfiles/idl/Web Share.widl +++ b/inputfiles/idl/Web Share.widl @@ -1,8 +1,9 @@ partial interface Navigator { - [SecureContext] Promise share(optional ShareData data = {}); + [SecureContext] Promise share(optional ShareData data = {}); }; dictionary ShareData { + sequence files; USVString title; USVString text; USVString url; diff --git a/inputfiles/idl/Web Speech API.widl b/inputfiles/idl/Web Speech API.widl index ff0c4ab89..36f640c36 100644 --- a/inputfiles/idl/Web Speech API.widl +++ b/inputfiles/idl/Web Speech API.widl @@ -10,9 +10,9 @@ interface SpeechRecognition : EventTarget { attribute unsigned long maxAlternatives; // methods to drive the speech interaction - void start(); - void stop(); - void abort(); + undefined start(); + undefined stop(); + undefined abort(); // event methods attribute EventHandler onaudiostart; @@ -99,9 +99,9 @@ interface SpeechGrammarList { constructor(); readonly attribute unsigned long length; getter SpeechGrammar item(unsigned long index); - void addFromURI(DOMString src, + undefined addFromURI(DOMString src, optional float weight = 1.0); - void addFromString(DOMString string, + undefined addFromString(DOMString string, optional float weight = 1.0); }; @@ -113,10 +113,10 @@ interface SpeechSynthesis : EventTarget { attribute EventHandler onvoiceschanged; - void speak(SpeechSynthesisUtterance utterance); - void cancel(); - void pause(); - void resume(); + undefined speak(SpeechSynthesisUtterance utterance); + undefined cancel(); + undefined pause(); + undefined resume(); sequence getVoices(); }; diff --git a/inputfiles/idl/WebRTC.widl b/inputfiles/idl/WebRTC.widl index 4fdc00497..849b3097f 100644 --- a/inputfiles/idl/WebRTC.widl +++ b/inputfiles/idl/WebRTC.widl @@ -3,25 +3,18 @@ dictionary RTCConfiguration { RTCIceTransportPolicy iceTransportPolicy; RTCBundlePolicy bundlePolicy; RTCRtcpMuxPolicy rtcpMuxPolicy; - DOMString peerIdentity; sequence certificates; [EnforceRange] octet iceCandidatePoolSize = 0; }; enum RTCIceCredentialType { - "password", - "oauth" -}; - -dictionary RTCOAuthCredential { - required DOMString macKey; - required DOMString accessToken; + "password" }; dictionary RTCIceServer { required (DOMString or sequence) urls; DOMString username; - (DOMString or RTCOAuthCredential) credential; + DOMString credential; RTCIceCredentialType credentialType = "password"; }; @@ -37,14 +30,10 @@ enum RTCBundlePolicy { }; enum RTCRtcpMuxPolicy { - // At risk due to lack of implementers' interest. - "negotiate", "require" }; -dictionary RTCOfferAnswerOptions { - boolean voiceActivityDetection = true; -}; +dictionary RTCOfferAnswerOptions {}; dictionary RTCOfferOptions : RTCOfferAnswerOptions { boolean iceRestart = false; @@ -91,25 +80,24 @@ interface RTCPeerConnection : EventTarget { constructor(optional RTCConfiguration configuration = {}); Promise createOffer(optional RTCOfferOptions options = {}); Promise createAnswer(optional RTCAnswerOptions options = {}); - Promise setLocalDescription(optional RTCSessionDescriptionInit description = {}); + Promise setLocalDescription(optional RTCLocalSessionDescriptionInit description = {}); readonly attribute RTCSessionDescription? localDescription; readonly attribute RTCSessionDescription? currentLocalDescription; readonly attribute RTCSessionDescription? pendingLocalDescription; - Promise setRemoteDescription(optional RTCSessionDescriptionInit description = {}); + Promise setRemoteDescription(RTCSessionDescriptionInit description); readonly attribute RTCSessionDescription? remoteDescription; readonly attribute RTCSessionDescription? currentRemoteDescription; readonly attribute RTCSessionDescription? pendingRemoteDescription; - Promise addIceCandidate(optional RTCIceCandidateInit candidate = {}); + Promise addIceCandidate(optional RTCIceCandidateInit candidate = {}); readonly attribute RTCSignalingState signalingState; readonly attribute RTCIceGatheringState iceGatheringState; readonly attribute RTCIceConnectionState iceConnectionState; readonly attribute RTCPeerConnectionState connectionState; readonly attribute boolean? canTrickleIceCandidates; - void restartIce(); - static sequence getDefaultIceServers(); + undefined restartIce(); RTCConfiguration getConfiguration(); - void setConfiguration(RTCConfiguration configuration); - void close(); + undefined setConfiguration(optional RTCConfiguration configuration = {}); + undefined close(); attribute EventHandler onnegotiationneeded; attribute EventHandler onicecandidate; attribute EventHandler onicecandidateerror; @@ -123,25 +111,25 @@ interface RTCPeerConnection : EventTarget { // If these methods are supported // they must be implemented as defined // in section "Legacy Interface Extensions" - Promise createOffer(RTCSessionDescriptionCallback successCallback, + Promise createOffer(RTCSessionDescriptionCallback successCallback, RTCPeerConnectionErrorCallback failureCallback, optional RTCOfferOptions options = {}); - Promise setLocalDescription(optional RTCSessionDescriptionInit description = {}, + Promise setLocalDescription(optional RTCLocalSessionDescriptionInit description = {}, VoidFunction successCallback, RTCPeerConnectionErrorCallback failureCallback); - Promise createAnswer(RTCSessionDescriptionCallback successCallback, + Promise createAnswer(RTCSessionDescriptionCallback successCallback, RTCPeerConnectionErrorCallback failureCallback); - Promise setRemoteDescription(optional RTCSessionDescriptionInit description = {}, + Promise setRemoteDescription(RTCSessionDescriptionInit description, VoidFunction successCallback, RTCPeerConnectionErrorCallback failureCallback); - Promise addIceCandidate(RTCIceCandidateInit candidate, + Promise addIceCandidate(RTCIceCandidateInit candidate, VoidFunction successCallback, RTCPeerConnectionErrorCallback failureCallback); }; -callback RTCPeerConnectionErrorCallback = void (DOMException error); +callback RTCPeerConnectionErrorCallback = undefined (DOMException error); -callback RTCSessionDescriptionCallback = void (RTCSessionDescriptionInit description); +callback RTCSessionDescriptionCallback = undefined (RTCSessionDescriptionInit description); partial dictionary RTCOfferOptions { boolean offerToReceiveAudio; @@ -157,13 +145,18 @@ enum RTCSdpType { [Exposed=Window] interface RTCSessionDescription { - constructor(optional RTCSessionDescriptionInit descriptionInitDict = {}); + constructor(RTCSessionDescriptionInit descriptionInitDict); readonly attribute RTCSdpType type; readonly attribute DOMString sdp; [Default] object toJSON(); }; dictionary RTCSessionDescriptionInit { + required RTCSdpType type; + DOMString sdp = ""; +}; + +dictionary RTCLocalSessionDescriptionInit { RTCSdpType type; DOMString sdp = ""; }; @@ -228,26 +221,21 @@ dictionary RTCPeerConnectionIceEventInit : EventInit { [Exposed=Window] interface RTCPeerConnectionIceErrorEvent : Event { constructor(DOMString type, RTCPeerConnectionIceErrorEventInit eventInitDict); - readonly attribute DOMString hostCandidate; + readonly attribute DOMString? address; + readonly attribute unsigned short? port; readonly attribute DOMString url; readonly attribute unsigned short errorCode; readonly attribute USVString errorText; }; dictionary RTCPeerConnectionIceErrorEventInit : EventInit { - DOMString hostCandidate; + DOMString? address; + unsigned short? port; DOMString url; required unsigned short errorCode; USVString statusText; }; -enum RTCPriorityType { - "very-low", - "low", - "medium", - "high" -}; - partial interface RTCPeerConnection { static Promise generateCertificate(AlgorithmIdentifier keygenAlgorithm); @@ -260,7 +248,6 @@ dictionary RTCCertificateExpiration { [Exposed=Window, Serializable] interface RTCCertificate { readonly attribute DOMTimeStamp expires; - static sequence getSupportedAlgorithms(); sequence getFingerprints(); }; @@ -269,7 +256,7 @@ partial interface RTCPeerConnection { sequence getReceivers(); sequence getTransceivers(); RTCRtpSender addTrack(MediaStreamTrack track, MediaStream... streams); - void removeTrack(RTCRtpSender sender); + undefined removeTrack(RTCRtpSender sender); RTCRtpTransceiver addTransceiver((MediaStreamTrack or DOMString) trackOrKind, optional RTCRtpTransceiverInit init = {}); attribute EventHandler ontrack; @@ -293,12 +280,11 @@ enum RTCRtpTransceiverDirection { interface RTCRtpSender { readonly attribute MediaStreamTrack? track; readonly attribute RTCDtlsTransport? transport; - readonly attribute RTCDtlsTransport? rtcpTransport; static RTCRtpCapabilities? getCapabilities(DOMString kind); - Promise setParameters(RTCRtpSendParameters parameters); + Promise setParameters(RTCRtpSendParameters parameters); RTCRtpSendParameters getParameters(); - Promise replaceTrack(MediaStreamTrack? withTrack); - void setStreams(MediaStream... streams); + Promise replaceTrack(MediaStreamTrack? withTrack); + undefined setStreams(MediaStream... streams); Promise getStats(); }; @@ -311,12 +297,9 @@ dictionary RTCRtpParameters { dictionary RTCRtpSendParameters : RTCRtpParameters { required DOMString transactionId; required sequence encodings; - RTCDegradationPreference degradationPreference = "balanced"; - RTCPriorityType priority = "low"; }; dictionary RTCRtpReceiveParameters : RTCRtpParameters { - required sequence encodings; }; dictionary RTCRtpCodingParameters { @@ -326,26 +309,11 @@ dictionary RTCRtpCodingParameters { dictionary RTCRtpDecodingParameters : RTCRtpCodingParameters {}; dictionary RTCRtpEncodingParameters : RTCRtpCodingParameters { - octet codecPayloadType; - RTCDtxStatus dtx; boolean active = true; - unsigned long ptime; unsigned long maxBitrate; - double maxFramerate; double scaleResolutionDownBy; }; -enum RTCDtxStatus { - "disabled", - "enabled" -}; - -enum RTCDegradationPreference { - "maintain-framerate", - "maintain-resolution", - "balanced" -}; - dictionary RTCRtcpParameters { DOMString cname; boolean reducedSize; @@ -385,7 +353,6 @@ dictionary RTCRtpHeaderExtensionCapability { interface RTCRtpReceiver { readonly attribute MediaStreamTrack track; readonly attribute RTCDtlsTransport? transport; - readonly attribute RTCDtlsTransport? rtcpTransport; static RTCRtpCapabilities? getCapabilities(DOMString kind); RTCRtpReceiveParameters getParameters(); sequence getContributingSources(); @@ -411,8 +378,8 @@ interface RTCRtpTransceiver { [SameObject] readonly attribute RTCRtpReceiver receiver; attribute RTCRtpTransceiverDirection direction; readonly attribute RTCRtpTransceiverDirection? currentDirection; - void stop(); - void setCodecPreferences(sequence codecs); + undefined stop(); + undefined setCodecPreferences(sequence codecs); }; [Exposed=Window] @@ -537,7 +504,6 @@ interface RTCDataChannel : EventTarget { readonly attribute USVString protocol; readonly attribute boolean negotiated; readonly attribute unsigned short? id; - readonly attribute RTCPriorityType priority; readonly attribute RTCDataChannelState readyState; readonly attribute unsigned long bufferedAmount; [EnforceRange] attribute unsigned long bufferedAmountLowThreshold; @@ -546,13 +512,13 @@ interface RTCDataChannel : EventTarget { attribute EventHandler onerror; attribute EventHandler onclosing; attribute EventHandler onclose; - void close(); + undefined close(); attribute EventHandler onmessage; attribute DOMString binaryType; - void send(USVString data); - void send(Blob data); - void send(ArrayBuffer data); - void send(ArrayBufferView data); + undefined send(USVString data); + undefined send(Blob data); + undefined send(ArrayBuffer data); + undefined send(ArrayBufferView data); }; dictionary RTCDataChannelInit { @@ -562,7 +528,6 @@ dictionary RTCDataChannelInit { USVString protocol = ""; boolean negotiated = false; [EnforceRange] unsigned short id; - RTCPriorityType priority = "low"; }; enum RTCDataChannelState { @@ -588,7 +553,7 @@ partial interface RTCRtpSender { [Exposed=Window] interface RTCDTMFSender : EventTarget { - void insertDTMF(DOMString tones, optional unsigned long duration = 100, optional unsigned long interToneGap = 70); + undefined insertDTMF(DOMString tones, optional unsigned long duration = 100, optional unsigned long interToneGap = 70); attribute EventHandler ontonechange; readonly attribute boolean canInsertDTMF; readonly attribute DOMString toneBuffer; @@ -596,17 +561,16 @@ interface RTCDTMFSender : EventTarget { [Exposed=Window] interface RTCDTMFToneChangeEvent : Event { - constructor(DOMString type, RTCDTMFToneChangeEventInit eventInitDict); + constructor(DOMString type, optional RTCDTMFToneChangeEventInit eventInitDict = {}); readonly attribute DOMString tone; }; dictionary RTCDTMFToneChangeEventInit : EventInit { - required DOMString tone; + DOMString tone = ""; }; partial interface RTCPeerConnection { Promise getStats(optional MediaStreamTrack? selector = null); - attribute EventHandler onstatsended; }; [Exposed=Window] @@ -620,22 +584,11 @@ dictionary RTCStats { required DOMString id; }; -[Exposed=Window] -interface RTCStatsEvent : Event { - constructor(DOMString type, RTCStatsEventInit eventInitDict); - readonly attribute RTCStatsReport report; -}; - -dictionary RTCStatsEventInit : EventInit { - required RTCStatsReport report; -}; - [Exposed=Window] interface RTCError : DOMException { constructor(RTCErrorInit init, optional DOMString message = ""); readonly attribute RTCErrorDetailType errorDetail; readonly attribute long? sdpLineNumber; - readonly attribute long? httpRequestStatusCode; readonly attribute long? sctpCauseCode; readonly attribute unsigned long? receivedAlert; readonly attribute unsigned long? sentAlert; @@ -644,7 +597,6 @@ interface RTCError : DOMException { dictionary RTCErrorInit { required RTCErrorDetailType errorDetail; long sdpLineNumber; - long httpRequestStatusCode; long sctpCauseCode; unsigned long receivedAlert; unsigned long sentAlert; @@ -654,14 +606,6 @@ enum RTCErrorDetailType { "data-channel-failure", "dtls-failure", "fingerprint-failure", - "idp-bad-script-failure", - "idp-execution-failure", - "idp-load-failure", - "idp-need-login", - "idp-timeout", - "idp-tls-failure", - "idp-token-expired", - "idp-token-invalid", "sctp-failure", "sdp-syntax-error", "hardware-encoder-not-available", diff --git a/inputfiles/idl/Worklets.widl b/inputfiles/idl/Worklets.widl index 8d129d1e8..51e5c278e 100644 --- a/inputfiles/idl/Worklets.widl +++ b/inputfiles/idl/Worklets.widl @@ -4,7 +4,7 @@ interface WorkletGlobalScope { [Exposed=Window] interface Worklet { - [NewObject] Promise addModule(USVString moduleURL, optional WorkletOptions options); + [NewObject] Promise addModule(USVString moduleURL, optional WorkletOptions options = {}); }; dictionary WorkletOptions { diff --git a/inputfiles/idl/XMLHttpRequest.widl b/inputfiles/idl/XMLHttpRequest.widl index d265967dd..28c74794b 100644 --- a/inputfiles/idl/XMLHttpRequest.widl +++ b/inputfiles/idl/XMLHttpRequest.widl @@ -39,14 +39,14 @@ interface XMLHttpRequest : XMLHttpRequestEventTarget { readonly attribute unsigned short readyState; // request - void open(ByteString method, USVString url); - void open(ByteString method, USVString url, boolean async, optional USVString? username = null, optional USVString? password = null); - void setRequestHeader(ByteString name, ByteString value); + undefined open(ByteString method, USVString url); + undefined open(ByteString method, USVString url, boolean async, optional USVString? username = null, optional USVString? password = null); + undefined setRequestHeader(ByteString name, ByteString value); attribute unsigned long timeout; attribute boolean withCredentials; [SameObject] readonly attribute XMLHttpRequestUpload upload; - void send(optional (Document or BodyInit)? body = null); - void abort(); + undefined send(optional (Document or XMLHttpRequestBodyInit)? body = null); + undefined abort(); // response readonly attribute USVString responseURL; @@ -54,7 +54,7 @@ interface XMLHttpRequest : XMLHttpRequestEventTarget { readonly attribute ByteString statusText; ByteString? getResponseHeader(ByteString name); ByteString getAllResponseHeaders(); - void overrideMimeType(DOMString mime); + undefined overrideMimeType(DOMString mime); attribute XMLHttpRequestResponseType responseType; readonly attribute any response; readonly attribute USVString responseText; @@ -67,14 +67,14 @@ typedef (File or USVString) FormDataEntryValue; interface FormData { constructor(optional HTMLFormElement form); - void append(USVString name, USVString value); - void append(USVString name, Blob blobValue, optional USVString filename); - void delete(USVString name); + undefined append(USVString name, USVString value); + undefined append(USVString name, Blob blobValue, optional USVString filename); + undefined delete(USVString name); FormDataEntryValue? get(USVString name); sequence getAll(USVString name); boolean has(USVString name); - void set(USVString name, USVString value); - void set(USVString name, Blob blobValue, optional USVString filename); + undefined set(USVString name, USVString value); + undefined set(USVString name, Blob blobValue, optional USVString filename); iterable; }; From aa59123921e974087ddc85c50d566068813baaee Mon Sep 17 00:00:00 2001 From: Mattias Buelens Date: Tue, 4 Aug 2020 23:28:01 +0200 Subject: [PATCH 03/13] Remove redundant entries from removedTypes --- inputfiles/removedTypes.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/inputfiles/removedTypes.json b/inputfiles/removedTypes.json index 729a0e86f..4f82ac0ef 100644 --- a/inputfiles/removedTypes.json +++ b/inputfiles/removedTypes.json @@ -152,10 +152,7 @@ "insetInlineEnd": null, "insetInlineStart": null, "leadingTrim": null, - "leadingTrimOver": null, - "leadingTrimUnder": null, "lineClamp": null, - "lineSizing": null, "marginBlock": null, "marginInline": null, "maskBorder": null, From 1722bb8ed6f295ce2563b4973a8ffa71c6906359 Mon Sep 17 00:00:00 2001 From: Mattias Buelens Date: Wed, 5 Aug 2020 00:01:11 +0200 Subject: [PATCH 04/13] Fix BodyInit override --- inputfiles/overridingTypes.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index f3db4950f..0151a6742 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -3096,7 +3096,7 @@ "typedefs": { "typedef": [ { - "override-type": "Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string", + "override-type": "ReadableStream | XMLHttpRequestBodyInit", "new-type": "BodyInit" }, { From bf6652850d113d3b594c0a852fff485709cb1da8 Mon Sep 17 00:00:00 2001 From: Mattias Buelens Date: Wed, 5 Aug 2020 00:12:54 +0200 Subject: [PATCH 05/13] Remove removed RTCStatsEvent --- inputfiles/overridingTypes.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/inputfiles/overridingTypes.json b/inputfiles/overridingTypes.json index 0151a6742..0f89fa6a5 100644 --- a/inputfiles/overridingTypes.json +++ b/inputfiles/overridingTypes.json @@ -1864,10 +1864,6 @@ { "name": "isolationchange", "type": "Event" - }, - { - "name": "statsended", - "type": "RTCStatsEvent" } ] } From f51fc8e1674c704a58e571e27576f6c3ff44f82b Mon Sep 17 00:00:00 2001 From: Mattias Buelens Date: Thu, 10 Sep 2020 21:58:38 +0200 Subject: [PATCH 06/13] Support "undefined" in IDL --- src/helpers.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/helpers.ts b/src/helpers.ts index 568ffbf4a..3ed3e53d5 100644 --- a/src/helpers.ts +++ b/src/helpers.ts @@ -15,6 +15,7 @@ export const baseTypeConversionMap = new Map([ ["object", "any"], ["sequence", "Array"], ["record", "Record"], + ["undefined", "void"], ["FrozenArray", "ReadonlyArray"], ["EventHandler", "EventHandler"] ]); From 08ad55eb87075eeae58208d37ccf1bb44c9e81fa Mon Sep 17 00:00:00 2001 From: Mattias Buelens Date: Thu, 10 Sep 2020 22:03:57 +0200 Subject: [PATCH 07/13] Add IDL for CSS Pseudo-Elements --- inputfiles/idl/CSS Pseudo-Elements.widl | 9 +++++++++ inputfiles/idlSources.json | 4 ++++ 2 files changed, 13 insertions(+) create mode 100644 inputfiles/idl/CSS Pseudo-Elements.widl diff --git a/inputfiles/idl/CSS Pseudo-Elements.widl b/inputfiles/idl/CSS Pseudo-Elements.widl new file mode 100644 index 000000000..2d39c6200 --- /dev/null +++ b/inputfiles/idl/CSS Pseudo-Elements.widl @@ -0,0 +1,9 @@ +[Exposed=Window] +interface CSSPseudoElement : EventTarget { + readonly attribute CSSOMString type; + readonly attribute Element element; +}; + +partial interface Element { + CSSPseudoElement? pseudo(CSSOMString type); +}; diff --git a/inputfiles/idlSources.json b/inputfiles/idlSources.json index c8e33221e..bc1d29ec3 100644 --- a/inputfiles/idlSources.json +++ b/inputfiles/idlSources.json @@ -108,6 +108,10 @@ "url": "https://www.w3.org/TR/css-overscroll-1/", "title": "CSS Overscroll Behavior" }, + { + "url": "https://www.w3.org/TR/css-pseudo-4/", + "title": "CSS Pseudo-Elements" + }, { "url": "https://www.w3.org/TR/css-ruby-1/", "title": "CSS Ruby Layout" From 8b15a8ffedf1c78f9361998193acd26f016bba6c Mon Sep 17 00:00:00 2001 From: Mattias Buelens Date: Tue, 4 Aug 2020 23:29:15 +0200 Subject: [PATCH 08/13] Update baselines --- baselines/dom.generated.d.ts | 221 +++++++++++++------- baselines/webworker.generated.d.ts | 46 ++-- baselines/webworker.iterable.generated.d.ts | 7 + 3 files changed, 167 insertions(+), 107 deletions(-) diff --git a/baselines/dom.generated.d.ts b/baselines/dom.generated.d.ts index 29182e29f..3bb5b5dea 100644 --- a/baselines/dom.generated.d.ts +++ b/baselines/dom.generated.d.ts @@ -137,15 +137,45 @@ interface AuthenticationExtensionsClientInputs { appid?: string; appidExclude?: string; credProps?: boolean; + largeBlob?: AuthenticationExtensionsLargeBlobInputs; + prf?: AuthenticationExtensionsPRFInputs; uvm?: boolean; } interface AuthenticationExtensionsClientOutputs { appid?: boolean; + appidExclude?: boolean; credProps?: CredentialPropertiesOutput; + largeBlob?: AuthenticationExtensionsLargeBlobOutputs; + prf?: AuthenticationExtensionsPRFOutputs; uvm?: UvmEntries; } +interface AuthenticationExtensionsLargeBlobInputs { + read?: boolean; + write?: ArrayBuffer; +} + +interface AuthenticationExtensionsLargeBlobOutputs { + blob?: ArrayBuffer; + written?: boolean; +} + +interface AuthenticationExtensionsPRFInputs { + eval?: AuthenticationExtensionsPRFValues; + evalByCredential?: Record; +} + +interface AuthenticationExtensionsPRFOutputs { + enabled?: boolean; + results?: AuthenticationExtensionsPRFValues; +} + +interface AuthenticationExtensionsPRFValues { + first: ArrayBuffer; + second?: ArrayBuffer; +} + interface AuthenticatorSelectionCriteria { authenticatorAttachment?: AuthenticatorAttachment; requireResidentKey?: boolean; @@ -166,6 +196,11 @@ interface BlobPropertyBag { type?: string; } +interface BoxQuadOptions { + box?: CSSBoxType; + relativeTo?: GeometryNode; +} + interface ByteLengthChunk { byteLength?: number; } @@ -266,6 +301,11 @@ interface ConstrainVideoFacingModeParameters { ideal?: VideoFacingModeEnum | VideoFacingModeEnum[]; } +interface ConvertCoordinateOptions { + fromBox?: CSSBoxType; + toBox?: CSSBoxType; +} + interface ConvolverOptions extends AudioNodeOptions { buffer?: AudioBuffer | null; disableNormalization?: boolean; @@ -1157,7 +1197,7 @@ interface RTCConfiguration { } interface RTCDTMFToneChangeEventInit extends EventInit { - tone: string; + tone?: string; } interface RTCDataChannelEventInit extends EventInit { @@ -1170,7 +1210,6 @@ interface RTCDataChannelInit { maxRetransmits?: number; negotiated?: boolean; ordered?: boolean; - priority?: RTCPriorityType; protocol?: string; } @@ -1261,7 +1300,7 @@ interface RTCIceParameters { } interface RTCIceServer { - credential?: string | RTCOAuthCredential; + credential?: string; credentialType?: RTCIceCredentialType; urls: string | string[]; username?: string; @@ -1281,6 +1320,11 @@ interface RTCInboundRTPStreamStats extends RTCRTPStreamStats { packetsReceived?: number; } +interface RTCLocalSessionDescriptionInit { + sdp?: string; + type?: RTCSdpType; +} + interface RTCMediaStreamTrackStats extends RTCStats { audioLevel?: number; echoReturnLoss?: number; @@ -1298,13 +1342,7 @@ interface RTCMediaStreamTrackStats extends RTCStats { trackIdentifier?: string; } -interface RTCOAuthCredential { - accessToken: string; - macKey: string; -} - interface RTCOfferAnswerOptions { - voiceActivityDetection?: boolean; } interface RTCOfferOptions extends RTCOfferAnswerOptions { @@ -1321,8 +1359,9 @@ interface RTCOutboundRTPStreamStats extends RTCRTPStreamStats { } interface RTCPeerConnectionIceErrorEventInit extends EventInit { + address?: string | null; errorCode: number; - hostCandidate?: string; + port?: number | null; statusText?: string; url?: string; } @@ -1387,16 +1426,9 @@ interface RTCRtpContributingSource { timestamp: number; } -interface RTCRtpDecodingParameters extends RTCRtpCodingParameters { -} - interface RTCRtpEncodingParameters extends RTCRtpCodingParameters { active?: boolean; - codecPayloadType?: number; - dtx?: RTCDtxStatus; maxBitrate?: number; - maxFramerate?: number; - ptime?: number; scaleResolutionDownBy?: number; } @@ -1429,7 +1461,6 @@ interface RTCRtpParameters { } interface RTCRtpReceiveParameters extends RTCRtpParameters { - encodings: RTCRtpDecodingParameters[]; } interface RTCRtpRtxParameters { @@ -1437,9 +1468,7 @@ interface RTCRtpRtxParameters { } interface RTCRtpSendParameters extends RTCRtpParameters { - degradationPreference?: RTCDegradationPreference; encodings: RTCRtpEncodingParameters[]; - priority?: RTCPriorityType; transactionId: string; } @@ -1461,7 +1490,7 @@ interface RTCRtpUnhandled { interface RTCSessionDescriptionInit { sdp?: string; - type?: RTCSdpType; + type: RTCSdpType; } interface RTCSrtpKeyParam { @@ -1490,10 +1519,6 @@ interface RTCStats { type: RTCStatsType; } -interface RTCStatsEventInit extends EventInit { - report: RTCStatsReport; -} - interface RTCStatsReport { } @@ -1693,6 +1718,7 @@ interface ShadowRootInit { } interface ShareData { + files?: File[]; text?: string; title?: string; url?: string; @@ -1744,6 +1770,10 @@ interface StoreSiteSpecificExceptionsInformation extends StoreExceptionsInformat arrayOfDomainStrings?: string[]; } +interface SubmitEventInit extends EventInit { + submitter?: HTMLElement | null; +} + interface TextDecodeOptions { stream?: boolean; } @@ -2678,6 +2708,16 @@ declare var CSSPageRule: { new(): CSSPageRule; }; +interface CSSPseudoElement extends EventTarget, Animatable, GeometryUtils { + readonly element: Element; + readonly type: string; +} + +declare var CSSPseudoElement: { + prototype: CSSPseudoElement; + new(): CSSPseudoElement; +}; + /** A single CSS rule. There are several types of rules, listed in the Type constants section below. */ interface CSSRule { cssText: string; @@ -3004,6 +3044,7 @@ interface CSSStyleDeclaration { textDecorationColor: string; textDecorationLine: string; textDecorationStyle: string; + textEdge: string; textEmphasis: string; textEmphasisColor: string; textEmphasisPosition: string; @@ -3680,9 +3721,9 @@ declare var CryptoKeyPair: { interface CustomElementRegistry { define(name: string, constructor: CustomElementConstructor, options?: ElementDefinitionOptions): void; - get(name: string): any; + get(name: string): CustomElementConstructor | void; upgrade(root: Node): void; - whenDefined(name: string): Promise; + whenDefined(name: string): Promise; } declare var CustomElementRegistry: { @@ -4370,7 +4411,7 @@ interface DocumentEventMap extends GlobalEventHandlersEventMap, DocumentAndEleme } /** Any web page loaded in the browser and serves as an entry point into the web page's content, which is the DOM tree. */ -interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShadowRoot, GlobalEventHandlers, NonElementParentNode, ParentNode, XPathEvaluatorBase { +interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShadowRoot, GeometryUtils, GlobalEventHandlers, NonElementParentNode, ParentNode, XPathEvaluatorBase { /** * Sets or gets the URL for the current document. */ @@ -4672,7 +4713,6 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad createEvent(eventInterface: "RTCPeerConnectionIceErrorEvent"): RTCPeerConnectionIceErrorEvent; createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent; createEvent(eventInterface: "RTCSsrcConflictEvent"): RTCSsrcConflictEvent; - createEvent(eventInterface: "RTCStatsEvent"): RTCStatsEvent; createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent; createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; @@ -4682,6 +4722,7 @@ interface Document extends Node, DocumentAndElementEventHandlers, DocumentOrShad createEvent(eventInterface: "SpeechSynthesisErrorEvent"): SpeechSynthesisErrorEvent; createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent; createEvent(eventInterface: "StorageEvent"): StorageEvent; + createEvent(eventInterface: "SubmitEvent"): SubmitEvent; createEvent(eventInterface: "TextEvent"): TextEvent; createEvent(eventInterface: "TouchEvent"): TouchEvent; createEvent(eventInterface: "TrackEvent"): TrackEvent; @@ -4921,7 +4962,6 @@ interface DocumentEvent { createEvent(eventInterface: "RTCPeerConnectionIceErrorEvent"): RTCPeerConnectionIceErrorEvent; createEvent(eventInterface: "RTCPeerConnectionIceEvent"): RTCPeerConnectionIceEvent; createEvent(eventInterface: "RTCSsrcConflictEvent"): RTCSsrcConflictEvent; - createEvent(eventInterface: "RTCStatsEvent"): RTCStatsEvent; createEvent(eventInterface: "RTCTrackEvent"): RTCTrackEvent; createEvent(eventInterface: "SVGZoomEvent"): SVGZoomEvent; createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; @@ -4931,6 +4971,7 @@ interface DocumentEvent { createEvent(eventInterface: "SpeechSynthesisErrorEvent"): SpeechSynthesisErrorEvent; createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent; createEvent(eventInterface: "StorageEvent"): StorageEvent; + createEvent(eventInterface: "SubmitEvent"): SubmitEvent; createEvent(eventInterface: "TextEvent"): TextEvent; createEvent(eventInterface: "TouchEvent"): TouchEvent; createEvent(eventInterface: "TrackEvent"): TrackEvent; @@ -5054,7 +5095,7 @@ interface ElementEventMap { } /** Element is the most general base class from which all objects in a Document inherit. It only has methods and properties common to all kinds of elements. More specific classes inherit from Element. */ -interface Element extends Node, Animatable, ChildNode, InnerHTML, NonDocumentTypeChildNode, ParentNode, Slottable { +interface Element extends Node, Animatable, ChildNode, GeometryUtils, InnerHTML, NonDocumentTypeChildNode, ParentNode, Slottable { readonly assignedSlot: HTMLSlotElement | null; readonly attributes: NamedNodeMap; /** @@ -5162,6 +5203,7 @@ interface Element extends Node, Animatable, ChildNode, InnerHTML, NonDocumentTyp */ matches(selectors: string): boolean; msGetRegionContent(): any; + pseudo(type: string): CSSPseudoElement | null; releasePointerCapture(pointerId: number): void; /** * Removes element's first attribute whose qualified name is qualifiedName. @@ -5684,6 +5726,13 @@ declare var GeolocationPositionError: { readonly TIMEOUT: number; }; +interface GeometryUtils { + convertPointFromNode(point: DOMPointInit, from: GeometryNode, options?: ConvertCoordinateOptions): DOMPoint; + convertQuadFromNode(quad: DOMQuadInit, from: GeometryNode, options?: ConvertCoordinateOptions): DOMQuad; + convertRectFromNode(rect: DOMRectReadOnly, from: GeometryNode, options?: ConvertCoordinateOptions): DOMQuad; + getBoxQuads(options?: BoxQuadOptions): DOMQuad[]; +} + interface GlobalEventHandlersEventMap { "abort": UIEvent; "animationcancel": AnimationEvent; @@ -5704,7 +5753,6 @@ interface GlobalEventHandlersEventMap { "drag": DragEvent; "dragend": DragEvent; "dragenter": DragEvent; - "dragexit": Event; "dragleave": DragEvent; "dragover": DragEvent; "dragstart": DragEvent; @@ -5771,6 +5819,10 @@ interface GlobalEventHandlersEventMap { "transitionstart": TransitionEvent; "volumechange": Event; "waiting": Event; + "webkitanimationend": Event; + "webkitanimationiteration": Event; + "webkitanimationstart": Event; + "webkittransitionend": Event; "wheel": WheelEvent; } @@ -5834,7 +5886,6 @@ interface GlobalEventHandlers { * @param ev The drag event. */ ondragenter: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; - ondragexit: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation. * @param ev The drag event. @@ -6039,6 +6090,10 @@ interface GlobalEventHandlers { * @param ev The event. */ onwaiting: ((this: GlobalEventHandlers, ev: Event) => any) | null; + onwebkitanimationend: ((this: GlobalEventHandlers, ev: Event) => any) | null; + onwebkitanimationiteration: ((this: GlobalEventHandlers, ev: Event) => any) | null; + onwebkitanimationstart: ((this: GlobalEventHandlers, ev: Event) => any) | null; + onwebkittransitionend: ((this: GlobalEventHandlers, ev: Event) => any) | null; onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null; addEventListener(type: K, listener: (this: GlobalEventHandlers, ev: GlobalEventHandlersEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -7014,6 +7069,7 @@ interface HTMLIFrameElement extends HTMLElement { * Sets or retrieves the height of the object. */ height: string; + loading: string; /** * Sets or retrieves a URI to a long description of the object. */ @@ -7624,6 +7680,7 @@ interface HTMLMediaElement extends HTMLElement { * Gets or sets the current playback position, in seconds. */ preload: string; + preservesPitch: boolean; readonly readyState: number; /** * Returns a TimeRanges object that represents the ranges of the current media resource that can be seeked. @@ -10708,7 +10765,7 @@ interface NavigatorConcurrentHardware { } interface NavigatorContentUtils { - registerProtocolHandler(scheme: string, url: string, title: string): void; + registerProtocolHandler(scheme: string, url: string): void; unregisterProtocolHandler(scheme: string, url: string): void; } @@ -11878,7 +11935,6 @@ interface RTCCertificate { declare var RTCCertificate: { prototype: RTCCertificate; new(): RTCCertificate; - getSupportedAlgorithms(): AlgorithmIdentifier[]; }; interface RTCDTMFSenderEventMap { @@ -11908,7 +11964,7 @@ interface RTCDTMFToneChangeEvent extends Event { declare var RTCDTMFToneChangeEvent: { prototype: RTCDTMFToneChangeEvent; - new(type: string, eventInitDict: RTCDTMFToneChangeEventInit): RTCDTMFToneChangeEvent; + new(type: string, eventInitDict?: RTCDTMFToneChangeEventInit): RTCDTMFToneChangeEvent; }; interface RTCDataChannelEventMap { @@ -11934,7 +11990,6 @@ interface RTCDataChannel extends EventTarget { onmessage: ((this: RTCDataChannel, ev: MessageEvent) => any) | null; onopen: ((this: RTCDataChannel, ev: Event) => any) | null; readonly ordered: boolean; - readonly priority: RTCPriorityType; readonly protocol: string; readonly readyState: RTCDataChannelState; close(): void; @@ -12162,7 +12217,6 @@ interface RTCPeerConnectionEventMap { "icegatheringstatechange": Event; "negotiationneeded": Event; "signalingstatechange": Event; - "statsended": RTCStatsEvent; "track": RTCTrackEvent; } @@ -12185,7 +12239,6 @@ interface RTCPeerConnection extends EventTarget { onicegatheringstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; onnegotiationneeded: ((this: RTCPeerConnection, ev: Event) => any) | null; onsignalingstatechange: ((this: RTCPeerConnection, ev: Event) => any) | null; - onstatsended: ((this: RTCPeerConnection, ev: RTCStatsEvent) => any) | null; ontrack: ((this: RTCPeerConnection, ev: RTCTrackEvent) => any) | null; readonly peerIdentity: Promise; readonly pendingLocalDescription: RTCSessionDescription | null; @@ -12207,7 +12260,7 @@ interface RTCPeerConnection extends EventTarget { getStats(selector?: MediaStreamTrack | null): Promise; getTransceivers(): RTCRtpTransceiver[]; removeTrack(sender: RTCRtpSender): void; - setConfiguration(configuration: RTCConfiguration): void; + setConfiguration(configuration?: RTCConfiguration): void; setIdentityProvider(provider: string, options?: RTCIdentityProviderOptions): void; setLocalDescription(description: RTCSessionDescriptionInit): Promise; setRemoteDescription(description: RTCSessionDescriptionInit): Promise; @@ -12221,13 +12274,13 @@ declare var RTCPeerConnection: { prototype: RTCPeerConnection; new(configuration?: RTCConfiguration): RTCPeerConnection; generateCertificate(keygenAlgorithm: AlgorithmIdentifier): Promise; - getDefaultIceServers(): RTCIceServer[]; }; interface RTCPeerConnectionIceErrorEvent extends Event { + readonly address: string | null; readonly errorCode: number; readonly errorText: string; - readonly hostCandidate: string; + readonly port: number | null; readonly url: string; } @@ -12249,7 +12302,6 @@ declare var RTCPeerConnectionIceEvent: { /** This WebRTC API interface manages the reception and decoding of data for a MediaStreamTrack on an RTCPeerConnection. */ interface RTCRtpReceiver { - readonly rtcpTransport: RTCDtlsTransport | null; readonly track: MediaStreamTrack; readonly transport: RTCDtlsTransport | null; getContributingSources(): RTCRtpContributingSource[]; @@ -12267,7 +12319,6 @@ declare var RTCRtpReceiver: { /** Provides the ability to control and obtain details about how a particular MediaStreamTrack is encoded and sent to a remote peer. */ interface RTCRtpSender { readonly dtmf: RTCDTMFSender | null; - readonly rtcpTransport: RTCDtlsTransport | null; readonly track: MediaStreamTrack | null; readonly transport: RTCDtlsTransport | null; getParameters(): RTCRtpSendParameters; @@ -12328,7 +12379,7 @@ interface RTCSessionDescription { declare var RTCSessionDescription: { prototype: RTCSessionDescription; - new(descriptionInitDict?: RTCSessionDescriptionInit): RTCSessionDescription; + new(descriptionInitDict: RTCSessionDescriptionInit): RTCSessionDescription; }; interface RTCSrtpSdesTransportEventMap { @@ -12359,15 +12410,6 @@ declare var RTCSsrcConflictEvent: { new(): RTCSsrcConflictEvent; }; -interface RTCStatsEvent extends Event { - readonly report: RTCStatsReport; -} - -declare var RTCStatsEvent: { - prototype: RTCStatsEvent; - new(type: string, eventInitDict: RTCStatsEventInit): RTCStatsEvent; -}; - interface RTCStatsProvider extends EventTarget { getStats(): Promise; msGetStats(): Promise; @@ -12634,7 +12676,6 @@ interface Response extends Body { readonly redirected: boolean; readonly status: number; readonly statusText: string; - readonly trailer: Promise; readonly type: ResponseType; readonly url: string; clone(): Response; @@ -15294,29 +15335,35 @@ declare var StereoPannerNode: { /** This Web Storage API interface provides access to a particular domain's session or local storage. It allows, for example, the addition, modification, or deletion of stored data items. */ interface Storage { /** - * Returns the number of key/value pairs currently present in the list associated with the object. + * Returns the number of key/value pairs. */ readonly length: number; /** - * Empties the list associated with the object of all key/value pairs, if there are any. + * Removes all key/value pairs, if there are any. + * + * Dispatches a storage event on Window objects holding an equivalent Storage object. */ clear(): void; /** - * Returns the current value associated with the given key, or null if the given key does not exist in the list associated with the object. + * Returns the current value associated with the given key, or null if the given key does not exist. */ getItem(key: string): string | null; /** - * Returns the name of the nth key in the list, or null if n is greater than or equal to the number of key/value pairs in the object. + * Returns the name of the nth key, or null if n is greater than or equal to the number of key/value pairs. */ key(index: number): string | null; /** - * Removes the key/value pair with the given key from the list associated with the object, if a key/value pair with the given key exists. + * Removes the key/value pair with the given key, if a key/value pair with the given key exists. + * + * Dispatches a storage event on Window objects holding an equivalent Storage object. */ removeItem(key: string): void; /** * Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously. * * Throws a "QuotaExceededError" DOMException exception if the new value couldn't be set. (Setting could fail if, e.g., the user has disabled storage for the site, or if the quota has been exceeded.) + * + * Dispatches a storage event on Window objects holding an equivalent Storage object. */ setItem(key: string, value: string): void; [name: string]: any; @@ -15405,6 +15452,18 @@ declare var StyleSheetList: { new(): StyleSheetList; }; +interface SubmitEvent extends Event { + /** + * Returns the element representing the submit button that triggered the form submission, or null if the submission was not triggered by a button. + */ + readonly submitter: HTMLElement | null; +} + +declare var SubmitEvent: { + prototype: SubmitEvent; + new(type: string, eventInitDict?: SubmitEventInit): SubmitEvent; +}; + /** This Web Crypto API interface provides a number of low-level cryptographic functions. It is accessed via the Crypto.subtle properties available in a window context (via Window.crypto). */ interface SubtleCrypto { decrypt(algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams, key: CryptoKey, data: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer): Promise; @@ -15444,7 +15503,7 @@ declare var SyncManager: { }; /** The textual content of Element or Attr. If an element has no markup within its content, it has a single child implementing Text that contains the element's text. However, if the element contains markup, it is parsed into information items and Text nodes that form its children. */ -interface Text extends CharacterData, Slottable { +interface Text extends CharacterData, GeometryUtils, Slottable { readonly assignedSlot: HTMLSlotElement | null; /** * Returns the combined data of all direct Text node siblings. @@ -15464,14 +15523,14 @@ declare var Text: { /** A decoder for a specific method, that is a specific character encoding, like utf-8, iso-8859-2, koi8, cp1261, gbk, etc. A decoder takes a stream of bytes as input and emits a stream of code points. For a more scalable, non-native library, see StringView – a C-like representation of strings based on typed arrays. */ interface TextDecoder extends TextDecoderCommon { /** - * Returns the result of running encoding's decoder. The method can be invoked zero or more times with options's stream set to true, and then once without options's stream (or set to false), to process a fragmented stream. If the invocation without options's stream (or set to false) has no input, it's clearest to omit both arguments. + * Returns the result of running encoding's decoder. The method can be invoked zero or more times with options's stream set to true, and then once without options's stream (or set to false), to process a fragmented input. If the invocation without options's stream (or set to false) has no input, it's clearest to omit both arguments. * * ``` * var string = "", decoder = new TextDecoder(encoding), buffer; * while(buffer = next_chunk()) { * string += decoder.decode(buffer, {stream:true}); * } - * string += decoder.decode(); // end-of-stream + * string += decoder.decode(); // end-of-queue * ``` * * If the error mode is "fatal" and encoding's decoder returns error, throws a TypeError. @@ -15490,11 +15549,11 @@ interface TextDecoderCommon { */ readonly encoding: string; /** - * Returns true if error mode is "fatal", and false otherwise. + * Returns true if error mode is "fatal", otherwise false. */ readonly fatal: boolean; /** - * Returns true if ignore BOM flag is set, and false otherwise. + * Returns the value of ignore BOM. */ readonly ignoreBOM: boolean; } @@ -15516,7 +15575,7 @@ interface TextEncoder extends TextEncoderCommon { */ encode(input?: string): Uint8Array; /** - * Runs the UTF-8 encoder on source, stores the result of that operation into destination, and returns the progress made as a dictionary whereby read is the number of converted code units of source and written is the number of bytes modified in destination. + * Runs the UTF-8 encoder on source, stores the result of that operation into destination, and returns the progress made as an object wherein read is the number of converted code units of source and written is the number of bytes modified in destination. */ encodeInto(source: string, destination: Uint8Array): TextEncoderEncodeIntoResult; } @@ -16182,6 +16241,7 @@ declare var ValidityState: { /** Returned by the HTMLVideoElement.getVideoPlaybackQuality() method and contains metrics that can be used to determine the playback quality of a video. */ interface VideoPlaybackQuality { + readonly corruptedVideoFrames: number; readonly creationTime: number; readonly droppedVideoFrames: number; readonly totalVideoFrames: number; @@ -18622,6 +18682,7 @@ interface WindowLocalStorage { interface WindowOrWorkerGlobalScope { readonly caches: CacheStorage; + readonly crossOriginIsolated: boolean; readonly crypto: Crypto; readonly indexedDB: IDBFactory; readonly isSecureContext: boolean; @@ -18818,7 +18879,7 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set. */ - send(body?: Document | BodyInit | null): void; + send(body?: Document | XMLHttpRequestBodyInit | null): void; /** * Combines a header in author request headers. * @@ -19217,7 +19278,7 @@ interface OnErrorEventHandlerNonNull { } interface PerformanceObserverCallback { - (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void; + (entries: PerformanceObserverEntryList, observer: PerformanceObserver, hasDroppedEntry?: boolean): void; } interface PositionCallback { @@ -19668,7 +19729,6 @@ declare var ondragend: ((this: Window, ev: DragEvent) => any) | null; * @param ev The drag event. */ declare var ondragenter: ((this: Window, ev: DragEvent) => any) | null; -declare var ondragexit: ((this: Window, ev: Event) => any) | null; /** * Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation. * @param ev The drag event. @@ -19873,10 +19933,15 @@ declare var onvolumechange: ((this: Window, ev: Event) => any) | null; * @param ev The event. */ declare var onwaiting: ((this: Window, ev: Event) => any) | null; +declare var onwebkitanimationend: ((this: Window, ev: Event) => any) | null; +declare var onwebkitanimationiteration: ((this: Window, ev: Event) => any) | null; +declare var onwebkitanimationstart: ((this: Window, ev: Event) => any) | null; +declare var onwebkittransitionend: ((this: Window, ev: Event) => any) | null; declare var onwheel: ((this: Window, ev: WheelEvent) => any) | null; declare function cancelAnimationFrame(handle: number): void; declare function requestAnimationFrame(callback: FrameRequestCallback): number; declare var caches: CacheStorage; +declare var crossOriginIsolated: boolean; declare var crypto: Crypto; declare var indexedDB: IDBFactory; declare var isSecureContext: boolean; @@ -19912,8 +19977,10 @@ declare function addEventListener(type: K, liste declare function addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; declare function removeEventListener(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | EventListenerOptions): void; declare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +type GeometryNode = Text | Element | CSSPseudoElement | Document; type HeadersInit = Headers | string[][] | Record; -type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string; +type XMLHttpRequestBodyInit = Blob | BufferSource | FormData | URLSearchParams | string; +type BodyInit = ReadableStream | XMLHttpRequestBodyInit; type RequestInfo = Request | string; type BlobPart = BufferSource | Blob | string; type DOMHighResTimeStamp = number; @@ -19984,6 +20051,7 @@ type AutoKeyword = "auto"; type AutomationRate = "a-rate" | "k-rate"; type BinaryType = "arraybuffer" | "blob"; type BiquadFilterType = "allpass" | "bandpass" | "highpass" | "highshelf" | "lowpass" | "lowshelf" | "notch" | "peaking"; +type CSSBoxType = "border" | "content" | "margin" | "padding"; type CanPlayTypeResult = "" | "maybe" | "probably"; type CanvasDirection = "inherit" | "ltr" | "rtl"; type CanvasFillRule = "evenodd" | "nonzero"; @@ -20043,7 +20111,7 @@ type OverSampleType = "2x" | "4x" | "none"; type PanningModelType = "HRTF" | "equalpower"; type PaymentComplete = "fail" | "success" | "unknown"; type PaymentShippingType = "delivery" | "pickup" | "shipping"; -type PermissionName = "accelerometer" | "ambient-light-sensor" | "background-sync" | "bluetooth" | "camera" | "clipboard" | "device-info" | "geolocation" | "gyroscope" | "magnetometer" | "microphone" | "midi" | "notifications" | "persistent-storage" | "push" | "speaker"; +type PermissionName = "accelerometer" | "ambient-light-sensor" | "background-fetch" | "background-sync" | "bluetooth" | "camera" | "clipboard-read" | "clipboard-write" | "device-info" | "display-capture" | "geolocation" | "gyroscope" | "magnetometer" | "microphone" | "midi" | "nfc" | "notifications" | "persistent-storage" | "push" | "speaker"; type PermissionState = "denied" | "granted" | "prompt"; type PlaybackDirection = "alternate" | "alternate-reverse" | "normal" | "reverse"; type PositionAlignSetting = "auto" | "center" | "line-left" | "line-right"; @@ -20053,15 +20121,13 @@ type PushEncryptionKeyName = "auth" | "p256dh"; type PushPermissionState = "denied" | "granted" | "prompt"; type RTCBundlePolicy = "balanced" | "max-bundle" | "max-compat"; type RTCDataChannelState = "closed" | "closing" | "connecting" | "open"; -type RTCDegradationPreference = "balanced" | "maintain-framerate" | "maintain-resolution"; type RTCDtlsRole = "auto" | "client" | "server"; type RTCDtlsTransportState = "closed" | "connected" | "connecting" | "failed" | "new"; -type RTCDtxStatus = "disabled" | "enabled"; -type RTCErrorDetailType = "data-channel-failure" | "dtls-failure" | "fingerprint-failure" | "hardware-encoder-error" | "hardware-encoder-not-available" | "idp-bad-script-failure" | "idp-execution-failure" | "idp-load-failure" | "idp-need-login" | "idp-timeout" | "idp-tls-failure" | "idp-token-expired" | "idp-token-invalid" | "sctp-failure" | "sdp-syntax-error"; +type RTCErrorDetailType = "data-channel-failure" | "dtls-failure" | "fingerprint-failure" | "hardware-encoder-error" | "hardware-encoder-not-available" | "sctp-failure" | "sdp-syntax-error"; type RTCIceCandidateType = "host" | "prflx" | "relay" | "srflx"; type RTCIceComponent = "rtcp" | "rtp"; type RTCIceConnectionState = "checking" | "closed" | "completed" | "connected" | "disconnected" | "failed" | "new"; -type RTCIceCredentialType = "oauth" | "password"; +type RTCIceCredentialType = "password"; type RTCIceGatherPolicy = "all" | "nohost" | "relay"; type RTCIceGathererState = "complete" | "gathering" | "new"; type RTCIceGatheringState = "complete" | "gathering" | "new"; @@ -20071,8 +20137,7 @@ type RTCIceTcpCandidateType = "active" | "passive" | "so"; type RTCIceTransportPolicy = "all" | "relay"; type RTCIceTransportState = "checking" | "closed" | "completed" | "connected" | "disconnected" | "failed" | "new"; type RTCPeerConnectionState = "closed" | "connected" | "connecting" | "disconnected" | "failed" | "new"; -type RTCPriorityType = "high" | "low" | "medium" | "very-low"; -type RTCRtcpMuxPolicy = "negotiate" | "require"; +type RTCRtcpMuxPolicy = "require"; type RTCRtpTransceiverDirection = "inactive" | "recvonly" | "sendonly" | "sendrecv" | "stopped"; type RTCSctpTransportState = "closed" | "connected" | "connecting"; type RTCSdpType = "answer" | "offer" | "pranswer" | "rollback"; @@ -20084,7 +20149,7 @@ type ReadyState = "closed" | "ended" | "open"; type ReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url"; type RequestCache = "default" | "force-cache" | "no-cache" | "no-store" | "only-if-cached" | "reload"; type RequestCredentials = "include" | "omit" | "same-origin"; -type RequestDestination = "" | "audio" | "audioworklet" | "document" | "embed" | "font" | "image" | "manifest" | "object" | "paintworklet" | "report" | "script" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt"; +type RequestDestination = "" | "audio" | "audioworklet" | "document" | "embed" | "font" | "frame" | "iframe" | "image" | "manifest" | "object" | "paintworklet" | "report" | "script" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt"; type RequestMode = "cors" | "navigate" | "no-cors" | "same-origin"; type RequestRedirect = "error" | "follow" | "manual"; type ResidentKeyRequirement = "discouraged" | "preferred" | "required"; diff --git a/baselines/webworker.generated.d.ts b/baselines/webworker.generated.d.ts index f24219da5..57d4c45a3 100644 --- a/baselines/webworker.generated.d.ts +++ b/baselines/webworker.generated.d.ts @@ -180,6 +180,7 @@ interface ExtendableMessageEventInit extends ExtendableEventInit { interface FetchEventInit extends ExtendableEventInit { clientId?: string; + handled?: Promise; preloadResponse?: Promise; replacesClientId?: string; request: Request; @@ -1517,6 +1518,7 @@ declare var ExtendableMessageEvent: { /** This is the event type for fetch events dispatched on the service worker global scope. It contains information about the fetch, including the request and how the receiver will treat the response. It provides the event.respondWith() method, which allows us to provide a response to this fetch. */ interface FetchEvent extends ExtendableEvent { readonly clientId: string; + readonly handled: Promise; readonly preloadResponse: Promise; readonly replacesClientId: string; readonly request: Request; @@ -2872,7 +2874,6 @@ interface Response extends Body { readonly redirected: boolean; readonly status: number; readonly statusText: string; - readonly trailer: Promise; readonly type: ResponseType; readonly url: string; clone(): Response; @@ -3005,24 +3006,8 @@ declare var ServiceWorkerRegistration: { new(): ServiceWorkerRegistration; }; -interface SharedWorker extends EventTarget, AbstractWorker { - /** - * Returns sharedWorker's MessagePort object which can be used to communicate with the global environment. - */ - readonly port: MessagePort; - addEventListener(type: K, listener: (this: SharedWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; - addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; - removeEventListener(type: K, listener: (this: SharedWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; - removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; -} - -declare var SharedWorker: { - prototype: SharedWorker; - new(scriptURL: string, options?: string | WorkerOptions): SharedWorker; -}; - interface SharedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { - "connect": MessageEvent; + "connect": Event; } interface SharedWorkerGlobalScope extends WorkerGlobalScope { @@ -3030,7 +3015,7 @@ interface SharedWorkerGlobalScope extends WorkerGlobalScope { * Returns sharedWorkerGlobal's name, i.e. the value given to the SharedWorker constructor. Multiple SharedWorker objects can correspond to the same shared worker (and SharedWorkerGlobalScope), by reusing the same name. */ readonly name: string; - onconnect: ((this: SharedWorkerGlobalScope, ev: MessageEvent) => any) | null; + onconnect: ((this: SharedWorkerGlobalScope, ev: Event) => any) | null; /** * Aborts sharedWorkerGlobal. */ @@ -3108,14 +3093,14 @@ declare var SyncManager: { /** A decoder for a specific method, that is a specific character encoding, like utf-8, iso-8859-2, koi8, cp1261, gbk, etc. A decoder takes a stream of bytes as input and emits a stream of code points. For a more scalable, non-native library, see StringView – a C-like representation of strings based on typed arrays. */ interface TextDecoder extends TextDecoderCommon { /** - * Returns the result of running encoding's decoder. The method can be invoked zero or more times with options's stream set to true, and then once without options's stream (or set to false), to process a fragmented stream. If the invocation without options's stream (or set to false) has no input, it's clearest to omit both arguments. + * Returns the result of running encoding's decoder. The method can be invoked zero or more times with options's stream set to true, and then once without options's stream (or set to false), to process a fragmented input. If the invocation without options's stream (or set to false) has no input, it's clearest to omit both arguments. * * ``` * var string = "", decoder = new TextDecoder(encoding), buffer; * while(buffer = next_chunk()) { * string += decoder.decode(buffer, {stream:true}); * } - * string += decoder.decode(); // end-of-stream + * string += decoder.decode(); // end-of-queue * ``` * * If the error mode is "fatal" and encoding's decoder returns error, throws a TypeError. @@ -3134,11 +3119,11 @@ interface TextDecoderCommon { */ readonly encoding: string; /** - * Returns true if error mode is "fatal", and false otherwise. + * Returns true if error mode is "fatal", otherwise false. */ readonly fatal: boolean; /** - * Returns true if ignore BOM flag is set, and false otherwise. + * Returns the value of ignore BOM. */ readonly ignoreBOM: boolean; } @@ -3160,7 +3145,7 @@ interface TextEncoder extends TextEncoderCommon { */ encode(input?: string): Uint8Array; /** - * Runs the UTF-8 encoder on source, stores the result of that operation into destination, and returns the progress made as a dictionary whereby read is the number of converted code units of source and written is the number of bytes modified in destination. + * Runs the UTF-8 encoder on source, stores the result of that operation into destination, and returns the progress made as an object wherein read is the number of converted code units of source and written is the number of bytes modified in destination. */ encodeInto(source: string, destination: Uint8Array): TextEncoderEncodeIntoResult; } @@ -5408,6 +5393,7 @@ declare var WindowClient: { interface WindowOrWorkerGlobalScope { readonly caches: CacheStorage; + readonly crossOriginIsolated: boolean; readonly crypto: Crypto; readonly indexedDB: IDBFactory; readonly isSecureContext: boolean; @@ -5643,7 +5629,7 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget { * * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set. */ - send(body?: BodyInit | null): void; + send(body?: XMLHttpRequestBodyInit | null): void; /** * Combines a header in author request headers. * @@ -5853,7 +5839,7 @@ interface OnErrorEventHandlerNonNull { } interface PerformanceObserverCallback { - (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void; + (entries: PerformanceObserverEntryList, observer: PerformanceObserver, hasDroppedEntry?: boolean): void; } interface QueuingStrategySizeCallback { @@ -5943,6 +5929,7 @@ declare function importScripts(...urls: string[]): void; */ declare function dispatchEvent(event: Event): boolean; declare var caches: CacheStorage; +declare var crossOriginIsolated: boolean; declare var crypto: Crypto; declare var indexedDB: IDBFactory; declare var isSecureContext: boolean; @@ -5965,7 +5952,8 @@ declare function addEventListener(type: string, listener: EventListenerOrEventLi declare function removeEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; declare function removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; type HeadersInit = Headers | string[][] | Record; -type BodyInit = Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string; +type XMLHttpRequestBodyInit = Blob | BufferSource | FormData | URLSearchParams | string; +type BodyInit = ReadableStream | XMLHttpRequestBodyInit; type RequestInfo = Request | string; type BlobPart = BufferSource | Blob | string; type DOMHighResTimeStamp = number; @@ -6026,7 +6014,7 @@ type KeyUsage = "decrypt" | "deriveBits" | "deriveKey" | "encrypt" | "sign" | "u type NotificationDirection = "auto" | "ltr" | "rtl"; type NotificationPermission = "default" | "denied" | "granted"; type OffscreenRenderingContextId = "2d" | "bitmaprenderer" | "webgl" | "webgl2"; -type PermissionName = "accelerometer" | "ambient-light-sensor" | "background-sync" | "bluetooth" | "camera" | "clipboard" | "device-info" | "geolocation" | "gyroscope" | "magnetometer" | "microphone" | "midi" | "notifications" | "persistent-storage" | "push" | "speaker"; +type PermissionName = "accelerometer" | "ambient-light-sensor" | "background-fetch" | "background-sync" | "bluetooth" | "camera" | "clipboard-read" | "clipboard-write" | "device-info" | "display-capture" | "geolocation" | "gyroscope" | "magnetometer" | "microphone" | "midi" | "nfc" | "notifications" | "persistent-storage" | "push" | "speaker"; type PermissionState = "denied" | "granted" | "prompt"; type PremultiplyAlpha = "default" | "none" | "premultiply"; type PushEncryptionKeyName = "auth" | "p256dh"; @@ -6034,7 +6022,7 @@ type PushPermissionState = "denied" | "granted" | "prompt"; type ReferrerPolicy = "" | "no-referrer" | "no-referrer-when-downgrade" | "origin" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url"; type RequestCache = "default" | "force-cache" | "no-cache" | "no-store" | "only-if-cached" | "reload"; type RequestCredentials = "include" | "omit" | "same-origin"; -type RequestDestination = "" | "audio" | "audioworklet" | "document" | "embed" | "font" | "image" | "manifest" | "object" | "paintworklet" | "report" | "script" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt"; +type RequestDestination = "" | "audio" | "audioworklet" | "document" | "embed" | "font" | "frame" | "iframe" | "image" | "manifest" | "object" | "paintworklet" | "report" | "script" | "sharedworker" | "style" | "track" | "video" | "worker" | "xslt"; type RequestMode = "cors" | "navigate" | "no-cors" | "same-origin"; type RequestRedirect = "error" | "follow" | "manual"; type ResizeQuality = "high" | "low" | "medium" | "pixelated"; diff --git a/baselines/webworker.iterable.generated.d.ts b/baselines/webworker.iterable.generated.d.ts index 61b4e2e74..249b5b899 100644 --- a/baselines/webworker.iterable.generated.d.ts +++ b/baselines/webworker.iterable.generated.d.ts @@ -50,6 +50,13 @@ interface Headers { values(): IterableIterator; } +interface IDBDatabase { + /** + * Returns a new transaction with the given mode ("readonly" or "readwrite") and scope which can be a single object store name or an array of names. + */ + transaction(storeNames: string | Iterable, mode?: IDBTransactionMode): IDBTransaction; +} + interface IDBObjectStore { /** * Creates a new index in store with the given name, keyPath and options and returns a new IDBIndex. If the keyPath and options define constraints that cannot be satisfied with the data already in store the upgrade transaction will abort with a "ConstraintError" DOMException. From 9f5db55c179f9405d50655e154ec9230895749b7 Mon Sep 17 00:00:00 2001 From: Mattias Buelens Date: Tue, 4 Aug 2020 23:41:13 +0200 Subject: [PATCH 09/13] Update MDN API descriptions --- inputfiles/mdn/apiDescriptions.json | 142 ++++++++++++++-------------- 1 file changed, 72 insertions(+), 70 deletions(-) diff --git a/inputfiles/mdn/apiDescriptions.json b/inputfiles/mdn/apiDescriptions.json index a3e621ab0..050411683 100644 --- a/inputfiles/mdn/apiDescriptions.json +++ b/inputfiles/mdn/apiDescriptions.json @@ -1,38 +1,38 @@ { "ANGLE_instanced_arrays": "The ANGLE_instanced_arrays extension is part of the WebGL API and allows to draw the same object, or groups of similar objects multiple times, if they share the same vertex data, primitive count and type.", - "AbortController": "The AbortController interface represents a controller object that allows you to abort one or more DOM requests as and when desired.", + "AbortController": "The AbortController interface represents a controller object that allows you to abort one or more Web requests as and when desired.", "AbortSignal": "The AbortSignal interface represents a signal object that allows you to communicate with a DOM request (such as a Fetch) and abort it if required via an AbortController object.", "AnalyserNode": "The AnalyserNode interface represents a node able to provide real-time frequency and time-domain analysis information. It is an AudioNode that passes the audio stream unchanged from the input to the output, but allows you to take the generated data, process it, and create audio visualizations.", "AnimationEvent": "The AnimationEvent interface represents events providing information related to animations.", - "Attr": "This type represents a DOM element's attribute as an object. In most DOM methods, you will probably directly retrieve the attribute as a string (e.g., Element.getAttribute(), but certain functions (e.g., Element.getAttributeNode()) or means of iterating give Attr types.", + "Attr": "The Attr interface represents one of a DOM element's attributes as an object. In most DOM methods, you will directly retrieve the attribute as a string (e.g., Element.getAttribute()), but certain functions (e.g., Element.getAttributeNode()) or means of iterating return Attr types.", "AudioBuffer": "The AudioBuffer interface represents a short audio asset residing in memory, created from an audio file using the AudioContext.decodeAudioData() method, or from raw data using AudioContext.createBuffer(). Once put into an AudioBuffer, the audio can then be played by being passed into an AudioBufferSourceNode.", "AudioBufferSourceNode": "The AudioBufferSourceNode interface is an AudioScheduledSourceNode which represents an audio source consisting of in-memory audio data, stored in an AudioBuffer. It's especially useful for playing back audio which has particularly stringent timing accuracy requirements, such as for sounds that must match a specific rhythm and can be kept in memory rather than being played from disk or the network.", "AudioContext": "The AudioContext interface represents an audio-processing graph built from audio modules linked together, each represented by an AudioNode.", - "AudioDestinationNode": "AudioDestinationNode has no output (as it is the output, no more AudioNode can be linked after it in the audio graph) and one input. The number of channels in the input must be between 0 and the maxChannelCount value or an exception is raised.", + "AudioDestinationNode": "The AudioDestinationNode interface represents the end destination of an audio graph in a given context — usually the speakers of your device. It can also be the node that will \"record\" the audio data when used with an OfflineAudioContext.", "AudioListener": "The AudioListener interface represents the position and orientation of the unique person listening to the audio scene, and is used in audio spatialization. All PannerNodes spatialize in relation to the AudioListener stored in the BaseAudioContext.listener attribute.", - "AudioNode": "The AudioNode interface is a generic interface for representing an audio processing module. Examples include:", + "AudioNode": "The AudioNode interface is a generic interface for representing an audio processing module.", "AudioParam": "The Web Audio API's AudioParam interface represents an audio-related parameter, usually a parameter of an AudioNode (such as GainNode.gain).", "AudioProcessingEvent": "The Web Audio API AudioProcessingEvent represents events that occur when a ScriptProcessorNode input buffer is ready to be processed.", "AudioTrack": "The AudioTrack interface represents a single audio track from one of the HTML media elements,