11cb0ef41Sopenharmony_ci// GENERATED CONTENT - DO NOT EDIT
21cb0ef41Sopenharmony_ci// Content was automatically extracted by Reffy into webref
31cb0ef41Sopenharmony_ci// (https://github.com/w3c/webref)
41cb0ef41Sopenharmony_ci// Source: HTML Standard (https://html.spec.whatwg.org/multipage/)
51cb0ef41Sopenharmony_ci
61cb0ef41Sopenharmony_ci[Exposed=Window,
71cb0ef41Sopenharmony_ci LegacyUnenumerableNamedProperties]
81cb0ef41Sopenharmony_ciinterface HTMLAllCollection {
91cb0ef41Sopenharmony_ci  readonly attribute unsigned long length;
101cb0ef41Sopenharmony_ci  getter Element (unsigned long index);
111cb0ef41Sopenharmony_ci  getter (HTMLCollection or Element)? namedItem(DOMString name);
121cb0ef41Sopenharmony_ci  (HTMLCollection or Element)? item(optional DOMString nameOrIndex);
131cb0ef41Sopenharmony_ci
141cb0ef41Sopenharmony_ci  // Note: HTMLAllCollection objects have a custom [[Call]] internal method and an [[IsHTMLDDA]] internal slot.
151cb0ef41Sopenharmony_ci};
161cb0ef41Sopenharmony_ci
171cb0ef41Sopenharmony_ci[Exposed=Window]
181cb0ef41Sopenharmony_ciinterface HTMLFormControlsCollection : HTMLCollection {
191cb0ef41Sopenharmony_ci  // inherits length and item()
201cb0ef41Sopenharmony_ci  getter (RadioNodeList or Element)? namedItem(DOMString name); // shadows inherited namedItem()
211cb0ef41Sopenharmony_ci};
221cb0ef41Sopenharmony_ci
231cb0ef41Sopenharmony_ci[Exposed=Window]
241cb0ef41Sopenharmony_ciinterface RadioNodeList : NodeList {
251cb0ef41Sopenharmony_ci  attribute DOMString value;
261cb0ef41Sopenharmony_ci};
271cb0ef41Sopenharmony_ci
281cb0ef41Sopenharmony_ci[Exposed=Window]
291cb0ef41Sopenharmony_ciinterface HTMLOptionsCollection : HTMLCollection {
301cb0ef41Sopenharmony_ci  // inherits item(), namedItem()
311cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long length; // shadows inherited length
321cb0ef41Sopenharmony_ci  [CEReactions] setter undefined (unsigned long index, HTMLOptionElement? option);
331cb0ef41Sopenharmony_ci  [CEReactions] undefined add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null);
341cb0ef41Sopenharmony_ci  [CEReactions] undefined remove(long index);
351cb0ef41Sopenharmony_ci  attribute long selectedIndex;
361cb0ef41Sopenharmony_ci};
371cb0ef41Sopenharmony_ci
381cb0ef41Sopenharmony_ci[Exposed=(Window,Worker)]
391cb0ef41Sopenharmony_ciinterface DOMStringList {
401cb0ef41Sopenharmony_ci  readonly attribute unsigned long length;
411cb0ef41Sopenharmony_ci  getter DOMString? item(unsigned long index);
421cb0ef41Sopenharmony_ci  boolean contains(DOMString string);
431cb0ef41Sopenharmony_ci};
441cb0ef41Sopenharmony_ci
451cb0ef41Sopenharmony_cienum DocumentReadyState { "loading", "interactive", "complete" };
461cb0ef41Sopenharmony_citypedef (HTMLScriptElement or SVGScriptElement) HTMLOrSVGScriptElement;
471cb0ef41Sopenharmony_ci
481cb0ef41Sopenharmony_ci[LegacyOverrideBuiltIns]
491cb0ef41Sopenharmony_cipartial interface Document {
501cb0ef41Sopenharmony_ci  // resource metadata management
511cb0ef41Sopenharmony_ci  [PutForwards=href, LegacyUnforgeable] readonly attribute Location? location;
521cb0ef41Sopenharmony_ci  attribute USVString domain;
531cb0ef41Sopenharmony_ci  readonly attribute USVString referrer;
541cb0ef41Sopenharmony_ci  attribute USVString cookie;
551cb0ef41Sopenharmony_ci  readonly attribute DOMString lastModified;
561cb0ef41Sopenharmony_ci  readonly attribute DocumentReadyState readyState;
571cb0ef41Sopenharmony_ci
581cb0ef41Sopenharmony_ci  // DOM tree accessors
591cb0ef41Sopenharmony_ci  getter object (DOMString name);
601cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString title;
611cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString dir;
621cb0ef41Sopenharmony_ci  [CEReactions] attribute HTMLElement? body;
631cb0ef41Sopenharmony_ci  readonly attribute HTMLHeadElement? head;
641cb0ef41Sopenharmony_ci  [SameObject] readonly attribute HTMLCollection images;
651cb0ef41Sopenharmony_ci  [SameObject] readonly attribute HTMLCollection embeds;
661cb0ef41Sopenharmony_ci  [SameObject] readonly attribute HTMLCollection plugins;
671cb0ef41Sopenharmony_ci  [SameObject] readonly attribute HTMLCollection links;
681cb0ef41Sopenharmony_ci  [SameObject] readonly attribute HTMLCollection forms;
691cb0ef41Sopenharmony_ci  [SameObject] readonly attribute HTMLCollection scripts;
701cb0ef41Sopenharmony_ci  NodeList getElementsByName(DOMString elementName);
711cb0ef41Sopenharmony_ci  readonly attribute HTMLOrSVGScriptElement? currentScript; // classic scripts in a document tree only
721cb0ef41Sopenharmony_ci
731cb0ef41Sopenharmony_ci  // dynamic markup insertion
741cb0ef41Sopenharmony_ci  [CEReactions] Document open(optional DOMString unused1, optional DOMString unused2); // both arguments are ignored
751cb0ef41Sopenharmony_ci  WindowProxy? open(USVString url, DOMString name, DOMString features);
761cb0ef41Sopenharmony_ci  [CEReactions] undefined close();
771cb0ef41Sopenharmony_ci  [CEReactions] undefined write(DOMString... text);
781cb0ef41Sopenharmony_ci  [CEReactions] undefined writeln(DOMString... text);
791cb0ef41Sopenharmony_ci
801cb0ef41Sopenharmony_ci  // user interaction
811cb0ef41Sopenharmony_ci  readonly attribute WindowProxy? defaultView;
821cb0ef41Sopenharmony_ci  boolean hasFocus();
831cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString designMode;
841cb0ef41Sopenharmony_ci  [CEReactions] boolean execCommand(DOMString commandId, optional boolean showUI = false, optional DOMString value = "");
851cb0ef41Sopenharmony_ci  boolean queryCommandEnabled(DOMString commandId);
861cb0ef41Sopenharmony_ci  boolean queryCommandIndeterm(DOMString commandId);
871cb0ef41Sopenharmony_ci  boolean queryCommandState(DOMString commandId);
881cb0ef41Sopenharmony_ci  boolean queryCommandSupported(DOMString commandId);
891cb0ef41Sopenharmony_ci  DOMString queryCommandValue(DOMString commandId);
901cb0ef41Sopenharmony_ci
911cb0ef41Sopenharmony_ci  // special event handler IDL attributes that only apply to Document objects
921cb0ef41Sopenharmony_ci  [LegacyLenientThis] attribute EventHandler onreadystatechange;
931cb0ef41Sopenharmony_ci
941cb0ef41Sopenharmony_ci  // also has obsolete members
951cb0ef41Sopenharmony_ci};
961cb0ef41Sopenharmony_ciDocument includes GlobalEventHandlers;
971cb0ef41Sopenharmony_ciDocument includes DocumentAndElementEventHandlers;
981cb0ef41Sopenharmony_ci
991cb0ef41Sopenharmony_cipartial interface mixin DocumentOrShadowRoot {
1001cb0ef41Sopenharmony_ci  readonly attribute Element? activeElement;
1011cb0ef41Sopenharmony_ci};
1021cb0ef41Sopenharmony_ci
1031cb0ef41Sopenharmony_ci[Exposed=Window]
1041cb0ef41Sopenharmony_ciinterface HTMLElement : Element {
1051cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
1061cb0ef41Sopenharmony_ci
1071cb0ef41Sopenharmony_ci  // metadata attributes
1081cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString title;
1091cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString lang;
1101cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean translate;
1111cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString dir;
1121cb0ef41Sopenharmony_ci
1131cb0ef41Sopenharmony_ci  // user interaction
1141cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean hidden;
1151cb0ef41Sopenharmony_ci  undefined click();
1161cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString accessKey;
1171cb0ef41Sopenharmony_ci  readonly attribute DOMString accessKeyLabel;
1181cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean draggable;
1191cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean spellcheck;
1201cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString autocapitalize;
1211cb0ef41Sopenharmony_ci
1221cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString innerText;
1231cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString outerText;
1241cb0ef41Sopenharmony_ci
1251cb0ef41Sopenharmony_ci  ElementInternals attachInternals();
1261cb0ef41Sopenharmony_ci};
1271cb0ef41Sopenharmony_ci
1281cb0ef41Sopenharmony_ciHTMLElement includes GlobalEventHandlers;
1291cb0ef41Sopenharmony_ciHTMLElement includes DocumentAndElementEventHandlers;
1301cb0ef41Sopenharmony_ciHTMLElement includes ElementContentEditable;
1311cb0ef41Sopenharmony_ciHTMLElement includes HTMLOrSVGElement;
1321cb0ef41Sopenharmony_ci
1331cb0ef41Sopenharmony_ci[Exposed=Window]
1341cb0ef41Sopenharmony_ciinterface HTMLUnknownElement : HTMLElement {
1351cb0ef41Sopenharmony_ci  // Note: intentionally no [HTMLConstructor]
1361cb0ef41Sopenharmony_ci};
1371cb0ef41Sopenharmony_ci
1381cb0ef41Sopenharmony_ciinterface mixin HTMLOrSVGElement {
1391cb0ef41Sopenharmony_ci  [SameObject] readonly attribute DOMStringMap dataset;
1401cb0ef41Sopenharmony_ci  attribute DOMString nonce; // intentionally no [CEReactions]
1411cb0ef41Sopenharmony_ci
1421cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean autofocus;
1431cb0ef41Sopenharmony_ci  [CEReactions] attribute long tabIndex;
1441cb0ef41Sopenharmony_ci  undefined focus(optional FocusOptions options = {});
1451cb0ef41Sopenharmony_ci  undefined blur();
1461cb0ef41Sopenharmony_ci};
1471cb0ef41Sopenharmony_ci
1481cb0ef41Sopenharmony_ci[Exposed=Window,
1491cb0ef41Sopenharmony_ci LegacyOverrideBuiltIns]
1501cb0ef41Sopenharmony_ciinterface DOMStringMap {
1511cb0ef41Sopenharmony_ci  getter DOMString (DOMString name);
1521cb0ef41Sopenharmony_ci  [CEReactions] setter undefined (DOMString name, DOMString value);
1531cb0ef41Sopenharmony_ci  [CEReactions] deleter undefined (DOMString name);
1541cb0ef41Sopenharmony_ci};
1551cb0ef41Sopenharmony_ci
1561cb0ef41Sopenharmony_ci[Exposed=Window]
1571cb0ef41Sopenharmony_ciinterface HTMLHtmlElement : HTMLElement {
1581cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
1591cb0ef41Sopenharmony_ci
1601cb0ef41Sopenharmony_ci  // also has obsolete members
1611cb0ef41Sopenharmony_ci};
1621cb0ef41Sopenharmony_ci
1631cb0ef41Sopenharmony_ci[Exposed=Window]
1641cb0ef41Sopenharmony_ciinterface HTMLHeadElement : HTMLElement {
1651cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
1661cb0ef41Sopenharmony_ci};
1671cb0ef41Sopenharmony_ci
1681cb0ef41Sopenharmony_ci[Exposed=Window]
1691cb0ef41Sopenharmony_ciinterface HTMLTitleElement : HTMLElement {
1701cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
1711cb0ef41Sopenharmony_ci
1721cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString text;
1731cb0ef41Sopenharmony_ci};
1741cb0ef41Sopenharmony_ci
1751cb0ef41Sopenharmony_ci[Exposed=Window]
1761cb0ef41Sopenharmony_ciinterface HTMLBaseElement : HTMLElement {
1771cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
1781cb0ef41Sopenharmony_ci
1791cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString href;
1801cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString target;
1811cb0ef41Sopenharmony_ci};
1821cb0ef41Sopenharmony_ci
1831cb0ef41Sopenharmony_ci[Exposed=Window]
1841cb0ef41Sopenharmony_ciinterface HTMLLinkElement : HTMLElement {
1851cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
1861cb0ef41Sopenharmony_ci
1871cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString href;
1881cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString? crossOrigin;
1891cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString rel;
1901cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString as; // (default "")
1911cb0ef41Sopenharmony_ci  [SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
1921cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString media;
1931cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString integrity;
1941cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString hreflang;
1951cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString type;
1961cb0ef41Sopenharmony_ci  [SameObject, PutForwards=value] readonly attribute DOMTokenList sizes;
1971cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString imageSrcset;
1981cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString imageSizes;
1991cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString referrerPolicy;
2001cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean disabled;
2011cb0ef41Sopenharmony_ci
2021cb0ef41Sopenharmony_ci  // also has obsolete members
2031cb0ef41Sopenharmony_ci};
2041cb0ef41Sopenharmony_ciHTMLLinkElement includes LinkStyle;
2051cb0ef41Sopenharmony_ci
2061cb0ef41Sopenharmony_ci[Exposed=Window]
2071cb0ef41Sopenharmony_ciinterface HTMLMetaElement : HTMLElement {
2081cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
2091cb0ef41Sopenharmony_ci
2101cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString name;
2111cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString httpEquiv;
2121cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString content;
2131cb0ef41Sopenharmony_ci
2141cb0ef41Sopenharmony_ci  // also has obsolete members
2151cb0ef41Sopenharmony_ci};
2161cb0ef41Sopenharmony_ci
2171cb0ef41Sopenharmony_ci[Exposed=Window]
2181cb0ef41Sopenharmony_ciinterface HTMLStyleElement : HTMLElement {
2191cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
2201cb0ef41Sopenharmony_ci
2211cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString media;
2221cb0ef41Sopenharmony_ci
2231cb0ef41Sopenharmony_ci  // also has obsolete members
2241cb0ef41Sopenharmony_ci};
2251cb0ef41Sopenharmony_ciHTMLStyleElement includes LinkStyle;
2261cb0ef41Sopenharmony_ci
2271cb0ef41Sopenharmony_ci[Exposed=Window]
2281cb0ef41Sopenharmony_ciinterface HTMLBodyElement : HTMLElement {
2291cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
2301cb0ef41Sopenharmony_ci
2311cb0ef41Sopenharmony_ci  // also has obsolete members
2321cb0ef41Sopenharmony_ci};
2331cb0ef41Sopenharmony_ci
2341cb0ef41Sopenharmony_ciHTMLBodyElement includes WindowEventHandlers;
2351cb0ef41Sopenharmony_ci
2361cb0ef41Sopenharmony_ci[Exposed=Window]
2371cb0ef41Sopenharmony_ciinterface HTMLHeadingElement : HTMLElement {
2381cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
2391cb0ef41Sopenharmony_ci
2401cb0ef41Sopenharmony_ci  // also has obsolete members
2411cb0ef41Sopenharmony_ci};
2421cb0ef41Sopenharmony_ci
2431cb0ef41Sopenharmony_ci[Exposed=Window]
2441cb0ef41Sopenharmony_ciinterface HTMLParagraphElement : HTMLElement {
2451cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
2461cb0ef41Sopenharmony_ci
2471cb0ef41Sopenharmony_ci  // also has obsolete members
2481cb0ef41Sopenharmony_ci};
2491cb0ef41Sopenharmony_ci
2501cb0ef41Sopenharmony_ci[Exposed=Window]
2511cb0ef41Sopenharmony_ciinterface HTMLHRElement : HTMLElement {
2521cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
2531cb0ef41Sopenharmony_ci
2541cb0ef41Sopenharmony_ci  // also has obsolete members
2551cb0ef41Sopenharmony_ci};
2561cb0ef41Sopenharmony_ci
2571cb0ef41Sopenharmony_ci[Exposed=Window]
2581cb0ef41Sopenharmony_ciinterface HTMLPreElement : HTMLElement {
2591cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
2601cb0ef41Sopenharmony_ci
2611cb0ef41Sopenharmony_ci  // also has obsolete members
2621cb0ef41Sopenharmony_ci};
2631cb0ef41Sopenharmony_ci
2641cb0ef41Sopenharmony_ci[Exposed=Window]
2651cb0ef41Sopenharmony_ciinterface HTMLQuoteElement : HTMLElement {
2661cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
2671cb0ef41Sopenharmony_ci
2681cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString cite;
2691cb0ef41Sopenharmony_ci};
2701cb0ef41Sopenharmony_ci
2711cb0ef41Sopenharmony_ci[Exposed=Window]
2721cb0ef41Sopenharmony_ciinterface HTMLOListElement : HTMLElement {
2731cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
2741cb0ef41Sopenharmony_ci
2751cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean reversed;
2761cb0ef41Sopenharmony_ci  [CEReactions] attribute long start;
2771cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString type;
2781cb0ef41Sopenharmony_ci
2791cb0ef41Sopenharmony_ci  // also has obsolete members
2801cb0ef41Sopenharmony_ci};
2811cb0ef41Sopenharmony_ci
2821cb0ef41Sopenharmony_ci[Exposed=Window]
2831cb0ef41Sopenharmony_ciinterface HTMLUListElement : HTMLElement {
2841cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
2851cb0ef41Sopenharmony_ci
2861cb0ef41Sopenharmony_ci  // also has obsolete members
2871cb0ef41Sopenharmony_ci};
2881cb0ef41Sopenharmony_ci
2891cb0ef41Sopenharmony_ci[Exposed=Window]
2901cb0ef41Sopenharmony_ciinterface HTMLMenuElement : HTMLElement {
2911cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
2921cb0ef41Sopenharmony_ci
2931cb0ef41Sopenharmony_ci  // also has obsolete members
2941cb0ef41Sopenharmony_ci};
2951cb0ef41Sopenharmony_ci
2961cb0ef41Sopenharmony_ci[Exposed=Window]
2971cb0ef41Sopenharmony_ciinterface HTMLLIElement : HTMLElement {
2981cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
2991cb0ef41Sopenharmony_ci
3001cb0ef41Sopenharmony_ci  [CEReactions] attribute long value;
3011cb0ef41Sopenharmony_ci
3021cb0ef41Sopenharmony_ci  // also has obsolete members
3031cb0ef41Sopenharmony_ci};
3041cb0ef41Sopenharmony_ci
3051cb0ef41Sopenharmony_ci[Exposed=Window]
3061cb0ef41Sopenharmony_ciinterface HTMLDListElement : HTMLElement {
3071cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
3081cb0ef41Sopenharmony_ci
3091cb0ef41Sopenharmony_ci  // also has obsolete members
3101cb0ef41Sopenharmony_ci};
3111cb0ef41Sopenharmony_ci
3121cb0ef41Sopenharmony_ci[Exposed=Window]
3131cb0ef41Sopenharmony_ciinterface HTMLDivElement : HTMLElement {
3141cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
3151cb0ef41Sopenharmony_ci
3161cb0ef41Sopenharmony_ci  // also has obsolete members
3171cb0ef41Sopenharmony_ci};
3181cb0ef41Sopenharmony_ci
3191cb0ef41Sopenharmony_ci[Exposed=Window]
3201cb0ef41Sopenharmony_ciinterface HTMLAnchorElement : HTMLElement {
3211cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
3221cb0ef41Sopenharmony_ci
3231cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString target;
3241cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString download;
3251cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString ping;
3261cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString rel;
3271cb0ef41Sopenharmony_ci  [SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
3281cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString hreflang;
3291cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString type;
3301cb0ef41Sopenharmony_ci
3311cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString text;
3321cb0ef41Sopenharmony_ci
3331cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString referrerPolicy;
3341cb0ef41Sopenharmony_ci
3351cb0ef41Sopenharmony_ci  // also has obsolete members
3361cb0ef41Sopenharmony_ci};
3371cb0ef41Sopenharmony_ciHTMLAnchorElement includes HTMLHyperlinkElementUtils;
3381cb0ef41Sopenharmony_ci
3391cb0ef41Sopenharmony_ci[Exposed=Window]
3401cb0ef41Sopenharmony_ciinterface HTMLDataElement : HTMLElement {
3411cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
3421cb0ef41Sopenharmony_ci
3431cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString value;
3441cb0ef41Sopenharmony_ci};
3451cb0ef41Sopenharmony_ci
3461cb0ef41Sopenharmony_ci[Exposed=Window]
3471cb0ef41Sopenharmony_ciinterface HTMLTimeElement : HTMLElement {
3481cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
3491cb0ef41Sopenharmony_ci
3501cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString dateTime;
3511cb0ef41Sopenharmony_ci};
3521cb0ef41Sopenharmony_ci
3531cb0ef41Sopenharmony_ci[Exposed=Window]
3541cb0ef41Sopenharmony_ciinterface HTMLSpanElement : HTMLElement {
3551cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
3561cb0ef41Sopenharmony_ci};
3571cb0ef41Sopenharmony_ci
3581cb0ef41Sopenharmony_ci[Exposed=Window]
3591cb0ef41Sopenharmony_ciinterface HTMLBRElement : HTMLElement {
3601cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
3611cb0ef41Sopenharmony_ci
3621cb0ef41Sopenharmony_ci  // also has obsolete members
3631cb0ef41Sopenharmony_ci};
3641cb0ef41Sopenharmony_ci
3651cb0ef41Sopenharmony_ciinterface mixin HTMLHyperlinkElementUtils {
3661cb0ef41Sopenharmony_ci  [CEReactions] stringifier attribute USVString href;
3671cb0ef41Sopenharmony_ci  readonly attribute USVString origin;
3681cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString protocol;
3691cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString username;
3701cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString password;
3711cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString host;
3721cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString hostname;
3731cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString port;
3741cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString pathname;
3751cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString search;
3761cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString hash;
3771cb0ef41Sopenharmony_ci};
3781cb0ef41Sopenharmony_ci
3791cb0ef41Sopenharmony_ci[Exposed=Window]
3801cb0ef41Sopenharmony_ciinterface HTMLModElement : HTMLElement {
3811cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
3821cb0ef41Sopenharmony_ci
3831cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString cite;
3841cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString dateTime;
3851cb0ef41Sopenharmony_ci};
3861cb0ef41Sopenharmony_ci
3871cb0ef41Sopenharmony_ci[Exposed=Window]
3881cb0ef41Sopenharmony_ciinterface HTMLPictureElement : HTMLElement {
3891cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
3901cb0ef41Sopenharmony_ci};
3911cb0ef41Sopenharmony_ci
3921cb0ef41Sopenharmony_ci[Exposed=Window]
3931cb0ef41Sopenharmony_ciinterface HTMLSourceElement : HTMLElement {
3941cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
3951cb0ef41Sopenharmony_ci
3961cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString src;
3971cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString type;
3981cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString srcset;
3991cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString sizes;
4001cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString media;
4011cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long width;
4021cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long height;
4031cb0ef41Sopenharmony_ci};
4041cb0ef41Sopenharmony_ci
4051cb0ef41Sopenharmony_ci[Exposed=Window,
4061cb0ef41Sopenharmony_ci LegacyFactoryFunction=Image(optional unsigned long width, optional unsigned long height)]
4071cb0ef41Sopenharmony_ciinterface HTMLImageElement : HTMLElement {
4081cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
4091cb0ef41Sopenharmony_ci
4101cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString alt;
4111cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString src;
4121cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString srcset;
4131cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString sizes;
4141cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString? crossOrigin;
4151cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString useMap;
4161cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean isMap;
4171cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long width;
4181cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long height;
4191cb0ef41Sopenharmony_ci  readonly attribute unsigned long naturalWidth;
4201cb0ef41Sopenharmony_ci  readonly attribute unsigned long naturalHeight;
4211cb0ef41Sopenharmony_ci  readonly attribute boolean complete;
4221cb0ef41Sopenharmony_ci  readonly attribute USVString currentSrc;
4231cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString referrerPolicy;
4241cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString decoding;
4251cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString loading;
4261cb0ef41Sopenharmony_ci
4271cb0ef41Sopenharmony_ci  Promise<undefined> decode();
4281cb0ef41Sopenharmony_ci
4291cb0ef41Sopenharmony_ci  // also has obsolete members
4301cb0ef41Sopenharmony_ci};
4311cb0ef41Sopenharmony_ci
4321cb0ef41Sopenharmony_ci[Exposed=Window]
4331cb0ef41Sopenharmony_ciinterface HTMLIFrameElement : HTMLElement {
4341cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
4351cb0ef41Sopenharmony_ci
4361cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString src;
4371cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString srcdoc;
4381cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString name;
4391cb0ef41Sopenharmony_ci  [SameObject, PutForwards=value] readonly attribute DOMTokenList sandbox;
4401cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString allow;
4411cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean allowFullscreen;
4421cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString width;
4431cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString height;
4441cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString referrerPolicy;
4451cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString loading;
4461cb0ef41Sopenharmony_ci  readonly attribute Document? contentDocument;
4471cb0ef41Sopenharmony_ci  readonly attribute WindowProxy? contentWindow;
4481cb0ef41Sopenharmony_ci  Document? getSVGDocument();
4491cb0ef41Sopenharmony_ci
4501cb0ef41Sopenharmony_ci  // also has obsolete members
4511cb0ef41Sopenharmony_ci};
4521cb0ef41Sopenharmony_ci
4531cb0ef41Sopenharmony_ci[Exposed=Window]
4541cb0ef41Sopenharmony_ciinterface HTMLEmbedElement : HTMLElement {
4551cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
4561cb0ef41Sopenharmony_ci
4571cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString src;
4581cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString type;
4591cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString width;
4601cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString height;
4611cb0ef41Sopenharmony_ci  Document? getSVGDocument();
4621cb0ef41Sopenharmony_ci
4631cb0ef41Sopenharmony_ci  // also has obsolete members
4641cb0ef41Sopenharmony_ci};
4651cb0ef41Sopenharmony_ci
4661cb0ef41Sopenharmony_ci[Exposed=Window]
4671cb0ef41Sopenharmony_ciinterface HTMLObjectElement : HTMLElement {
4681cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
4691cb0ef41Sopenharmony_ci
4701cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString data;
4711cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString type;
4721cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString name;
4731cb0ef41Sopenharmony_ci  readonly attribute HTMLFormElement? form;
4741cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString width;
4751cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString height;
4761cb0ef41Sopenharmony_ci  readonly attribute Document? contentDocument;
4771cb0ef41Sopenharmony_ci  readonly attribute WindowProxy? contentWindow;
4781cb0ef41Sopenharmony_ci  Document? getSVGDocument();
4791cb0ef41Sopenharmony_ci
4801cb0ef41Sopenharmony_ci  readonly attribute boolean willValidate;
4811cb0ef41Sopenharmony_ci  readonly attribute ValidityState validity;
4821cb0ef41Sopenharmony_ci  readonly attribute DOMString validationMessage;
4831cb0ef41Sopenharmony_ci  boolean checkValidity();
4841cb0ef41Sopenharmony_ci  boolean reportValidity();
4851cb0ef41Sopenharmony_ci  undefined setCustomValidity(DOMString error);
4861cb0ef41Sopenharmony_ci
4871cb0ef41Sopenharmony_ci  // also has obsolete members
4881cb0ef41Sopenharmony_ci};
4891cb0ef41Sopenharmony_ci
4901cb0ef41Sopenharmony_ci[Exposed=Window]
4911cb0ef41Sopenharmony_ciinterface HTMLParamElement : HTMLElement {
4921cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
4931cb0ef41Sopenharmony_ci
4941cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString name;
4951cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString value;
4961cb0ef41Sopenharmony_ci
4971cb0ef41Sopenharmony_ci  // also has obsolete members
4981cb0ef41Sopenharmony_ci};
4991cb0ef41Sopenharmony_ci
5001cb0ef41Sopenharmony_ci[Exposed=Window]
5011cb0ef41Sopenharmony_ciinterface HTMLVideoElement : HTMLMediaElement {
5021cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
5031cb0ef41Sopenharmony_ci
5041cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long width;
5051cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long height;
5061cb0ef41Sopenharmony_ci  readonly attribute unsigned long videoWidth;
5071cb0ef41Sopenharmony_ci  readonly attribute unsigned long videoHeight;
5081cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString poster;
5091cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean playsInline;
5101cb0ef41Sopenharmony_ci};
5111cb0ef41Sopenharmony_ci
5121cb0ef41Sopenharmony_ci[Exposed=Window,
5131cb0ef41Sopenharmony_ci LegacyFactoryFunction=Audio(optional DOMString src)]
5141cb0ef41Sopenharmony_ciinterface HTMLAudioElement : HTMLMediaElement {
5151cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
5161cb0ef41Sopenharmony_ci};
5171cb0ef41Sopenharmony_ci
5181cb0ef41Sopenharmony_ci[Exposed=Window]
5191cb0ef41Sopenharmony_ciinterface HTMLTrackElement : HTMLElement {
5201cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
5211cb0ef41Sopenharmony_ci
5221cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString kind;
5231cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString src;
5241cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString srclang;
5251cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString label;
5261cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean default;
5271cb0ef41Sopenharmony_ci
5281cb0ef41Sopenharmony_ci  const unsigned short NONE = 0;
5291cb0ef41Sopenharmony_ci  const unsigned short LOADING = 1;
5301cb0ef41Sopenharmony_ci  const unsigned short LOADED = 2;
5311cb0ef41Sopenharmony_ci  const unsigned short ERROR = 3;
5321cb0ef41Sopenharmony_ci  readonly attribute unsigned short readyState;
5331cb0ef41Sopenharmony_ci
5341cb0ef41Sopenharmony_ci  readonly attribute TextTrack track;
5351cb0ef41Sopenharmony_ci};
5361cb0ef41Sopenharmony_ci
5371cb0ef41Sopenharmony_cienum CanPlayTypeResult { "" /* empty string */, "maybe", "probably" };
5381cb0ef41Sopenharmony_citypedef (MediaStream or MediaSource or Blob) MediaProvider;
5391cb0ef41Sopenharmony_ci
5401cb0ef41Sopenharmony_ci[Exposed=Window]
5411cb0ef41Sopenharmony_ciinterface HTMLMediaElement : HTMLElement {
5421cb0ef41Sopenharmony_ci
5431cb0ef41Sopenharmony_ci  // error state
5441cb0ef41Sopenharmony_ci  readonly attribute MediaError? error;
5451cb0ef41Sopenharmony_ci
5461cb0ef41Sopenharmony_ci  // network state
5471cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString src;
5481cb0ef41Sopenharmony_ci  attribute MediaProvider? srcObject;
5491cb0ef41Sopenharmony_ci  readonly attribute USVString currentSrc;
5501cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString? crossOrigin;
5511cb0ef41Sopenharmony_ci  const unsigned short NETWORK_EMPTY = 0;
5521cb0ef41Sopenharmony_ci  const unsigned short NETWORK_IDLE = 1;
5531cb0ef41Sopenharmony_ci  const unsigned short NETWORK_LOADING = 2;
5541cb0ef41Sopenharmony_ci  const unsigned short NETWORK_NO_SOURCE = 3;
5551cb0ef41Sopenharmony_ci  readonly attribute unsigned short networkState;
5561cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString preload;
5571cb0ef41Sopenharmony_ci  readonly attribute TimeRanges buffered;
5581cb0ef41Sopenharmony_ci  undefined load();
5591cb0ef41Sopenharmony_ci  CanPlayTypeResult canPlayType(DOMString type);
5601cb0ef41Sopenharmony_ci
5611cb0ef41Sopenharmony_ci  // ready state
5621cb0ef41Sopenharmony_ci  const unsigned short HAVE_NOTHING = 0;
5631cb0ef41Sopenharmony_ci  const unsigned short HAVE_METADATA = 1;
5641cb0ef41Sopenharmony_ci  const unsigned short HAVE_CURRENT_DATA = 2;
5651cb0ef41Sopenharmony_ci  const unsigned short HAVE_FUTURE_DATA = 3;
5661cb0ef41Sopenharmony_ci  const unsigned short HAVE_ENOUGH_DATA = 4;
5671cb0ef41Sopenharmony_ci  readonly attribute unsigned short readyState;
5681cb0ef41Sopenharmony_ci  readonly attribute boolean seeking;
5691cb0ef41Sopenharmony_ci
5701cb0ef41Sopenharmony_ci  // playback state
5711cb0ef41Sopenharmony_ci  attribute double currentTime;
5721cb0ef41Sopenharmony_ci  undefined fastSeek(double time);
5731cb0ef41Sopenharmony_ci  readonly attribute unrestricted double duration;
5741cb0ef41Sopenharmony_ci  object getStartDate();
5751cb0ef41Sopenharmony_ci  readonly attribute boolean paused;
5761cb0ef41Sopenharmony_ci  attribute double defaultPlaybackRate;
5771cb0ef41Sopenharmony_ci  attribute double playbackRate;
5781cb0ef41Sopenharmony_ci  attribute boolean preservesPitch;
5791cb0ef41Sopenharmony_ci  readonly attribute TimeRanges played;
5801cb0ef41Sopenharmony_ci  readonly attribute TimeRanges seekable;
5811cb0ef41Sopenharmony_ci  readonly attribute boolean ended;
5821cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean autoplay;
5831cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean loop;
5841cb0ef41Sopenharmony_ci  Promise<undefined> play();
5851cb0ef41Sopenharmony_ci  undefined pause();
5861cb0ef41Sopenharmony_ci
5871cb0ef41Sopenharmony_ci  // controls
5881cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean controls;
5891cb0ef41Sopenharmony_ci  attribute double volume;
5901cb0ef41Sopenharmony_ci  attribute boolean muted;
5911cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean defaultMuted;
5921cb0ef41Sopenharmony_ci
5931cb0ef41Sopenharmony_ci  // tracks
5941cb0ef41Sopenharmony_ci  [SameObject] readonly attribute AudioTrackList audioTracks;
5951cb0ef41Sopenharmony_ci  [SameObject] readonly attribute VideoTrackList videoTracks;
5961cb0ef41Sopenharmony_ci  [SameObject] readonly attribute TextTrackList textTracks;
5971cb0ef41Sopenharmony_ci  TextTrack addTextTrack(TextTrackKind kind, optional DOMString label = "", optional DOMString language = "");
5981cb0ef41Sopenharmony_ci};
5991cb0ef41Sopenharmony_ci
6001cb0ef41Sopenharmony_ci[Exposed=Window]
6011cb0ef41Sopenharmony_ciinterface MediaError {
6021cb0ef41Sopenharmony_ci  const unsigned short MEDIA_ERR_ABORTED = 1;
6031cb0ef41Sopenharmony_ci  const unsigned short MEDIA_ERR_NETWORK = 2;
6041cb0ef41Sopenharmony_ci  const unsigned short MEDIA_ERR_DECODE = 3;
6051cb0ef41Sopenharmony_ci  const unsigned short MEDIA_ERR_SRC_NOT_SUPPORTED = 4;
6061cb0ef41Sopenharmony_ci
6071cb0ef41Sopenharmony_ci  readonly attribute unsigned short code;
6081cb0ef41Sopenharmony_ci  readonly attribute DOMString message;
6091cb0ef41Sopenharmony_ci};
6101cb0ef41Sopenharmony_ci
6111cb0ef41Sopenharmony_ci[Exposed=Window]
6121cb0ef41Sopenharmony_ciinterface AudioTrackList : EventTarget {
6131cb0ef41Sopenharmony_ci  readonly attribute unsigned long length;
6141cb0ef41Sopenharmony_ci  getter AudioTrack (unsigned long index);
6151cb0ef41Sopenharmony_ci  AudioTrack? getTrackById(DOMString id);
6161cb0ef41Sopenharmony_ci
6171cb0ef41Sopenharmony_ci  attribute EventHandler onchange;
6181cb0ef41Sopenharmony_ci  attribute EventHandler onaddtrack;
6191cb0ef41Sopenharmony_ci  attribute EventHandler onremovetrack;
6201cb0ef41Sopenharmony_ci};
6211cb0ef41Sopenharmony_ci
6221cb0ef41Sopenharmony_ci[Exposed=Window]
6231cb0ef41Sopenharmony_ciinterface AudioTrack {
6241cb0ef41Sopenharmony_ci  readonly attribute DOMString id;
6251cb0ef41Sopenharmony_ci  readonly attribute DOMString kind;
6261cb0ef41Sopenharmony_ci  readonly attribute DOMString label;
6271cb0ef41Sopenharmony_ci  readonly attribute DOMString language;
6281cb0ef41Sopenharmony_ci  attribute boolean enabled;
6291cb0ef41Sopenharmony_ci};
6301cb0ef41Sopenharmony_ci
6311cb0ef41Sopenharmony_ci[Exposed=Window]
6321cb0ef41Sopenharmony_ciinterface VideoTrackList : EventTarget {
6331cb0ef41Sopenharmony_ci  readonly attribute unsigned long length;
6341cb0ef41Sopenharmony_ci  getter VideoTrack (unsigned long index);
6351cb0ef41Sopenharmony_ci  VideoTrack? getTrackById(DOMString id);
6361cb0ef41Sopenharmony_ci  readonly attribute long selectedIndex;
6371cb0ef41Sopenharmony_ci
6381cb0ef41Sopenharmony_ci  attribute EventHandler onchange;
6391cb0ef41Sopenharmony_ci  attribute EventHandler onaddtrack;
6401cb0ef41Sopenharmony_ci  attribute EventHandler onremovetrack;
6411cb0ef41Sopenharmony_ci};
6421cb0ef41Sopenharmony_ci
6431cb0ef41Sopenharmony_ci[Exposed=Window]
6441cb0ef41Sopenharmony_ciinterface VideoTrack {
6451cb0ef41Sopenharmony_ci  readonly attribute DOMString id;
6461cb0ef41Sopenharmony_ci  readonly attribute DOMString kind;
6471cb0ef41Sopenharmony_ci  readonly attribute DOMString label;
6481cb0ef41Sopenharmony_ci  readonly attribute DOMString language;
6491cb0ef41Sopenharmony_ci  attribute boolean selected;
6501cb0ef41Sopenharmony_ci};
6511cb0ef41Sopenharmony_ci
6521cb0ef41Sopenharmony_ci[Exposed=Window]
6531cb0ef41Sopenharmony_ciinterface TextTrackList : EventTarget {
6541cb0ef41Sopenharmony_ci  readonly attribute unsigned long length;
6551cb0ef41Sopenharmony_ci  getter TextTrack (unsigned long index);
6561cb0ef41Sopenharmony_ci  TextTrack? getTrackById(DOMString id);
6571cb0ef41Sopenharmony_ci
6581cb0ef41Sopenharmony_ci  attribute EventHandler onchange;
6591cb0ef41Sopenharmony_ci  attribute EventHandler onaddtrack;
6601cb0ef41Sopenharmony_ci  attribute EventHandler onremovetrack;
6611cb0ef41Sopenharmony_ci};
6621cb0ef41Sopenharmony_ci
6631cb0ef41Sopenharmony_cienum TextTrackMode { "disabled",  "hidden",  "showing" };
6641cb0ef41Sopenharmony_cienum TextTrackKind { "subtitles",  "captions",  "descriptions",  "chapters",  "metadata" };
6651cb0ef41Sopenharmony_ci
6661cb0ef41Sopenharmony_ci[Exposed=Window]
6671cb0ef41Sopenharmony_ciinterface TextTrack : EventTarget {
6681cb0ef41Sopenharmony_ci  readonly attribute TextTrackKind kind;
6691cb0ef41Sopenharmony_ci  readonly attribute DOMString label;
6701cb0ef41Sopenharmony_ci  readonly attribute DOMString language;
6711cb0ef41Sopenharmony_ci
6721cb0ef41Sopenharmony_ci  readonly attribute DOMString id;
6731cb0ef41Sopenharmony_ci  readonly attribute DOMString inBandMetadataTrackDispatchType;
6741cb0ef41Sopenharmony_ci
6751cb0ef41Sopenharmony_ci  attribute TextTrackMode mode;
6761cb0ef41Sopenharmony_ci
6771cb0ef41Sopenharmony_ci  readonly attribute TextTrackCueList? cues;
6781cb0ef41Sopenharmony_ci  readonly attribute TextTrackCueList? activeCues;
6791cb0ef41Sopenharmony_ci
6801cb0ef41Sopenharmony_ci  undefined addCue(TextTrackCue cue);
6811cb0ef41Sopenharmony_ci  undefined removeCue(TextTrackCue cue);
6821cb0ef41Sopenharmony_ci
6831cb0ef41Sopenharmony_ci  attribute EventHandler oncuechange;
6841cb0ef41Sopenharmony_ci};
6851cb0ef41Sopenharmony_ci
6861cb0ef41Sopenharmony_ci[Exposed=Window]
6871cb0ef41Sopenharmony_ciinterface TextTrackCueList {
6881cb0ef41Sopenharmony_ci  readonly attribute unsigned long length;
6891cb0ef41Sopenharmony_ci  getter TextTrackCue (unsigned long index);
6901cb0ef41Sopenharmony_ci  TextTrackCue? getCueById(DOMString id);
6911cb0ef41Sopenharmony_ci};
6921cb0ef41Sopenharmony_ci
6931cb0ef41Sopenharmony_ci[Exposed=Window]
6941cb0ef41Sopenharmony_ciinterface TextTrackCue : EventTarget {
6951cb0ef41Sopenharmony_ci  readonly attribute TextTrack? track;
6961cb0ef41Sopenharmony_ci
6971cb0ef41Sopenharmony_ci  attribute DOMString id;
6981cb0ef41Sopenharmony_ci  attribute double startTime;
6991cb0ef41Sopenharmony_ci  attribute unrestricted double endTime;
7001cb0ef41Sopenharmony_ci  attribute boolean pauseOnExit;
7011cb0ef41Sopenharmony_ci
7021cb0ef41Sopenharmony_ci  attribute EventHandler onenter;
7031cb0ef41Sopenharmony_ci  attribute EventHandler onexit;
7041cb0ef41Sopenharmony_ci};
7051cb0ef41Sopenharmony_ci
7061cb0ef41Sopenharmony_ci[Exposed=Window]
7071cb0ef41Sopenharmony_ciinterface TimeRanges {
7081cb0ef41Sopenharmony_ci  readonly attribute unsigned long length;
7091cb0ef41Sopenharmony_ci  double start(unsigned long index);
7101cb0ef41Sopenharmony_ci  double end(unsigned long index);
7111cb0ef41Sopenharmony_ci};
7121cb0ef41Sopenharmony_ci
7131cb0ef41Sopenharmony_ci[Exposed=Window]
7141cb0ef41Sopenharmony_ciinterface TrackEvent : Event {
7151cb0ef41Sopenharmony_ci  constructor(DOMString type, optional TrackEventInit eventInitDict = {});
7161cb0ef41Sopenharmony_ci
7171cb0ef41Sopenharmony_ci  readonly attribute (VideoTrack or AudioTrack or TextTrack)? track;
7181cb0ef41Sopenharmony_ci};
7191cb0ef41Sopenharmony_ci
7201cb0ef41Sopenharmony_cidictionary TrackEventInit : EventInit {
7211cb0ef41Sopenharmony_ci  (VideoTrack or AudioTrack or TextTrack)? track = null;
7221cb0ef41Sopenharmony_ci};
7231cb0ef41Sopenharmony_ci
7241cb0ef41Sopenharmony_ci[Exposed=Window]
7251cb0ef41Sopenharmony_ciinterface HTMLMapElement : HTMLElement {
7261cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
7271cb0ef41Sopenharmony_ci
7281cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString name;
7291cb0ef41Sopenharmony_ci  [SameObject] readonly attribute HTMLCollection areas;
7301cb0ef41Sopenharmony_ci};
7311cb0ef41Sopenharmony_ci
7321cb0ef41Sopenharmony_ci[Exposed=Window]
7331cb0ef41Sopenharmony_ciinterface HTMLAreaElement : HTMLElement {
7341cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
7351cb0ef41Sopenharmony_ci
7361cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString alt;
7371cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString coords;
7381cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString shape;
7391cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString target;
7401cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString download;
7411cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString ping;
7421cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString rel;
7431cb0ef41Sopenharmony_ci  [SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
7441cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString referrerPolicy;
7451cb0ef41Sopenharmony_ci
7461cb0ef41Sopenharmony_ci  // also has obsolete members
7471cb0ef41Sopenharmony_ci};
7481cb0ef41Sopenharmony_ciHTMLAreaElement includes HTMLHyperlinkElementUtils;
7491cb0ef41Sopenharmony_ci
7501cb0ef41Sopenharmony_ci[Exposed=Window]
7511cb0ef41Sopenharmony_ciinterface HTMLTableElement : HTMLElement {
7521cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
7531cb0ef41Sopenharmony_ci
7541cb0ef41Sopenharmony_ci  [CEReactions] attribute HTMLTableCaptionElement? caption;
7551cb0ef41Sopenharmony_ci  HTMLTableCaptionElement createCaption();
7561cb0ef41Sopenharmony_ci  [CEReactions] undefined deleteCaption();
7571cb0ef41Sopenharmony_ci
7581cb0ef41Sopenharmony_ci  [CEReactions] attribute HTMLTableSectionElement? tHead;
7591cb0ef41Sopenharmony_ci  HTMLTableSectionElement createTHead();
7601cb0ef41Sopenharmony_ci  [CEReactions] undefined deleteTHead();
7611cb0ef41Sopenharmony_ci
7621cb0ef41Sopenharmony_ci  [CEReactions] attribute HTMLTableSectionElement? tFoot;
7631cb0ef41Sopenharmony_ci  HTMLTableSectionElement createTFoot();
7641cb0ef41Sopenharmony_ci  [CEReactions] undefined deleteTFoot();
7651cb0ef41Sopenharmony_ci
7661cb0ef41Sopenharmony_ci  [SameObject] readonly attribute HTMLCollection tBodies;
7671cb0ef41Sopenharmony_ci  HTMLTableSectionElement createTBody();
7681cb0ef41Sopenharmony_ci
7691cb0ef41Sopenharmony_ci  [SameObject] readonly attribute HTMLCollection rows;
7701cb0ef41Sopenharmony_ci  HTMLTableRowElement insertRow(optional long index = -1);
7711cb0ef41Sopenharmony_ci  [CEReactions] undefined deleteRow(long index);
7721cb0ef41Sopenharmony_ci
7731cb0ef41Sopenharmony_ci  // also has obsolete members
7741cb0ef41Sopenharmony_ci};
7751cb0ef41Sopenharmony_ci
7761cb0ef41Sopenharmony_ci[Exposed=Window]
7771cb0ef41Sopenharmony_ciinterface HTMLTableCaptionElement : HTMLElement {
7781cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
7791cb0ef41Sopenharmony_ci
7801cb0ef41Sopenharmony_ci  // also has obsolete members
7811cb0ef41Sopenharmony_ci};
7821cb0ef41Sopenharmony_ci
7831cb0ef41Sopenharmony_ci[Exposed=Window]
7841cb0ef41Sopenharmony_ciinterface HTMLTableColElement : HTMLElement {
7851cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
7861cb0ef41Sopenharmony_ci
7871cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long span;
7881cb0ef41Sopenharmony_ci
7891cb0ef41Sopenharmony_ci  // also has obsolete members
7901cb0ef41Sopenharmony_ci};
7911cb0ef41Sopenharmony_ci
7921cb0ef41Sopenharmony_ci[Exposed=Window]
7931cb0ef41Sopenharmony_ciinterface HTMLTableSectionElement : HTMLElement {
7941cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
7951cb0ef41Sopenharmony_ci
7961cb0ef41Sopenharmony_ci  [SameObject] readonly attribute HTMLCollection rows;
7971cb0ef41Sopenharmony_ci  HTMLTableRowElement insertRow(optional long index = -1);
7981cb0ef41Sopenharmony_ci  [CEReactions] undefined deleteRow(long index);
7991cb0ef41Sopenharmony_ci
8001cb0ef41Sopenharmony_ci  // also has obsolete members
8011cb0ef41Sopenharmony_ci};
8021cb0ef41Sopenharmony_ci
8031cb0ef41Sopenharmony_ci[Exposed=Window]
8041cb0ef41Sopenharmony_ciinterface HTMLTableRowElement : HTMLElement {
8051cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
8061cb0ef41Sopenharmony_ci
8071cb0ef41Sopenharmony_ci  readonly attribute long rowIndex;
8081cb0ef41Sopenharmony_ci  readonly attribute long sectionRowIndex;
8091cb0ef41Sopenharmony_ci  [SameObject] readonly attribute HTMLCollection cells;
8101cb0ef41Sopenharmony_ci  HTMLTableCellElement insertCell(optional long index = -1);
8111cb0ef41Sopenharmony_ci  [CEReactions] undefined deleteCell(long index);
8121cb0ef41Sopenharmony_ci
8131cb0ef41Sopenharmony_ci  // also has obsolete members
8141cb0ef41Sopenharmony_ci};
8151cb0ef41Sopenharmony_ci
8161cb0ef41Sopenharmony_ci[Exposed=Window]
8171cb0ef41Sopenharmony_ciinterface HTMLTableCellElement : HTMLElement {
8181cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
8191cb0ef41Sopenharmony_ci
8201cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long colSpan;
8211cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long rowSpan;
8221cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString headers;
8231cb0ef41Sopenharmony_ci  readonly attribute long cellIndex;
8241cb0ef41Sopenharmony_ci
8251cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString scope; // only conforming for th elements
8261cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString abbr;  // only conforming for th elements
8271cb0ef41Sopenharmony_ci
8281cb0ef41Sopenharmony_ci  // also has obsolete members
8291cb0ef41Sopenharmony_ci};
8301cb0ef41Sopenharmony_ci
8311cb0ef41Sopenharmony_ci[Exposed=Window,
8321cb0ef41Sopenharmony_ci LegacyOverrideBuiltIns,
8331cb0ef41Sopenharmony_ci LegacyUnenumerableNamedProperties]
8341cb0ef41Sopenharmony_ciinterface HTMLFormElement : HTMLElement {
8351cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
8361cb0ef41Sopenharmony_ci
8371cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString acceptCharset;
8381cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString action;
8391cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString autocomplete;
8401cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString enctype;
8411cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString encoding;
8421cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString method;
8431cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString name;
8441cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean noValidate;
8451cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString target;
8461cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString rel;
8471cb0ef41Sopenharmony_ci  [SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
8481cb0ef41Sopenharmony_ci
8491cb0ef41Sopenharmony_ci  [SameObject] readonly attribute HTMLFormControlsCollection elements;
8501cb0ef41Sopenharmony_ci  readonly attribute unsigned long length;
8511cb0ef41Sopenharmony_ci  getter Element (unsigned long index);
8521cb0ef41Sopenharmony_ci  getter (RadioNodeList or Element) (DOMString name);
8531cb0ef41Sopenharmony_ci
8541cb0ef41Sopenharmony_ci  undefined submit();
8551cb0ef41Sopenharmony_ci  undefined requestSubmit(optional HTMLElement? submitter = null);
8561cb0ef41Sopenharmony_ci  [CEReactions] undefined reset();
8571cb0ef41Sopenharmony_ci  boolean checkValidity();
8581cb0ef41Sopenharmony_ci  boolean reportValidity();
8591cb0ef41Sopenharmony_ci};
8601cb0ef41Sopenharmony_ci
8611cb0ef41Sopenharmony_ci[Exposed=Window]
8621cb0ef41Sopenharmony_ciinterface HTMLLabelElement : HTMLElement {
8631cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
8641cb0ef41Sopenharmony_ci
8651cb0ef41Sopenharmony_ci  readonly attribute HTMLFormElement? form;
8661cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString htmlFor;
8671cb0ef41Sopenharmony_ci  readonly attribute HTMLElement? control;
8681cb0ef41Sopenharmony_ci};
8691cb0ef41Sopenharmony_ci
8701cb0ef41Sopenharmony_ci[Exposed=Window]
8711cb0ef41Sopenharmony_ciinterface HTMLInputElement : HTMLElement {
8721cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
8731cb0ef41Sopenharmony_ci
8741cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString accept;
8751cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString alt;
8761cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString autocomplete;
8771cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean defaultChecked;
8781cb0ef41Sopenharmony_ci  attribute boolean checked;
8791cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString dirName;
8801cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean disabled;
8811cb0ef41Sopenharmony_ci  readonly attribute HTMLFormElement? form;
8821cb0ef41Sopenharmony_ci  attribute FileList? files;
8831cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString formAction;
8841cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString formEnctype;
8851cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString formMethod;
8861cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean formNoValidate;
8871cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString formTarget;
8881cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long height;
8891cb0ef41Sopenharmony_ci  attribute boolean indeterminate;
8901cb0ef41Sopenharmony_ci  readonly attribute HTMLElement? list;
8911cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString max;
8921cb0ef41Sopenharmony_ci  [CEReactions] attribute long maxLength;
8931cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString min;
8941cb0ef41Sopenharmony_ci  [CEReactions] attribute long minLength;
8951cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean multiple;
8961cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString name;
8971cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString pattern;
8981cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString placeholder;
8991cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean readOnly;
9001cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean required;
9011cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long size;
9021cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString src;
9031cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString step;
9041cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString type;
9051cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString defaultValue;
9061cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString value;
9071cb0ef41Sopenharmony_ci  attribute object? valueAsDate;
9081cb0ef41Sopenharmony_ci  attribute unrestricted double valueAsNumber;
9091cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long width;
9101cb0ef41Sopenharmony_ci
9111cb0ef41Sopenharmony_ci  undefined stepUp(optional long n = 1);
9121cb0ef41Sopenharmony_ci  undefined stepDown(optional long n = 1);
9131cb0ef41Sopenharmony_ci
9141cb0ef41Sopenharmony_ci  readonly attribute boolean willValidate;
9151cb0ef41Sopenharmony_ci  readonly attribute ValidityState validity;
9161cb0ef41Sopenharmony_ci  readonly attribute DOMString validationMessage;
9171cb0ef41Sopenharmony_ci  boolean checkValidity();
9181cb0ef41Sopenharmony_ci  boolean reportValidity();
9191cb0ef41Sopenharmony_ci  undefined setCustomValidity(DOMString error);
9201cb0ef41Sopenharmony_ci
9211cb0ef41Sopenharmony_ci  readonly attribute NodeList? labels;
9221cb0ef41Sopenharmony_ci
9231cb0ef41Sopenharmony_ci  undefined select();
9241cb0ef41Sopenharmony_ci  attribute unsigned long? selectionStart;
9251cb0ef41Sopenharmony_ci  attribute unsigned long? selectionEnd;
9261cb0ef41Sopenharmony_ci  attribute DOMString? selectionDirection;
9271cb0ef41Sopenharmony_ci  undefined setRangeText(DOMString replacement);
9281cb0ef41Sopenharmony_ci  undefined setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve");
9291cb0ef41Sopenharmony_ci  undefined setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
9301cb0ef41Sopenharmony_ci
9311cb0ef41Sopenharmony_ci  // also has obsolete members
9321cb0ef41Sopenharmony_ci};
9331cb0ef41Sopenharmony_ci
9341cb0ef41Sopenharmony_ci[Exposed=Window]
9351cb0ef41Sopenharmony_ciinterface HTMLButtonElement : HTMLElement {
9361cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
9371cb0ef41Sopenharmony_ci
9381cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean disabled;
9391cb0ef41Sopenharmony_ci  readonly attribute HTMLFormElement? form;
9401cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString formAction;
9411cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString formEnctype;
9421cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString formMethod;
9431cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean formNoValidate;
9441cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString formTarget;
9451cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString name;
9461cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString type;
9471cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString value;
9481cb0ef41Sopenharmony_ci
9491cb0ef41Sopenharmony_ci  readonly attribute boolean willValidate;
9501cb0ef41Sopenharmony_ci  readonly attribute ValidityState validity;
9511cb0ef41Sopenharmony_ci  readonly attribute DOMString validationMessage;
9521cb0ef41Sopenharmony_ci  boolean checkValidity();
9531cb0ef41Sopenharmony_ci  boolean reportValidity();
9541cb0ef41Sopenharmony_ci  undefined setCustomValidity(DOMString error);
9551cb0ef41Sopenharmony_ci
9561cb0ef41Sopenharmony_ci  readonly attribute NodeList labels;
9571cb0ef41Sopenharmony_ci};
9581cb0ef41Sopenharmony_ci
9591cb0ef41Sopenharmony_ci[Exposed=Window]
9601cb0ef41Sopenharmony_ciinterface HTMLSelectElement : HTMLElement {
9611cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
9621cb0ef41Sopenharmony_ci
9631cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString autocomplete;
9641cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean disabled;
9651cb0ef41Sopenharmony_ci  readonly attribute HTMLFormElement? form;
9661cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean multiple;
9671cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString name;
9681cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean required;
9691cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long size;
9701cb0ef41Sopenharmony_ci
9711cb0ef41Sopenharmony_ci  readonly attribute DOMString type;
9721cb0ef41Sopenharmony_ci
9731cb0ef41Sopenharmony_ci  [SameObject] readonly attribute HTMLOptionsCollection options;
9741cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long length;
9751cb0ef41Sopenharmony_ci  getter Element? item(unsigned long index);
9761cb0ef41Sopenharmony_ci  HTMLOptionElement? namedItem(DOMString name);
9771cb0ef41Sopenharmony_ci  [CEReactions] undefined add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null);
9781cb0ef41Sopenharmony_ci  [CEReactions] undefined remove(); // ChildNode overload
9791cb0ef41Sopenharmony_ci  [CEReactions] undefined remove(long index);
9801cb0ef41Sopenharmony_ci  [CEReactions] setter undefined (unsigned long index, HTMLOptionElement? option);
9811cb0ef41Sopenharmony_ci
9821cb0ef41Sopenharmony_ci  [SameObject] readonly attribute HTMLCollection selectedOptions;
9831cb0ef41Sopenharmony_ci  attribute long selectedIndex;
9841cb0ef41Sopenharmony_ci  attribute DOMString value;
9851cb0ef41Sopenharmony_ci
9861cb0ef41Sopenharmony_ci  readonly attribute boolean willValidate;
9871cb0ef41Sopenharmony_ci  readonly attribute ValidityState validity;
9881cb0ef41Sopenharmony_ci  readonly attribute DOMString validationMessage;
9891cb0ef41Sopenharmony_ci  boolean checkValidity();
9901cb0ef41Sopenharmony_ci  boolean reportValidity();
9911cb0ef41Sopenharmony_ci  undefined setCustomValidity(DOMString error);
9921cb0ef41Sopenharmony_ci
9931cb0ef41Sopenharmony_ci  readonly attribute NodeList labels;
9941cb0ef41Sopenharmony_ci};
9951cb0ef41Sopenharmony_ci
9961cb0ef41Sopenharmony_ci[Exposed=Window]
9971cb0ef41Sopenharmony_ciinterface HTMLDataListElement : HTMLElement {
9981cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
9991cb0ef41Sopenharmony_ci
10001cb0ef41Sopenharmony_ci  [SameObject] readonly attribute HTMLCollection options;
10011cb0ef41Sopenharmony_ci};
10021cb0ef41Sopenharmony_ci
10031cb0ef41Sopenharmony_ci[Exposed=Window]
10041cb0ef41Sopenharmony_ciinterface HTMLOptGroupElement : HTMLElement {
10051cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
10061cb0ef41Sopenharmony_ci
10071cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean disabled;
10081cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString label;
10091cb0ef41Sopenharmony_ci};
10101cb0ef41Sopenharmony_ci
10111cb0ef41Sopenharmony_ci[Exposed=Window,
10121cb0ef41Sopenharmony_ci LegacyFactoryFunction=Option(optional DOMString text = "", optional DOMString value, optional boolean defaultSelected = false, optional boolean selected = false)]
10131cb0ef41Sopenharmony_ciinterface HTMLOptionElement : HTMLElement {
10141cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
10151cb0ef41Sopenharmony_ci
10161cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean disabled;
10171cb0ef41Sopenharmony_ci  readonly attribute HTMLFormElement? form;
10181cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString label;
10191cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean defaultSelected;
10201cb0ef41Sopenharmony_ci  attribute boolean selected;
10211cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString value;
10221cb0ef41Sopenharmony_ci
10231cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString text;
10241cb0ef41Sopenharmony_ci  readonly attribute long index;
10251cb0ef41Sopenharmony_ci};
10261cb0ef41Sopenharmony_ci
10271cb0ef41Sopenharmony_ci[Exposed=Window]
10281cb0ef41Sopenharmony_ciinterface HTMLTextAreaElement : HTMLElement {
10291cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
10301cb0ef41Sopenharmony_ci
10311cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString autocomplete;
10321cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long cols;
10331cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString dirName;
10341cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean disabled;
10351cb0ef41Sopenharmony_ci  readonly attribute HTMLFormElement? form;
10361cb0ef41Sopenharmony_ci  [CEReactions] attribute long maxLength;
10371cb0ef41Sopenharmony_ci  [CEReactions] attribute long minLength;
10381cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString name;
10391cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString placeholder;
10401cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean readOnly;
10411cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean required;
10421cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long rows;
10431cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString wrap;
10441cb0ef41Sopenharmony_ci
10451cb0ef41Sopenharmony_ci  readonly attribute DOMString type;
10461cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString defaultValue;
10471cb0ef41Sopenharmony_ci  attribute [LegacyNullToEmptyString] DOMString value;
10481cb0ef41Sopenharmony_ci  readonly attribute unsigned long textLength;
10491cb0ef41Sopenharmony_ci
10501cb0ef41Sopenharmony_ci  readonly attribute boolean willValidate;
10511cb0ef41Sopenharmony_ci  readonly attribute ValidityState validity;
10521cb0ef41Sopenharmony_ci  readonly attribute DOMString validationMessage;
10531cb0ef41Sopenharmony_ci  boolean checkValidity();
10541cb0ef41Sopenharmony_ci  boolean reportValidity();
10551cb0ef41Sopenharmony_ci  undefined setCustomValidity(DOMString error);
10561cb0ef41Sopenharmony_ci
10571cb0ef41Sopenharmony_ci  readonly attribute NodeList labels;
10581cb0ef41Sopenharmony_ci
10591cb0ef41Sopenharmony_ci  undefined select();
10601cb0ef41Sopenharmony_ci  attribute unsigned long selectionStart;
10611cb0ef41Sopenharmony_ci  attribute unsigned long selectionEnd;
10621cb0ef41Sopenharmony_ci  attribute DOMString selectionDirection;
10631cb0ef41Sopenharmony_ci  undefined setRangeText(DOMString replacement);
10641cb0ef41Sopenharmony_ci  undefined setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve");
10651cb0ef41Sopenharmony_ci  undefined setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
10661cb0ef41Sopenharmony_ci};
10671cb0ef41Sopenharmony_ci
10681cb0ef41Sopenharmony_ci[Exposed=Window]
10691cb0ef41Sopenharmony_ciinterface HTMLOutputElement : HTMLElement {
10701cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
10711cb0ef41Sopenharmony_ci
10721cb0ef41Sopenharmony_ci  [SameObject, PutForwards=value] readonly attribute DOMTokenList htmlFor;
10731cb0ef41Sopenharmony_ci  readonly attribute HTMLFormElement? form;
10741cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString name;
10751cb0ef41Sopenharmony_ci
10761cb0ef41Sopenharmony_ci  readonly attribute DOMString type;
10771cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString defaultValue;
10781cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString value;
10791cb0ef41Sopenharmony_ci
10801cb0ef41Sopenharmony_ci  readonly attribute boolean willValidate;
10811cb0ef41Sopenharmony_ci  readonly attribute ValidityState validity;
10821cb0ef41Sopenharmony_ci  readonly attribute DOMString validationMessage;
10831cb0ef41Sopenharmony_ci  boolean checkValidity();
10841cb0ef41Sopenharmony_ci  boolean reportValidity();
10851cb0ef41Sopenharmony_ci  undefined setCustomValidity(DOMString error);
10861cb0ef41Sopenharmony_ci
10871cb0ef41Sopenharmony_ci  readonly attribute NodeList labels;
10881cb0ef41Sopenharmony_ci};
10891cb0ef41Sopenharmony_ci
10901cb0ef41Sopenharmony_ci[Exposed=Window]
10911cb0ef41Sopenharmony_ciinterface HTMLProgressElement : HTMLElement {
10921cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
10931cb0ef41Sopenharmony_ci
10941cb0ef41Sopenharmony_ci  [CEReactions] attribute double value;
10951cb0ef41Sopenharmony_ci  [CEReactions] attribute double max;
10961cb0ef41Sopenharmony_ci  readonly attribute double position;
10971cb0ef41Sopenharmony_ci  readonly attribute NodeList labels;
10981cb0ef41Sopenharmony_ci};
10991cb0ef41Sopenharmony_ci
11001cb0ef41Sopenharmony_ci[Exposed=Window]
11011cb0ef41Sopenharmony_ciinterface HTMLMeterElement : HTMLElement {
11021cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
11031cb0ef41Sopenharmony_ci
11041cb0ef41Sopenharmony_ci  [CEReactions] attribute double value;
11051cb0ef41Sopenharmony_ci  [CEReactions] attribute double min;
11061cb0ef41Sopenharmony_ci  [CEReactions] attribute double max;
11071cb0ef41Sopenharmony_ci  [CEReactions] attribute double low;
11081cb0ef41Sopenharmony_ci  [CEReactions] attribute double high;
11091cb0ef41Sopenharmony_ci  [CEReactions] attribute double optimum;
11101cb0ef41Sopenharmony_ci  readonly attribute NodeList labels;
11111cb0ef41Sopenharmony_ci};
11121cb0ef41Sopenharmony_ci
11131cb0ef41Sopenharmony_ci[Exposed=Window]
11141cb0ef41Sopenharmony_ciinterface HTMLFieldSetElement : HTMLElement {
11151cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
11161cb0ef41Sopenharmony_ci
11171cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean disabled;
11181cb0ef41Sopenharmony_ci  readonly attribute HTMLFormElement? form;
11191cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString name;
11201cb0ef41Sopenharmony_ci
11211cb0ef41Sopenharmony_ci  readonly attribute DOMString type;
11221cb0ef41Sopenharmony_ci
11231cb0ef41Sopenharmony_ci  [SameObject] readonly attribute HTMLCollection elements;
11241cb0ef41Sopenharmony_ci
11251cb0ef41Sopenharmony_ci  readonly attribute boolean willValidate;
11261cb0ef41Sopenharmony_ci  [SameObject] readonly attribute ValidityState validity;
11271cb0ef41Sopenharmony_ci  readonly attribute DOMString validationMessage;
11281cb0ef41Sopenharmony_ci  boolean checkValidity();
11291cb0ef41Sopenharmony_ci  boolean reportValidity();
11301cb0ef41Sopenharmony_ci  undefined setCustomValidity(DOMString error);
11311cb0ef41Sopenharmony_ci};
11321cb0ef41Sopenharmony_ci
11331cb0ef41Sopenharmony_ci[Exposed=Window]
11341cb0ef41Sopenharmony_ciinterface HTMLLegendElement : HTMLElement {
11351cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
11361cb0ef41Sopenharmony_ci
11371cb0ef41Sopenharmony_ci  readonly attribute HTMLFormElement? form;
11381cb0ef41Sopenharmony_ci
11391cb0ef41Sopenharmony_ci  // also has obsolete members
11401cb0ef41Sopenharmony_ci};
11411cb0ef41Sopenharmony_ci
11421cb0ef41Sopenharmony_cienum SelectionMode {
11431cb0ef41Sopenharmony_ci  "select",
11441cb0ef41Sopenharmony_ci  "start",
11451cb0ef41Sopenharmony_ci  "end",
11461cb0ef41Sopenharmony_ci  "preserve" // default
11471cb0ef41Sopenharmony_ci};
11481cb0ef41Sopenharmony_ci
11491cb0ef41Sopenharmony_ci[Exposed=Window]
11501cb0ef41Sopenharmony_ciinterface ValidityState {
11511cb0ef41Sopenharmony_ci  readonly attribute boolean valueMissing;
11521cb0ef41Sopenharmony_ci  readonly attribute boolean typeMismatch;
11531cb0ef41Sopenharmony_ci  readonly attribute boolean patternMismatch;
11541cb0ef41Sopenharmony_ci  readonly attribute boolean tooLong;
11551cb0ef41Sopenharmony_ci  readonly attribute boolean tooShort;
11561cb0ef41Sopenharmony_ci  readonly attribute boolean rangeUnderflow;
11571cb0ef41Sopenharmony_ci  readonly attribute boolean rangeOverflow;
11581cb0ef41Sopenharmony_ci  readonly attribute boolean stepMismatch;
11591cb0ef41Sopenharmony_ci  readonly attribute boolean badInput;
11601cb0ef41Sopenharmony_ci  readonly attribute boolean customError;
11611cb0ef41Sopenharmony_ci  readonly attribute boolean valid;
11621cb0ef41Sopenharmony_ci};
11631cb0ef41Sopenharmony_ci
11641cb0ef41Sopenharmony_ci[Exposed=Window]
11651cb0ef41Sopenharmony_ciinterface SubmitEvent : Event {
11661cb0ef41Sopenharmony_ci  constructor(DOMString type, optional SubmitEventInit eventInitDict = {});
11671cb0ef41Sopenharmony_ci
11681cb0ef41Sopenharmony_ci  readonly attribute HTMLElement? submitter;
11691cb0ef41Sopenharmony_ci};
11701cb0ef41Sopenharmony_ci
11711cb0ef41Sopenharmony_cidictionary SubmitEventInit : EventInit {
11721cb0ef41Sopenharmony_ci  HTMLElement? submitter = null;
11731cb0ef41Sopenharmony_ci};
11741cb0ef41Sopenharmony_ci
11751cb0ef41Sopenharmony_ci[Exposed=Window]
11761cb0ef41Sopenharmony_ciinterface FormDataEvent : Event {
11771cb0ef41Sopenharmony_ci  constructor(DOMString type, FormDataEventInit eventInitDict);
11781cb0ef41Sopenharmony_ci
11791cb0ef41Sopenharmony_ci  readonly attribute FormData formData;
11801cb0ef41Sopenharmony_ci};
11811cb0ef41Sopenharmony_ci
11821cb0ef41Sopenharmony_cidictionary FormDataEventInit : EventInit {
11831cb0ef41Sopenharmony_ci  required FormData formData;
11841cb0ef41Sopenharmony_ci};
11851cb0ef41Sopenharmony_ci
11861cb0ef41Sopenharmony_ci[Exposed=Window]
11871cb0ef41Sopenharmony_ciinterface HTMLDetailsElement : HTMLElement {
11881cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
11891cb0ef41Sopenharmony_ci
11901cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean open;
11911cb0ef41Sopenharmony_ci};
11921cb0ef41Sopenharmony_ci
11931cb0ef41Sopenharmony_ci[Exposed=Window]
11941cb0ef41Sopenharmony_ciinterface HTMLDialogElement : HTMLElement {
11951cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
11961cb0ef41Sopenharmony_ci
11971cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean open;
11981cb0ef41Sopenharmony_ci  attribute DOMString returnValue;
11991cb0ef41Sopenharmony_ci  [CEReactions] undefined show();
12001cb0ef41Sopenharmony_ci  [CEReactions] undefined showModal();
12011cb0ef41Sopenharmony_ci  [CEReactions] undefined close(optional DOMString returnValue);
12021cb0ef41Sopenharmony_ci};
12031cb0ef41Sopenharmony_ci
12041cb0ef41Sopenharmony_ci[Exposed=Window]
12051cb0ef41Sopenharmony_ciinterface HTMLScriptElement : HTMLElement {
12061cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
12071cb0ef41Sopenharmony_ci
12081cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString src;
12091cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString type;
12101cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean noModule;
12111cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean async;
12121cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean defer;
12131cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString? crossOrigin;
12141cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString text;
12151cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString integrity;
12161cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString referrerPolicy;
12171cb0ef41Sopenharmony_ci
12181cb0ef41Sopenharmony_ci  // also has obsolete members
12191cb0ef41Sopenharmony_ci};
12201cb0ef41Sopenharmony_ci
12211cb0ef41Sopenharmony_ci[Exposed=Window]
12221cb0ef41Sopenharmony_ciinterface HTMLTemplateElement : HTMLElement {
12231cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
12241cb0ef41Sopenharmony_ci
12251cb0ef41Sopenharmony_ci  readonly attribute DocumentFragment content;
12261cb0ef41Sopenharmony_ci};
12271cb0ef41Sopenharmony_ci
12281cb0ef41Sopenharmony_ci[Exposed=Window]
12291cb0ef41Sopenharmony_ciinterface HTMLSlotElement : HTMLElement {
12301cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
12311cb0ef41Sopenharmony_ci
12321cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString name;
12331cb0ef41Sopenharmony_ci  sequence<Node> assignedNodes(optional AssignedNodesOptions options = {});
12341cb0ef41Sopenharmony_ci  sequence<Element> assignedElements(optional AssignedNodesOptions options = {});
12351cb0ef41Sopenharmony_ci  undefined assign((Element or Text)... nodes);
12361cb0ef41Sopenharmony_ci};
12371cb0ef41Sopenharmony_ci
12381cb0ef41Sopenharmony_cidictionary AssignedNodesOptions {
12391cb0ef41Sopenharmony_ci  boolean flatten = false;
12401cb0ef41Sopenharmony_ci};
12411cb0ef41Sopenharmony_ci
12421cb0ef41Sopenharmony_citypedef (CanvasRenderingContext2D or ImageBitmapRenderingContext or WebGLRenderingContext or WebGL2RenderingContext) RenderingContext;
12431cb0ef41Sopenharmony_ci
12441cb0ef41Sopenharmony_ci[Exposed=Window]
12451cb0ef41Sopenharmony_ciinterface HTMLCanvasElement : HTMLElement {
12461cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
12471cb0ef41Sopenharmony_ci
12481cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long width;
12491cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long height;
12501cb0ef41Sopenharmony_ci
12511cb0ef41Sopenharmony_ci  RenderingContext? getContext(DOMString contextId, optional any options = null);
12521cb0ef41Sopenharmony_ci
12531cb0ef41Sopenharmony_ci  USVString toDataURL(optional DOMString type = "image/png", optional any quality);
12541cb0ef41Sopenharmony_ci  undefined toBlob(BlobCallback _callback, optional DOMString type = "image/png", optional any quality);
12551cb0ef41Sopenharmony_ci  OffscreenCanvas transferControlToOffscreen();
12561cb0ef41Sopenharmony_ci};
12571cb0ef41Sopenharmony_ci
12581cb0ef41Sopenharmony_cicallback BlobCallback = undefined (Blob? blob);
12591cb0ef41Sopenharmony_ci
12601cb0ef41Sopenharmony_citypedef (HTMLImageElement or
12611cb0ef41Sopenharmony_ci         SVGImageElement) HTMLOrSVGImageElement;
12621cb0ef41Sopenharmony_ci
12631cb0ef41Sopenharmony_citypedef (HTMLOrSVGImageElement or
12641cb0ef41Sopenharmony_ci         HTMLVideoElement or
12651cb0ef41Sopenharmony_ci         HTMLCanvasElement or
12661cb0ef41Sopenharmony_ci         ImageBitmap or
12671cb0ef41Sopenharmony_ci         OffscreenCanvas) CanvasImageSource;
12681cb0ef41Sopenharmony_ci
12691cb0ef41Sopenharmony_cienum PredefinedColorSpace { "srgb", "display-p3" };
12701cb0ef41Sopenharmony_ci
12711cb0ef41Sopenharmony_cienum CanvasFillRule { "nonzero", "evenodd" };
12721cb0ef41Sopenharmony_ci
12731cb0ef41Sopenharmony_cidictionary CanvasRenderingContext2DSettings {
12741cb0ef41Sopenharmony_ci  boolean alpha = true;
12751cb0ef41Sopenharmony_ci  boolean desynchronized = false;
12761cb0ef41Sopenharmony_ci  PredefinedColorSpace colorSpace = "srgb";
12771cb0ef41Sopenharmony_ci};
12781cb0ef41Sopenharmony_ci
12791cb0ef41Sopenharmony_cienum ImageSmoothingQuality { "low", "medium", "high" };
12801cb0ef41Sopenharmony_ci
12811cb0ef41Sopenharmony_ci[Exposed=Window]
12821cb0ef41Sopenharmony_ciinterface CanvasRenderingContext2D {
12831cb0ef41Sopenharmony_ci  // back-reference to the canvas
12841cb0ef41Sopenharmony_ci  readonly attribute HTMLCanvasElement canvas;
12851cb0ef41Sopenharmony_ci
12861cb0ef41Sopenharmony_ci  CanvasRenderingContext2DSettings getContextAttributes();
12871cb0ef41Sopenharmony_ci};
12881cb0ef41Sopenharmony_ciCanvasRenderingContext2D includes CanvasState;
12891cb0ef41Sopenharmony_ciCanvasRenderingContext2D includes CanvasTransform;
12901cb0ef41Sopenharmony_ciCanvasRenderingContext2D includes CanvasCompositing;
12911cb0ef41Sopenharmony_ciCanvasRenderingContext2D includes CanvasImageSmoothing;
12921cb0ef41Sopenharmony_ciCanvasRenderingContext2D includes CanvasFillStrokeStyles;
12931cb0ef41Sopenharmony_ciCanvasRenderingContext2D includes CanvasShadowStyles;
12941cb0ef41Sopenharmony_ciCanvasRenderingContext2D includes CanvasFilters;
12951cb0ef41Sopenharmony_ciCanvasRenderingContext2D includes CanvasRect;
12961cb0ef41Sopenharmony_ciCanvasRenderingContext2D includes CanvasDrawPath;
12971cb0ef41Sopenharmony_ciCanvasRenderingContext2D includes CanvasUserInterface;
12981cb0ef41Sopenharmony_ciCanvasRenderingContext2D includes CanvasText;
12991cb0ef41Sopenharmony_ciCanvasRenderingContext2D includes CanvasDrawImage;
13001cb0ef41Sopenharmony_ciCanvasRenderingContext2D includes CanvasImageData;
13011cb0ef41Sopenharmony_ciCanvasRenderingContext2D includes CanvasPathDrawingStyles;
13021cb0ef41Sopenharmony_ciCanvasRenderingContext2D includes CanvasTextDrawingStyles;
13031cb0ef41Sopenharmony_ciCanvasRenderingContext2D includes CanvasPath;
13041cb0ef41Sopenharmony_ci
13051cb0ef41Sopenharmony_ciinterface mixin CanvasState {
13061cb0ef41Sopenharmony_ci  // state
13071cb0ef41Sopenharmony_ci  undefined save(); // push state on state stack
13081cb0ef41Sopenharmony_ci  undefined restore(); // pop state stack and restore state
13091cb0ef41Sopenharmony_ci  undefined reset(); // reset the rendering context to its default state
13101cb0ef41Sopenharmony_ci};
13111cb0ef41Sopenharmony_ci
13121cb0ef41Sopenharmony_ciinterface mixin CanvasTransform {
13131cb0ef41Sopenharmony_ci  // transformations (default transform is the identity matrix)
13141cb0ef41Sopenharmony_ci  undefined scale(unrestricted double x, unrestricted double y);
13151cb0ef41Sopenharmony_ci  undefined rotate(unrestricted double angle);
13161cb0ef41Sopenharmony_ci  undefined translate(unrestricted double x, unrestricted double y);
13171cb0ef41Sopenharmony_ci  undefined transform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f);
13181cb0ef41Sopenharmony_ci
13191cb0ef41Sopenharmony_ci  [NewObject] DOMMatrix getTransform();
13201cb0ef41Sopenharmony_ci  undefined setTransform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f);
13211cb0ef41Sopenharmony_ci  undefined setTransform(optional DOMMatrix2DInit transform = {});
13221cb0ef41Sopenharmony_ci  undefined resetTransform();
13231cb0ef41Sopenharmony_ci
13241cb0ef41Sopenharmony_ci};
13251cb0ef41Sopenharmony_ci
13261cb0ef41Sopenharmony_ciinterface mixin CanvasCompositing {
13271cb0ef41Sopenharmony_ci  // compositing
13281cb0ef41Sopenharmony_ci  attribute unrestricted double globalAlpha; // (default 1.0)
13291cb0ef41Sopenharmony_ci  attribute DOMString globalCompositeOperation; // (default source-over)
13301cb0ef41Sopenharmony_ci};
13311cb0ef41Sopenharmony_ci
13321cb0ef41Sopenharmony_ciinterface mixin CanvasImageSmoothing {
13331cb0ef41Sopenharmony_ci  // image smoothing
13341cb0ef41Sopenharmony_ci  attribute boolean imageSmoothingEnabled; // (default true)
13351cb0ef41Sopenharmony_ci  attribute ImageSmoothingQuality imageSmoothingQuality; // (default low)
13361cb0ef41Sopenharmony_ci
13371cb0ef41Sopenharmony_ci};
13381cb0ef41Sopenharmony_ci
13391cb0ef41Sopenharmony_ciinterface mixin CanvasFillStrokeStyles {
13401cb0ef41Sopenharmony_ci  // colors and styles (see also the CanvasPathDrawingStyles and CanvasTextDrawingStyles interfaces)
13411cb0ef41Sopenharmony_ci  attribute (DOMString or CanvasGradient or CanvasPattern) strokeStyle; // (default black)
13421cb0ef41Sopenharmony_ci  attribute (DOMString or CanvasGradient or CanvasPattern) fillStyle; // (default black)
13431cb0ef41Sopenharmony_ci  CanvasGradient createLinearGradient(double x0, double y0, double x1, double y1);
13441cb0ef41Sopenharmony_ci  CanvasGradient createRadialGradient(double x0, double y0, double r0, double x1, double y1, double r1);
13451cb0ef41Sopenharmony_ci  CanvasGradient createConicGradient(double startAngle, double x, double y);
13461cb0ef41Sopenharmony_ci  CanvasPattern? createPattern(CanvasImageSource image, [LegacyNullToEmptyString] DOMString repetition);
13471cb0ef41Sopenharmony_ci
13481cb0ef41Sopenharmony_ci};
13491cb0ef41Sopenharmony_ci
13501cb0ef41Sopenharmony_ciinterface mixin CanvasShadowStyles {
13511cb0ef41Sopenharmony_ci  // shadows
13521cb0ef41Sopenharmony_ci  attribute unrestricted double shadowOffsetX; // (default 0)
13531cb0ef41Sopenharmony_ci  attribute unrestricted double shadowOffsetY; // (default 0)
13541cb0ef41Sopenharmony_ci  attribute unrestricted double shadowBlur; // (default 0)
13551cb0ef41Sopenharmony_ci  attribute DOMString shadowColor; // (default transparent black)
13561cb0ef41Sopenharmony_ci};
13571cb0ef41Sopenharmony_ci
13581cb0ef41Sopenharmony_ciinterface mixin CanvasFilters {
13591cb0ef41Sopenharmony_ci  // filters
13601cb0ef41Sopenharmony_ci  attribute DOMString filter; // (default "none")
13611cb0ef41Sopenharmony_ci};
13621cb0ef41Sopenharmony_ci
13631cb0ef41Sopenharmony_ciinterface mixin CanvasRect {
13641cb0ef41Sopenharmony_ci  // rects
13651cb0ef41Sopenharmony_ci  undefined clearRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
13661cb0ef41Sopenharmony_ci  undefined fillRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
13671cb0ef41Sopenharmony_ci  undefined strokeRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
13681cb0ef41Sopenharmony_ci};
13691cb0ef41Sopenharmony_ci
13701cb0ef41Sopenharmony_ciinterface mixin CanvasDrawPath {
13711cb0ef41Sopenharmony_ci  // path API (see also CanvasPath)
13721cb0ef41Sopenharmony_ci  undefined beginPath();
13731cb0ef41Sopenharmony_ci  undefined fill(optional CanvasFillRule fillRule = "nonzero");
13741cb0ef41Sopenharmony_ci  undefined fill(Path2D path, optional CanvasFillRule fillRule = "nonzero");
13751cb0ef41Sopenharmony_ci  undefined stroke();
13761cb0ef41Sopenharmony_ci  undefined stroke(Path2D path);
13771cb0ef41Sopenharmony_ci  undefined clip(optional CanvasFillRule fillRule = "nonzero");
13781cb0ef41Sopenharmony_ci  undefined clip(Path2D path, optional CanvasFillRule fillRule = "nonzero");
13791cb0ef41Sopenharmony_ci  boolean isPointInPath(unrestricted double x, unrestricted double y, optional CanvasFillRule fillRule = "nonzero");
13801cb0ef41Sopenharmony_ci  boolean isPointInPath(Path2D path, unrestricted double x, unrestricted double y, optional CanvasFillRule fillRule = "nonzero");
13811cb0ef41Sopenharmony_ci  boolean isPointInStroke(unrestricted double x, unrestricted double y);
13821cb0ef41Sopenharmony_ci  boolean isPointInStroke(Path2D path, unrestricted double x, unrestricted double y);
13831cb0ef41Sopenharmony_ci};
13841cb0ef41Sopenharmony_ci
13851cb0ef41Sopenharmony_ciinterface mixin CanvasUserInterface {
13861cb0ef41Sopenharmony_ci  undefined drawFocusIfNeeded(Element element);
13871cb0ef41Sopenharmony_ci  undefined drawFocusIfNeeded(Path2D path, Element element);
13881cb0ef41Sopenharmony_ci  undefined scrollPathIntoView();
13891cb0ef41Sopenharmony_ci  undefined scrollPathIntoView(Path2D path);
13901cb0ef41Sopenharmony_ci};
13911cb0ef41Sopenharmony_ci
13921cb0ef41Sopenharmony_ciinterface mixin CanvasText {
13931cb0ef41Sopenharmony_ci  // text (see also the CanvasPathDrawingStyles and CanvasTextDrawingStyles interfaces)
13941cb0ef41Sopenharmony_ci  undefined fillText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);
13951cb0ef41Sopenharmony_ci  undefined strokeText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);
13961cb0ef41Sopenharmony_ci  TextMetrics measureText(DOMString text);
13971cb0ef41Sopenharmony_ci};
13981cb0ef41Sopenharmony_ci
13991cb0ef41Sopenharmony_ciinterface mixin CanvasDrawImage {
14001cb0ef41Sopenharmony_ci  // drawing images
14011cb0ef41Sopenharmony_ci  undefined drawImage(CanvasImageSource image, unrestricted double dx, unrestricted double dy);
14021cb0ef41Sopenharmony_ci  undefined drawImage(CanvasImageSource image, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh);
14031cb0ef41Sopenharmony_ci  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);
14041cb0ef41Sopenharmony_ci};
14051cb0ef41Sopenharmony_ci
14061cb0ef41Sopenharmony_ciinterface mixin CanvasImageData {
14071cb0ef41Sopenharmony_ci  // pixel manipulation
14081cb0ef41Sopenharmony_ci  ImageData createImageData([EnforceRange] long sw, [EnforceRange] long sh, optional ImageDataSettings settings = {});
14091cb0ef41Sopenharmony_ci  ImageData createImageData(ImageData imagedata);
14101cb0ef41Sopenharmony_ci  ImageData getImageData([EnforceRange] long sx, [EnforceRange] long sy, [EnforceRange] long sw, [EnforceRange] long sh, optional ImageDataSettings settings = {});
14111cb0ef41Sopenharmony_ci  undefined putImageData(ImageData imagedata, [EnforceRange] long dx, [EnforceRange] long dy);
14121cb0ef41Sopenharmony_ci  undefined putImageData(ImageData imagedata, [EnforceRange] long dx, [EnforceRange] long dy, [EnforceRange] long dirtyX, [EnforceRange] long dirtyY, [EnforceRange] long dirtyWidth, [EnforceRange] long dirtyHeight);
14131cb0ef41Sopenharmony_ci};
14141cb0ef41Sopenharmony_ci
14151cb0ef41Sopenharmony_cienum CanvasLineCap { "butt", "round", "square" };
14161cb0ef41Sopenharmony_cienum CanvasLineJoin { "round", "bevel", "miter" };
14171cb0ef41Sopenharmony_cienum CanvasTextAlign { "start", "end", "left", "right", "center" };
14181cb0ef41Sopenharmony_cienum CanvasTextBaseline { "top", "hanging", "middle", "alphabetic", "ideographic", "bottom" };
14191cb0ef41Sopenharmony_cienum CanvasDirection { "ltr", "rtl", "inherit" };
14201cb0ef41Sopenharmony_cienum CanvasFontKerning { "auto", "normal", "none" };
14211cb0ef41Sopenharmony_cienum CanvasFontStretch { "ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded" };
14221cb0ef41Sopenharmony_cienum CanvasFontVariantCaps { "normal", "small-caps", "all-small-caps", "petite-caps", "all-petite-caps", "unicase", "titling-caps" };
14231cb0ef41Sopenharmony_cienum CanvasTextRendering { "auto", "optimizeSpeed", "optimizeLegibility", "geometricPrecision" };
14241cb0ef41Sopenharmony_ci
14251cb0ef41Sopenharmony_ciinterface mixin CanvasPathDrawingStyles {
14261cb0ef41Sopenharmony_ci  // line caps/joins
14271cb0ef41Sopenharmony_ci  attribute unrestricted double lineWidth; // (default 1)
14281cb0ef41Sopenharmony_ci  attribute CanvasLineCap lineCap; // (default "butt")
14291cb0ef41Sopenharmony_ci  attribute CanvasLineJoin lineJoin; // (default "miter")
14301cb0ef41Sopenharmony_ci  attribute unrestricted double miterLimit; // (default 10)
14311cb0ef41Sopenharmony_ci
14321cb0ef41Sopenharmony_ci  // dashed lines
14331cb0ef41Sopenharmony_ci  undefined setLineDash(sequence<unrestricted double> segments); // default empty
14341cb0ef41Sopenharmony_ci  sequence<unrestricted double> getLineDash();
14351cb0ef41Sopenharmony_ci  attribute unrestricted double lineDashOffset;
14361cb0ef41Sopenharmony_ci};
14371cb0ef41Sopenharmony_ci
14381cb0ef41Sopenharmony_ciinterface mixin CanvasTextDrawingStyles {
14391cb0ef41Sopenharmony_ci  // text
14401cb0ef41Sopenharmony_ci  attribute DOMString font; // (default 10px sans-serif)
14411cb0ef41Sopenharmony_ci  attribute CanvasTextAlign textAlign; // (default: "start")
14421cb0ef41Sopenharmony_ci  attribute CanvasTextBaseline textBaseline; // (default: "alphabetic")
14431cb0ef41Sopenharmony_ci  attribute CanvasDirection direction; // (default: "inherit")
14441cb0ef41Sopenharmony_ci  attribute double textLetterSpacing; // (default: 0)
14451cb0ef41Sopenharmony_ci  attribute double textWordSpacing; // (default: 0)
14461cb0ef41Sopenharmony_ci  attribute CanvasFontKerning fontKerning; // (default: "auto")
14471cb0ef41Sopenharmony_ci  attribute CanvasFontStretch fontStretch; // (default: "normal")
14481cb0ef41Sopenharmony_ci  attribute CanvasFontVariantCaps fontVariantCaps; // (default: "normal")
14491cb0ef41Sopenharmony_ci  attribute CanvasTextRendering textRendering; // (default: "normal")
14501cb0ef41Sopenharmony_ci};
14511cb0ef41Sopenharmony_ci
14521cb0ef41Sopenharmony_ciinterface mixin CanvasPath {
14531cb0ef41Sopenharmony_ci  // shared path API methods
14541cb0ef41Sopenharmony_ci  undefined closePath();
14551cb0ef41Sopenharmony_ci  undefined moveTo(unrestricted double x, unrestricted double y);
14561cb0ef41Sopenharmony_ci  undefined lineTo(unrestricted double x, unrestricted double y);
14571cb0ef41Sopenharmony_ci  undefined quadraticCurveTo(unrestricted double cpx, unrestricted double cpy, unrestricted double x, unrestricted double y);
14581cb0ef41Sopenharmony_ci  undefined bezierCurveTo(unrestricted double cp1x, unrestricted double cp1y, unrestricted double cp2x, unrestricted double cp2y, unrestricted double x, unrestricted double y);
14591cb0ef41Sopenharmony_ci  undefined arcTo(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radius);
14601cb0ef41Sopenharmony_ci  undefined rect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
14611cb0ef41Sopenharmony_ci  undefined arc(unrestricted double x, unrestricted double y, unrestricted double radius, unrestricted double startAngle, unrestricted double endAngle, optional boolean counterclockwise = false);
14621cb0ef41Sopenharmony_ci  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 counterclockwise = false);
14631cb0ef41Sopenharmony_ci};
14641cb0ef41Sopenharmony_ci
14651cb0ef41Sopenharmony_ci[Exposed=(Window,Worker)]
14661cb0ef41Sopenharmony_ciinterface CanvasGradient {
14671cb0ef41Sopenharmony_ci  // opaque object
14681cb0ef41Sopenharmony_ci  undefined addColorStop(double offset, DOMString color);
14691cb0ef41Sopenharmony_ci};
14701cb0ef41Sopenharmony_ci
14711cb0ef41Sopenharmony_ci[Exposed=(Window,Worker)]
14721cb0ef41Sopenharmony_ciinterface CanvasPattern {
14731cb0ef41Sopenharmony_ci  // opaque object
14741cb0ef41Sopenharmony_ci  undefined setTransform(optional DOMMatrix2DInit transform = {});
14751cb0ef41Sopenharmony_ci};
14761cb0ef41Sopenharmony_ci
14771cb0ef41Sopenharmony_ci[Exposed=(Window,Worker)]
14781cb0ef41Sopenharmony_ciinterface TextMetrics {
14791cb0ef41Sopenharmony_ci  // x-direction
14801cb0ef41Sopenharmony_ci  readonly attribute double width; // advance width
14811cb0ef41Sopenharmony_ci  readonly attribute double actualBoundingBoxLeft;
14821cb0ef41Sopenharmony_ci  readonly attribute double actualBoundingBoxRight;
14831cb0ef41Sopenharmony_ci
14841cb0ef41Sopenharmony_ci  // y-direction
14851cb0ef41Sopenharmony_ci  readonly attribute double fontBoundingBoxAscent;
14861cb0ef41Sopenharmony_ci  readonly attribute double fontBoundingBoxDescent;
14871cb0ef41Sopenharmony_ci  readonly attribute double actualBoundingBoxAscent;
14881cb0ef41Sopenharmony_ci  readonly attribute double actualBoundingBoxDescent;
14891cb0ef41Sopenharmony_ci  readonly attribute double emHeightAscent;
14901cb0ef41Sopenharmony_ci  readonly attribute double emHeightDescent;
14911cb0ef41Sopenharmony_ci  readonly attribute double hangingBaseline;
14921cb0ef41Sopenharmony_ci  readonly attribute double alphabeticBaseline;
14931cb0ef41Sopenharmony_ci  readonly attribute double ideographicBaseline;
14941cb0ef41Sopenharmony_ci};
14951cb0ef41Sopenharmony_ci
14961cb0ef41Sopenharmony_cidictionary ImageDataSettings {
14971cb0ef41Sopenharmony_ci  PredefinedColorSpace colorSpace;
14981cb0ef41Sopenharmony_ci};
14991cb0ef41Sopenharmony_ci
15001cb0ef41Sopenharmony_ci[Exposed=(Window,Worker),
15011cb0ef41Sopenharmony_ci Serializable]
15021cb0ef41Sopenharmony_ciinterface ImageData {
15031cb0ef41Sopenharmony_ci  constructor(unsigned long sw, unsigned long sh, optional ImageDataSettings settings = {});
15041cb0ef41Sopenharmony_ci  constructor(Uint8ClampedArray data, unsigned long sw, optional unsigned long sh, optional ImageDataSettings settings = {});
15051cb0ef41Sopenharmony_ci
15061cb0ef41Sopenharmony_ci  readonly attribute unsigned long width;
15071cb0ef41Sopenharmony_ci  readonly attribute unsigned long height;
15081cb0ef41Sopenharmony_ci  readonly attribute Uint8ClampedArray data;
15091cb0ef41Sopenharmony_ci  readonly attribute PredefinedColorSpace colorSpace;
15101cb0ef41Sopenharmony_ci};
15111cb0ef41Sopenharmony_ci
15121cb0ef41Sopenharmony_ci[Exposed=(Window,Worker)]
15131cb0ef41Sopenharmony_ciinterface Path2D {
15141cb0ef41Sopenharmony_ci  constructor(optional (Path2D or DOMString) path);
15151cb0ef41Sopenharmony_ci
15161cb0ef41Sopenharmony_ci  undefined addPath(Path2D path, optional DOMMatrix2DInit transform = {});
15171cb0ef41Sopenharmony_ci};
15181cb0ef41Sopenharmony_ciPath2D includes CanvasPath;
15191cb0ef41Sopenharmony_ci
15201cb0ef41Sopenharmony_ci[Exposed=(Window,Worker)]
15211cb0ef41Sopenharmony_ciinterface ImageBitmapRenderingContext {
15221cb0ef41Sopenharmony_ci  readonly attribute (HTMLCanvasElement or OffscreenCanvas) canvas;
15231cb0ef41Sopenharmony_ci  undefined transferFromImageBitmap(ImageBitmap? bitmap);
15241cb0ef41Sopenharmony_ci};
15251cb0ef41Sopenharmony_ci
15261cb0ef41Sopenharmony_cidictionary ImageBitmapRenderingContextSettings {
15271cb0ef41Sopenharmony_ci  boolean alpha = true;
15281cb0ef41Sopenharmony_ci};
15291cb0ef41Sopenharmony_ci
15301cb0ef41Sopenharmony_citypedef (OffscreenCanvasRenderingContext2D or ImageBitmapRenderingContext or WebGLRenderingContext or WebGL2RenderingContext) OffscreenRenderingContext;
15311cb0ef41Sopenharmony_ci
15321cb0ef41Sopenharmony_cidictionary ImageEncodeOptions {
15331cb0ef41Sopenharmony_ci  DOMString type = "image/png";
15341cb0ef41Sopenharmony_ci  unrestricted double quality;
15351cb0ef41Sopenharmony_ci};
15361cb0ef41Sopenharmony_ci
15371cb0ef41Sopenharmony_cienum OffscreenRenderingContextId { "2d", "bitmaprenderer", "webgl", "webgl2" };
15381cb0ef41Sopenharmony_ci
15391cb0ef41Sopenharmony_ci[Exposed=(Window,Worker), Transferable]
15401cb0ef41Sopenharmony_ciinterface OffscreenCanvas : EventTarget {
15411cb0ef41Sopenharmony_ci  constructor([EnforceRange] unsigned long long width, [EnforceRange] unsigned long long height);
15421cb0ef41Sopenharmony_ci
15431cb0ef41Sopenharmony_ci  attribute [EnforceRange] unsigned long long width;
15441cb0ef41Sopenharmony_ci  attribute [EnforceRange] unsigned long long height;
15451cb0ef41Sopenharmony_ci
15461cb0ef41Sopenharmony_ci  OffscreenRenderingContext? getContext(OffscreenRenderingContextId contextId, optional any options = null);
15471cb0ef41Sopenharmony_ci  ImageBitmap transferToImageBitmap();
15481cb0ef41Sopenharmony_ci  Promise<Blob> convertToBlob(optional ImageEncodeOptions options = {});
15491cb0ef41Sopenharmony_ci};
15501cb0ef41Sopenharmony_ci
15511cb0ef41Sopenharmony_ci[Exposed=(Window,Worker)]
15521cb0ef41Sopenharmony_ciinterface OffscreenCanvasRenderingContext2D {
15531cb0ef41Sopenharmony_ci  undefined commit();
15541cb0ef41Sopenharmony_ci  readonly attribute OffscreenCanvas canvas;
15551cb0ef41Sopenharmony_ci};
15561cb0ef41Sopenharmony_ci
15571cb0ef41Sopenharmony_ciOffscreenCanvasRenderingContext2D includes CanvasState;
15581cb0ef41Sopenharmony_ciOffscreenCanvasRenderingContext2D includes CanvasTransform;
15591cb0ef41Sopenharmony_ciOffscreenCanvasRenderingContext2D includes CanvasCompositing;
15601cb0ef41Sopenharmony_ciOffscreenCanvasRenderingContext2D includes CanvasImageSmoothing;
15611cb0ef41Sopenharmony_ciOffscreenCanvasRenderingContext2D includes CanvasFillStrokeStyles;
15621cb0ef41Sopenharmony_ciOffscreenCanvasRenderingContext2D includes CanvasShadowStyles;
15631cb0ef41Sopenharmony_ciOffscreenCanvasRenderingContext2D includes CanvasFilters;
15641cb0ef41Sopenharmony_ciOffscreenCanvasRenderingContext2D includes CanvasRect;
15651cb0ef41Sopenharmony_ciOffscreenCanvasRenderingContext2D includes CanvasDrawPath;
15661cb0ef41Sopenharmony_ciOffscreenCanvasRenderingContext2D includes CanvasText;
15671cb0ef41Sopenharmony_ciOffscreenCanvasRenderingContext2D includes CanvasDrawImage;
15681cb0ef41Sopenharmony_ciOffscreenCanvasRenderingContext2D includes CanvasImageData;
15691cb0ef41Sopenharmony_ciOffscreenCanvasRenderingContext2D includes CanvasPathDrawingStyles;
15701cb0ef41Sopenharmony_ciOffscreenCanvasRenderingContext2D includes CanvasTextDrawingStyles;
15711cb0ef41Sopenharmony_ciOffscreenCanvasRenderingContext2D includes CanvasPath;
15721cb0ef41Sopenharmony_ci
15731cb0ef41Sopenharmony_ci[Exposed=Window]
15741cb0ef41Sopenharmony_ciinterface CustomElementRegistry {
15751cb0ef41Sopenharmony_ci  [CEReactions] undefined define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions options = {});
15761cb0ef41Sopenharmony_ci  (CustomElementConstructor or undefined) get(DOMString name);
15771cb0ef41Sopenharmony_ci  Promise<CustomElementConstructor> whenDefined(DOMString name);
15781cb0ef41Sopenharmony_ci  [CEReactions] undefined upgrade(Node root);
15791cb0ef41Sopenharmony_ci};
15801cb0ef41Sopenharmony_ci
15811cb0ef41Sopenharmony_cicallback CustomElementConstructor = HTMLElement ();
15821cb0ef41Sopenharmony_ci
15831cb0ef41Sopenharmony_cidictionary ElementDefinitionOptions {
15841cb0ef41Sopenharmony_ci  DOMString extends;
15851cb0ef41Sopenharmony_ci};
15861cb0ef41Sopenharmony_ci
15871cb0ef41Sopenharmony_ci[Exposed=Window]
15881cb0ef41Sopenharmony_ciinterface ElementInternals {
15891cb0ef41Sopenharmony_ci  // Shadow root access
15901cb0ef41Sopenharmony_ci  readonly attribute ShadowRoot? shadowRoot;
15911cb0ef41Sopenharmony_ci
15921cb0ef41Sopenharmony_ci  // Form-associated custom elements
15931cb0ef41Sopenharmony_ci  undefined setFormValue((File or USVString or FormData)? value,
15941cb0ef41Sopenharmony_ci                         optional (File or USVString or FormData)? state);
15951cb0ef41Sopenharmony_ci
15961cb0ef41Sopenharmony_ci  readonly attribute HTMLFormElement? form;
15971cb0ef41Sopenharmony_ci
15981cb0ef41Sopenharmony_ci  undefined setValidity(optional ValidityStateFlags flags = {},
15991cb0ef41Sopenharmony_ci                        optional DOMString message,
16001cb0ef41Sopenharmony_ci                        optional HTMLElement anchor);
16011cb0ef41Sopenharmony_ci  readonly attribute boolean willValidate;
16021cb0ef41Sopenharmony_ci  readonly attribute ValidityState validity;
16031cb0ef41Sopenharmony_ci  readonly attribute DOMString validationMessage;
16041cb0ef41Sopenharmony_ci  boolean checkValidity();
16051cb0ef41Sopenharmony_ci  boolean reportValidity();
16061cb0ef41Sopenharmony_ci
16071cb0ef41Sopenharmony_ci  readonly attribute NodeList labels;
16081cb0ef41Sopenharmony_ci};
16091cb0ef41Sopenharmony_ci
16101cb0ef41Sopenharmony_ci// Accessibility semantics
16111cb0ef41Sopenharmony_ciElementInternals includes ARIAMixin;
16121cb0ef41Sopenharmony_ci
16131cb0ef41Sopenharmony_cidictionary ValidityStateFlags {
16141cb0ef41Sopenharmony_ci  boolean valueMissing = false;
16151cb0ef41Sopenharmony_ci  boolean typeMismatch = false;
16161cb0ef41Sopenharmony_ci  boolean patternMismatch = false;
16171cb0ef41Sopenharmony_ci  boolean tooLong = false;
16181cb0ef41Sopenharmony_ci  boolean tooShort = false;
16191cb0ef41Sopenharmony_ci  boolean rangeUnderflow = false;
16201cb0ef41Sopenharmony_ci  boolean rangeOverflow = false;
16211cb0ef41Sopenharmony_ci  boolean stepMismatch = false;
16221cb0ef41Sopenharmony_ci  boolean badInput = false;
16231cb0ef41Sopenharmony_ci  boolean customError = false;
16241cb0ef41Sopenharmony_ci};
16251cb0ef41Sopenharmony_ci
16261cb0ef41Sopenharmony_cidictionary FocusOptions {
16271cb0ef41Sopenharmony_ci  boolean preventScroll = false;
16281cb0ef41Sopenharmony_ci};
16291cb0ef41Sopenharmony_ci
16301cb0ef41Sopenharmony_ciinterface mixin ElementContentEditable {
16311cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString contentEditable;
16321cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString enterKeyHint;
16331cb0ef41Sopenharmony_ci  readonly attribute boolean isContentEditable;
16341cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString inputMode;
16351cb0ef41Sopenharmony_ci};
16361cb0ef41Sopenharmony_ci
16371cb0ef41Sopenharmony_ci[Exposed=Window]
16381cb0ef41Sopenharmony_ciinterface DataTransfer {
16391cb0ef41Sopenharmony_ci  constructor();
16401cb0ef41Sopenharmony_ci
16411cb0ef41Sopenharmony_ci  attribute DOMString dropEffect;
16421cb0ef41Sopenharmony_ci  attribute DOMString effectAllowed;
16431cb0ef41Sopenharmony_ci
16441cb0ef41Sopenharmony_ci  [SameObject] readonly attribute DataTransferItemList items;
16451cb0ef41Sopenharmony_ci
16461cb0ef41Sopenharmony_ci  undefined setDragImage(Element image, long x, long y);
16471cb0ef41Sopenharmony_ci
16481cb0ef41Sopenharmony_ci  /* old interface */
16491cb0ef41Sopenharmony_ci  readonly attribute FrozenArray<DOMString> types;
16501cb0ef41Sopenharmony_ci  DOMString getData(DOMString format);
16511cb0ef41Sopenharmony_ci  undefined setData(DOMString format, DOMString data);
16521cb0ef41Sopenharmony_ci  undefined clearData(optional DOMString format);
16531cb0ef41Sopenharmony_ci  [SameObject] readonly attribute FileList files;
16541cb0ef41Sopenharmony_ci};
16551cb0ef41Sopenharmony_ci
16561cb0ef41Sopenharmony_ci[Exposed=Window]
16571cb0ef41Sopenharmony_ciinterface DataTransferItemList {
16581cb0ef41Sopenharmony_ci  readonly attribute unsigned long length;
16591cb0ef41Sopenharmony_ci  getter DataTransferItem (unsigned long index);
16601cb0ef41Sopenharmony_ci  DataTransferItem? add(DOMString data, DOMString type);
16611cb0ef41Sopenharmony_ci  DataTransferItem? add(File data);
16621cb0ef41Sopenharmony_ci  undefined remove(unsigned long index);
16631cb0ef41Sopenharmony_ci  undefined clear();
16641cb0ef41Sopenharmony_ci};
16651cb0ef41Sopenharmony_ci
16661cb0ef41Sopenharmony_ci[Exposed=Window]
16671cb0ef41Sopenharmony_ciinterface DataTransferItem {
16681cb0ef41Sopenharmony_ci  readonly attribute DOMString kind;
16691cb0ef41Sopenharmony_ci  readonly attribute DOMString type;
16701cb0ef41Sopenharmony_ci  undefined getAsString(FunctionStringCallback? _callback);
16711cb0ef41Sopenharmony_ci  File? getAsFile();
16721cb0ef41Sopenharmony_ci};
16731cb0ef41Sopenharmony_ci
16741cb0ef41Sopenharmony_cicallback FunctionStringCallback = undefined (DOMString data);
16751cb0ef41Sopenharmony_ci
16761cb0ef41Sopenharmony_ci[Exposed=Window]
16771cb0ef41Sopenharmony_ciinterface DragEvent : MouseEvent {
16781cb0ef41Sopenharmony_ci  constructor(DOMString type, optional DragEventInit eventInitDict = {});
16791cb0ef41Sopenharmony_ci
16801cb0ef41Sopenharmony_ci  readonly attribute DataTransfer? dataTransfer;
16811cb0ef41Sopenharmony_ci};
16821cb0ef41Sopenharmony_ci
16831cb0ef41Sopenharmony_cidictionary DragEventInit : MouseEventInit {
16841cb0ef41Sopenharmony_ci  DataTransfer? dataTransfer = null;
16851cb0ef41Sopenharmony_ci};
16861cb0ef41Sopenharmony_ci
16871cb0ef41Sopenharmony_ci[Global=Window,
16881cb0ef41Sopenharmony_ci Exposed=Window,
16891cb0ef41Sopenharmony_ci LegacyUnenumerableNamedProperties]
16901cb0ef41Sopenharmony_ciinterface Window : EventTarget {
16911cb0ef41Sopenharmony_ci  // the current browsing context
16921cb0ef41Sopenharmony_ci  [LegacyUnforgeable] readonly attribute WindowProxy window;
16931cb0ef41Sopenharmony_ci  [Replaceable] readonly attribute WindowProxy self;
16941cb0ef41Sopenharmony_ci  [LegacyUnforgeable] readonly attribute Document document;
16951cb0ef41Sopenharmony_ci  attribute DOMString name;
16961cb0ef41Sopenharmony_ci  [PutForwards=href, LegacyUnforgeable] readonly attribute Location location;
16971cb0ef41Sopenharmony_ci  readonly attribute History history;
16981cb0ef41Sopenharmony_ci  readonly attribute CustomElementRegistry customElements;
16991cb0ef41Sopenharmony_ci  [Replaceable] readonly attribute BarProp locationbar;
17001cb0ef41Sopenharmony_ci  [Replaceable] readonly attribute BarProp menubar;
17011cb0ef41Sopenharmony_ci  [Replaceable] readonly attribute BarProp personalbar;
17021cb0ef41Sopenharmony_ci  [Replaceable] readonly attribute BarProp scrollbars;
17031cb0ef41Sopenharmony_ci  [Replaceable] readonly attribute BarProp statusbar;
17041cb0ef41Sopenharmony_ci  [Replaceable] readonly attribute BarProp toolbar;
17051cb0ef41Sopenharmony_ci  attribute DOMString status;
17061cb0ef41Sopenharmony_ci  undefined close();
17071cb0ef41Sopenharmony_ci  readonly attribute boolean closed;
17081cb0ef41Sopenharmony_ci  undefined stop();
17091cb0ef41Sopenharmony_ci  undefined focus();
17101cb0ef41Sopenharmony_ci  undefined blur();
17111cb0ef41Sopenharmony_ci
17121cb0ef41Sopenharmony_ci  // other browsing contexts
17131cb0ef41Sopenharmony_ci  [Replaceable] readonly attribute WindowProxy frames;
17141cb0ef41Sopenharmony_ci  [Replaceable] readonly attribute unsigned long length;
17151cb0ef41Sopenharmony_ci  [LegacyUnforgeable] readonly attribute WindowProxy? top;
17161cb0ef41Sopenharmony_ci  attribute any opener;
17171cb0ef41Sopenharmony_ci  [Replaceable] readonly attribute WindowProxy? parent;
17181cb0ef41Sopenharmony_ci  readonly attribute Element? frameElement;
17191cb0ef41Sopenharmony_ci  WindowProxy? open(optional USVString url = "", optional DOMString target = "_blank", optional [LegacyNullToEmptyString] DOMString features = "");
17201cb0ef41Sopenharmony_ci  getter object (DOMString name);
17211cb0ef41Sopenharmony_ci  // Since this is the global object, the IDL named getter adds a NamedPropertiesObject exotic
17221cb0ef41Sopenharmony_ci  // object on the prototype chain. Indeed, this does not make the global object an exotic object.
17231cb0ef41Sopenharmony_ci  // Indexed access is taken care of by the WindowProxy exotic object.
17241cb0ef41Sopenharmony_ci
17251cb0ef41Sopenharmony_ci  // the user agent
17261cb0ef41Sopenharmony_ci  readonly attribute Navigator navigator;
17271cb0ef41Sopenharmony_ci  readonly attribute boolean originAgentCluster;
17281cb0ef41Sopenharmony_ci
17291cb0ef41Sopenharmony_ci  // user prompts
17301cb0ef41Sopenharmony_ci  undefined alert();
17311cb0ef41Sopenharmony_ci  undefined alert(DOMString message);
17321cb0ef41Sopenharmony_ci  boolean confirm(optional DOMString message = "");
17331cb0ef41Sopenharmony_ci  DOMString? prompt(optional DOMString message = "", optional DOMString default = "");
17341cb0ef41Sopenharmony_ci  undefined print();
17351cb0ef41Sopenharmony_ci
17361cb0ef41Sopenharmony_ci  undefined postMessage(any message, USVString targetOrigin, optional sequence<object> transfer = []);
17371cb0ef41Sopenharmony_ci  undefined postMessage(any message, optional WindowPostMessageOptions options = {});
17381cb0ef41Sopenharmony_ci
17391cb0ef41Sopenharmony_ci  // also has obsolete members
17401cb0ef41Sopenharmony_ci};
17411cb0ef41Sopenharmony_ciWindow includes GlobalEventHandlers;
17421cb0ef41Sopenharmony_ciWindow includes WindowEventHandlers;
17431cb0ef41Sopenharmony_ci
17441cb0ef41Sopenharmony_cidictionary WindowPostMessageOptions : PostMessageOptions {
17451cb0ef41Sopenharmony_ci  USVString targetOrigin = "/";
17461cb0ef41Sopenharmony_ci};
17471cb0ef41Sopenharmony_ci
17481cb0ef41Sopenharmony_ci[Exposed=Window]
17491cb0ef41Sopenharmony_ciinterface BarProp {
17501cb0ef41Sopenharmony_ci  readonly attribute boolean visible;
17511cb0ef41Sopenharmony_ci};
17521cb0ef41Sopenharmony_ci
17531cb0ef41Sopenharmony_cienum ScrollRestoration { "auto", "manual" };
17541cb0ef41Sopenharmony_ci
17551cb0ef41Sopenharmony_ci[Exposed=Window]
17561cb0ef41Sopenharmony_ciinterface History {
17571cb0ef41Sopenharmony_ci  readonly attribute unsigned long length;
17581cb0ef41Sopenharmony_ci  attribute ScrollRestoration scrollRestoration;
17591cb0ef41Sopenharmony_ci  readonly attribute any state;
17601cb0ef41Sopenharmony_ci  undefined go(optional long delta = 0);
17611cb0ef41Sopenharmony_ci  undefined back();
17621cb0ef41Sopenharmony_ci  undefined forward();
17631cb0ef41Sopenharmony_ci  undefined pushState(any data, DOMString unused, optional USVString? url = null);
17641cb0ef41Sopenharmony_ci  undefined replaceState(any data, DOMString unused, optional USVString? url = null);
17651cb0ef41Sopenharmony_ci};
17661cb0ef41Sopenharmony_ci
17671cb0ef41Sopenharmony_ci[Exposed=Window]
17681cb0ef41Sopenharmony_ciinterface Location { // but see also additional creation steps and overridden internal methods
17691cb0ef41Sopenharmony_ci  [LegacyUnforgeable] stringifier attribute USVString href;
17701cb0ef41Sopenharmony_ci  [LegacyUnforgeable] readonly attribute USVString origin;
17711cb0ef41Sopenharmony_ci  [LegacyUnforgeable] attribute USVString protocol;
17721cb0ef41Sopenharmony_ci  [LegacyUnforgeable] attribute USVString host;
17731cb0ef41Sopenharmony_ci  [LegacyUnforgeable] attribute USVString hostname;
17741cb0ef41Sopenharmony_ci  [LegacyUnforgeable] attribute USVString port;
17751cb0ef41Sopenharmony_ci  [LegacyUnforgeable] attribute USVString pathname;
17761cb0ef41Sopenharmony_ci  [LegacyUnforgeable] attribute USVString search;
17771cb0ef41Sopenharmony_ci  [LegacyUnforgeable] attribute USVString hash;
17781cb0ef41Sopenharmony_ci
17791cb0ef41Sopenharmony_ci  [LegacyUnforgeable] undefined assign(USVString url);
17801cb0ef41Sopenharmony_ci  [LegacyUnforgeable] undefined replace(USVString url);
17811cb0ef41Sopenharmony_ci  [LegacyUnforgeable] undefined reload();
17821cb0ef41Sopenharmony_ci
17831cb0ef41Sopenharmony_ci  [LegacyUnforgeable, SameObject] readonly attribute DOMStringList ancestorOrigins;
17841cb0ef41Sopenharmony_ci};
17851cb0ef41Sopenharmony_ci
17861cb0ef41Sopenharmony_ci[Exposed=Window]
17871cb0ef41Sopenharmony_ciinterface PopStateEvent : Event {
17881cb0ef41Sopenharmony_ci  constructor(DOMString type, optional PopStateEventInit eventInitDict = {});
17891cb0ef41Sopenharmony_ci
17901cb0ef41Sopenharmony_ci  readonly attribute any state;
17911cb0ef41Sopenharmony_ci};
17921cb0ef41Sopenharmony_ci
17931cb0ef41Sopenharmony_cidictionary PopStateEventInit : EventInit {
17941cb0ef41Sopenharmony_ci  any state = null;
17951cb0ef41Sopenharmony_ci};
17961cb0ef41Sopenharmony_ci
17971cb0ef41Sopenharmony_ci[Exposed=Window]
17981cb0ef41Sopenharmony_ciinterface HashChangeEvent : Event {
17991cb0ef41Sopenharmony_ci  constructor(DOMString type, optional HashChangeEventInit eventInitDict = {});
18001cb0ef41Sopenharmony_ci
18011cb0ef41Sopenharmony_ci  readonly attribute USVString oldURL;
18021cb0ef41Sopenharmony_ci  readonly attribute USVString newURL;
18031cb0ef41Sopenharmony_ci};
18041cb0ef41Sopenharmony_ci
18051cb0ef41Sopenharmony_cidictionary HashChangeEventInit : EventInit {
18061cb0ef41Sopenharmony_ci  USVString oldURL = "";
18071cb0ef41Sopenharmony_ci  USVString newURL = "";
18081cb0ef41Sopenharmony_ci};
18091cb0ef41Sopenharmony_ci
18101cb0ef41Sopenharmony_ci[Exposed=Window]
18111cb0ef41Sopenharmony_ciinterface PageTransitionEvent : Event {
18121cb0ef41Sopenharmony_ci  constructor(DOMString type, optional PageTransitionEventInit eventInitDict = {});
18131cb0ef41Sopenharmony_ci
18141cb0ef41Sopenharmony_ci  readonly attribute boolean persisted;
18151cb0ef41Sopenharmony_ci};
18161cb0ef41Sopenharmony_ci
18171cb0ef41Sopenharmony_cidictionary PageTransitionEventInit : EventInit {
18181cb0ef41Sopenharmony_ci  boolean persisted = false;
18191cb0ef41Sopenharmony_ci};
18201cb0ef41Sopenharmony_ci
18211cb0ef41Sopenharmony_ci[Exposed=Window]
18221cb0ef41Sopenharmony_ciinterface BeforeUnloadEvent : Event {
18231cb0ef41Sopenharmony_ci  attribute DOMString returnValue;
18241cb0ef41Sopenharmony_ci};
18251cb0ef41Sopenharmony_ci
18261cb0ef41Sopenharmony_ci[Exposed=(Window,Worker)]
18271cb0ef41Sopenharmony_ciinterface ErrorEvent : Event {
18281cb0ef41Sopenharmony_ci  constructor(DOMString type, optional ErrorEventInit eventInitDict = {});
18291cb0ef41Sopenharmony_ci
18301cb0ef41Sopenharmony_ci  readonly attribute DOMString message;
18311cb0ef41Sopenharmony_ci  readonly attribute USVString filename;
18321cb0ef41Sopenharmony_ci  readonly attribute unsigned long lineno;
18331cb0ef41Sopenharmony_ci  readonly attribute unsigned long colno;
18341cb0ef41Sopenharmony_ci  readonly attribute any error;
18351cb0ef41Sopenharmony_ci};
18361cb0ef41Sopenharmony_ci
18371cb0ef41Sopenharmony_cidictionary ErrorEventInit : EventInit {
18381cb0ef41Sopenharmony_ci  DOMString message = "";
18391cb0ef41Sopenharmony_ci  USVString filename = "";
18401cb0ef41Sopenharmony_ci  unsigned long lineno = 0;
18411cb0ef41Sopenharmony_ci  unsigned long colno = 0;
18421cb0ef41Sopenharmony_ci  any error = null;
18431cb0ef41Sopenharmony_ci};
18441cb0ef41Sopenharmony_ci
18451cb0ef41Sopenharmony_ci[Exposed=(Window,Worker)]
18461cb0ef41Sopenharmony_ciinterface PromiseRejectionEvent : Event {
18471cb0ef41Sopenharmony_ci  constructor(DOMString type, PromiseRejectionEventInit eventInitDict);
18481cb0ef41Sopenharmony_ci
18491cb0ef41Sopenharmony_ci  readonly attribute Promise<any> promise;
18501cb0ef41Sopenharmony_ci  readonly attribute any reason;
18511cb0ef41Sopenharmony_ci};
18521cb0ef41Sopenharmony_ci
18531cb0ef41Sopenharmony_cidictionary PromiseRejectionEventInit : EventInit {
18541cb0ef41Sopenharmony_ci  required Promise<any> promise;
18551cb0ef41Sopenharmony_ci  any reason;
18561cb0ef41Sopenharmony_ci};
18571cb0ef41Sopenharmony_ci
18581cb0ef41Sopenharmony_ci[LegacyTreatNonObjectAsNull]
18591cb0ef41Sopenharmony_cicallback EventHandlerNonNull = any (Event event);
18601cb0ef41Sopenharmony_citypedef EventHandlerNonNull? EventHandler;
18611cb0ef41Sopenharmony_ci
18621cb0ef41Sopenharmony_ci[LegacyTreatNonObjectAsNull]
18631cb0ef41Sopenharmony_cicallback OnErrorEventHandlerNonNull = any ((Event or DOMString) event, optional DOMString source, optional unsigned long lineno, optional unsigned long colno, optional any error);
18641cb0ef41Sopenharmony_citypedef OnErrorEventHandlerNonNull? OnErrorEventHandler;
18651cb0ef41Sopenharmony_ci
18661cb0ef41Sopenharmony_ci[LegacyTreatNonObjectAsNull]
18671cb0ef41Sopenharmony_cicallback OnBeforeUnloadEventHandlerNonNull = DOMString? (Event event);
18681cb0ef41Sopenharmony_citypedef OnBeforeUnloadEventHandlerNonNull? OnBeforeUnloadEventHandler;
18691cb0ef41Sopenharmony_ci
18701cb0ef41Sopenharmony_ciinterface mixin GlobalEventHandlers {
18711cb0ef41Sopenharmony_ci  attribute EventHandler onabort;
18721cb0ef41Sopenharmony_ci  attribute EventHandler onauxclick;
18731cb0ef41Sopenharmony_ci  attribute EventHandler onblur;
18741cb0ef41Sopenharmony_ci  attribute EventHandler oncancel;
18751cb0ef41Sopenharmony_ci  attribute EventHandler oncanplay;
18761cb0ef41Sopenharmony_ci  attribute EventHandler oncanplaythrough;
18771cb0ef41Sopenharmony_ci  attribute EventHandler onchange;
18781cb0ef41Sopenharmony_ci  attribute EventHandler onclick;
18791cb0ef41Sopenharmony_ci  attribute EventHandler onclose;
18801cb0ef41Sopenharmony_ci  attribute EventHandler oncontextmenu;
18811cb0ef41Sopenharmony_ci  attribute EventHandler oncuechange;
18821cb0ef41Sopenharmony_ci  attribute EventHandler ondblclick;
18831cb0ef41Sopenharmony_ci  attribute EventHandler ondrag;
18841cb0ef41Sopenharmony_ci  attribute EventHandler ondragend;
18851cb0ef41Sopenharmony_ci  attribute EventHandler ondragenter;
18861cb0ef41Sopenharmony_ci  attribute EventHandler ondragleave;
18871cb0ef41Sopenharmony_ci  attribute EventHandler ondragover;
18881cb0ef41Sopenharmony_ci  attribute EventHandler ondragstart;
18891cb0ef41Sopenharmony_ci  attribute EventHandler ondrop;
18901cb0ef41Sopenharmony_ci  attribute EventHandler ondurationchange;
18911cb0ef41Sopenharmony_ci  attribute EventHandler onemptied;
18921cb0ef41Sopenharmony_ci  attribute EventHandler onended;
18931cb0ef41Sopenharmony_ci  attribute OnErrorEventHandler onerror;
18941cb0ef41Sopenharmony_ci  attribute EventHandler onfocus;
18951cb0ef41Sopenharmony_ci  attribute EventHandler onformdata;
18961cb0ef41Sopenharmony_ci  attribute EventHandler oninput;
18971cb0ef41Sopenharmony_ci  attribute EventHandler oninvalid;
18981cb0ef41Sopenharmony_ci  attribute EventHandler onkeydown;
18991cb0ef41Sopenharmony_ci  attribute EventHandler onkeypress;
19001cb0ef41Sopenharmony_ci  attribute EventHandler onkeyup;
19011cb0ef41Sopenharmony_ci  attribute EventHandler onload;
19021cb0ef41Sopenharmony_ci  attribute EventHandler onloadeddata;
19031cb0ef41Sopenharmony_ci  attribute EventHandler onloadedmetadata;
19041cb0ef41Sopenharmony_ci  attribute EventHandler onloadstart;
19051cb0ef41Sopenharmony_ci  attribute EventHandler onmousedown;
19061cb0ef41Sopenharmony_ci  [LegacyLenientThis] attribute EventHandler onmouseenter;
19071cb0ef41Sopenharmony_ci  [LegacyLenientThis] attribute EventHandler onmouseleave;
19081cb0ef41Sopenharmony_ci  attribute EventHandler onmousemove;
19091cb0ef41Sopenharmony_ci  attribute EventHandler onmouseout;
19101cb0ef41Sopenharmony_ci  attribute EventHandler onmouseover;
19111cb0ef41Sopenharmony_ci  attribute EventHandler onmouseup;
19121cb0ef41Sopenharmony_ci  attribute EventHandler onpause;
19131cb0ef41Sopenharmony_ci  attribute EventHandler onplay;
19141cb0ef41Sopenharmony_ci  attribute EventHandler onplaying;
19151cb0ef41Sopenharmony_ci  attribute EventHandler onprogress;
19161cb0ef41Sopenharmony_ci  attribute EventHandler onratechange;
19171cb0ef41Sopenharmony_ci  attribute EventHandler onreset;
19181cb0ef41Sopenharmony_ci  attribute EventHandler onresize;
19191cb0ef41Sopenharmony_ci  attribute EventHandler onscroll;
19201cb0ef41Sopenharmony_ci  attribute EventHandler onsecuritypolicyviolation;
19211cb0ef41Sopenharmony_ci  attribute EventHandler onseeked;
19221cb0ef41Sopenharmony_ci  attribute EventHandler onseeking;
19231cb0ef41Sopenharmony_ci  attribute EventHandler onselect;
19241cb0ef41Sopenharmony_ci  attribute EventHandler onslotchange;
19251cb0ef41Sopenharmony_ci  attribute EventHandler onstalled;
19261cb0ef41Sopenharmony_ci  attribute EventHandler onsubmit;
19271cb0ef41Sopenharmony_ci  attribute EventHandler onsuspend;
19281cb0ef41Sopenharmony_ci  attribute EventHandler ontimeupdate;
19291cb0ef41Sopenharmony_ci  attribute EventHandler ontoggle;
19301cb0ef41Sopenharmony_ci  attribute EventHandler onvolumechange;
19311cb0ef41Sopenharmony_ci  attribute EventHandler onwaiting;
19321cb0ef41Sopenharmony_ci  attribute EventHandler onwebkitanimationend;
19331cb0ef41Sopenharmony_ci  attribute EventHandler onwebkitanimationiteration;
19341cb0ef41Sopenharmony_ci  attribute EventHandler onwebkitanimationstart;
19351cb0ef41Sopenharmony_ci  attribute EventHandler onwebkittransitionend;
19361cb0ef41Sopenharmony_ci  attribute EventHandler onwheel;
19371cb0ef41Sopenharmony_ci};
19381cb0ef41Sopenharmony_ci
19391cb0ef41Sopenharmony_ciinterface mixin WindowEventHandlers {
19401cb0ef41Sopenharmony_ci  attribute EventHandler onafterprint;
19411cb0ef41Sopenharmony_ci  attribute EventHandler onbeforeprint;
19421cb0ef41Sopenharmony_ci  attribute OnBeforeUnloadEventHandler onbeforeunload;
19431cb0ef41Sopenharmony_ci  attribute EventHandler onhashchange;
19441cb0ef41Sopenharmony_ci  attribute EventHandler onlanguagechange;
19451cb0ef41Sopenharmony_ci  attribute EventHandler onmessage;
19461cb0ef41Sopenharmony_ci  attribute EventHandler onmessageerror;
19471cb0ef41Sopenharmony_ci  attribute EventHandler onoffline;
19481cb0ef41Sopenharmony_ci  attribute EventHandler ononline;
19491cb0ef41Sopenharmony_ci  attribute EventHandler onpagehide;
19501cb0ef41Sopenharmony_ci  attribute EventHandler onpageshow;
19511cb0ef41Sopenharmony_ci  attribute EventHandler onpopstate;
19521cb0ef41Sopenharmony_ci  attribute EventHandler onrejectionhandled;
19531cb0ef41Sopenharmony_ci  attribute EventHandler onstorage;
19541cb0ef41Sopenharmony_ci  attribute EventHandler onunhandledrejection;
19551cb0ef41Sopenharmony_ci  attribute EventHandler onunload;
19561cb0ef41Sopenharmony_ci};
19571cb0ef41Sopenharmony_ci
19581cb0ef41Sopenharmony_ciinterface mixin DocumentAndElementEventHandlers {
19591cb0ef41Sopenharmony_ci  attribute EventHandler oncopy;
19601cb0ef41Sopenharmony_ci  attribute EventHandler oncut;
19611cb0ef41Sopenharmony_ci  attribute EventHandler onpaste;
19621cb0ef41Sopenharmony_ci};
19631cb0ef41Sopenharmony_ci
19641cb0ef41Sopenharmony_citypedef (DOMString or Function) TimerHandler;
19651cb0ef41Sopenharmony_ci
19661cb0ef41Sopenharmony_ciinterface mixin WindowOrWorkerGlobalScope {
19671cb0ef41Sopenharmony_ci  [Replaceable] readonly attribute USVString origin;
19681cb0ef41Sopenharmony_ci  readonly attribute boolean isSecureContext;
19691cb0ef41Sopenharmony_ci  readonly attribute boolean crossOriginIsolated;
19701cb0ef41Sopenharmony_ci
19711cb0ef41Sopenharmony_ci  // base64 utility methods
19721cb0ef41Sopenharmony_ci  DOMString btoa(DOMString data);
19731cb0ef41Sopenharmony_ci  ByteString atob(DOMString data);
19741cb0ef41Sopenharmony_ci
19751cb0ef41Sopenharmony_ci  // timers
19761cb0ef41Sopenharmony_ci  long setTimeout(TimerHandler handler, optional long timeout = 0, any... arguments);
19771cb0ef41Sopenharmony_ci  undefined clearTimeout(optional long handle = 0);
19781cb0ef41Sopenharmony_ci  long setInterval(TimerHandler handler, optional long timeout = 0, any... arguments);
19791cb0ef41Sopenharmony_ci  undefined clearInterval(optional long handle = 0);
19801cb0ef41Sopenharmony_ci
19811cb0ef41Sopenharmony_ci  // microtask queuing
19821cb0ef41Sopenharmony_ci  undefined queueMicrotask(VoidFunction callback);
19831cb0ef41Sopenharmony_ci
19841cb0ef41Sopenharmony_ci  // ImageBitmap
19851cb0ef41Sopenharmony_ci  Promise<ImageBitmap> createImageBitmap(ImageBitmapSource image, optional ImageBitmapOptions options = {});
19861cb0ef41Sopenharmony_ci  Promise<ImageBitmap> createImageBitmap(ImageBitmapSource image, long sx, long sy, long sw, long sh, optional ImageBitmapOptions options = {});
19871cb0ef41Sopenharmony_ci};
19881cb0ef41Sopenharmony_ciWindow includes WindowOrWorkerGlobalScope;
19891cb0ef41Sopenharmony_ciWorkerGlobalScope includes WindowOrWorkerGlobalScope;
19901cb0ef41Sopenharmony_ci
19911cb0ef41Sopenharmony_ci[Exposed=Window]
19921cb0ef41Sopenharmony_ciinterface DOMParser {
19931cb0ef41Sopenharmony_ci  constructor();
19941cb0ef41Sopenharmony_ci
19951cb0ef41Sopenharmony_ci  [NewObject] Document parseFromString(DOMString string, DOMParserSupportedType type);
19961cb0ef41Sopenharmony_ci};
19971cb0ef41Sopenharmony_ci
19981cb0ef41Sopenharmony_cienum DOMParserSupportedType {
19991cb0ef41Sopenharmony_ci  "text/html",
20001cb0ef41Sopenharmony_ci  "text/xml",
20011cb0ef41Sopenharmony_ci  "application/xml",
20021cb0ef41Sopenharmony_ci  "application/xhtml+xml",
20031cb0ef41Sopenharmony_ci  "image/svg+xml"
20041cb0ef41Sopenharmony_ci};
20051cb0ef41Sopenharmony_ci
20061cb0ef41Sopenharmony_ci[Exposed=Window]
20071cb0ef41Sopenharmony_ciinterface Navigator {
20081cb0ef41Sopenharmony_ci  // objects implementing this interface also implement the interfaces given below
20091cb0ef41Sopenharmony_ci};
20101cb0ef41Sopenharmony_ciNavigator includes NavigatorID;
20111cb0ef41Sopenharmony_ciNavigator includes NavigatorLanguage;
20121cb0ef41Sopenharmony_ciNavigator includes NavigatorOnLine;
20131cb0ef41Sopenharmony_ciNavigator includes NavigatorContentUtils;
20141cb0ef41Sopenharmony_ciNavigator includes NavigatorCookies;
20151cb0ef41Sopenharmony_ciNavigator includes NavigatorPlugins;
20161cb0ef41Sopenharmony_ciNavigator includes NavigatorConcurrentHardware;
20171cb0ef41Sopenharmony_ci
20181cb0ef41Sopenharmony_ciinterface mixin NavigatorID {
20191cb0ef41Sopenharmony_ci  readonly attribute DOMString appCodeName; // constant "Mozilla"
20201cb0ef41Sopenharmony_ci  readonly attribute DOMString appName; // constant "Netscape"
20211cb0ef41Sopenharmony_ci  readonly attribute DOMString appVersion;
20221cb0ef41Sopenharmony_ci  readonly attribute DOMString platform;
20231cb0ef41Sopenharmony_ci  readonly attribute DOMString product; // constant "Gecko"
20241cb0ef41Sopenharmony_ci  [Exposed=Window] readonly attribute DOMString productSub;
20251cb0ef41Sopenharmony_ci  readonly attribute DOMString userAgent;
20261cb0ef41Sopenharmony_ci  [Exposed=Window] readonly attribute DOMString vendor;
20271cb0ef41Sopenharmony_ci  [Exposed=Window] readonly attribute DOMString vendorSub; // constant ""
20281cb0ef41Sopenharmony_ci};
20291cb0ef41Sopenharmony_ci
20301cb0ef41Sopenharmony_cipartial interface mixin NavigatorID {
20311cb0ef41Sopenharmony_ci  [Exposed=Window] boolean taintEnabled(); // constant false
20321cb0ef41Sopenharmony_ci  [Exposed=Window] readonly attribute DOMString oscpu;
20331cb0ef41Sopenharmony_ci};
20341cb0ef41Sopenharmony_ci
20351cb0ef41Sopenharmony_ciinterface mixin NavigatorLanguage {
20361cb0ef41Sopenharmony_ci  readonly attribute DOMString language;
20371cb0ef41Sopenharmony_ci  readonly attribute FrozenArray<DOMString> languages;
20381cb0ef41Sopenharmony_ci};
20391cb0ef41Sopenharmony_ci
20401cb0ef41Sopenharmony_ciinterface mixin NavigatorOnLine {
20411cb0ef41Sopenharmony_ci  readonly attribute boolean onLine;
20421cb0ef41Sopenharmony_ci};
20431cb0ef41Sopenharmony_ci
20441cb0ef41Sopenharmony_ciinterface mixin NavigatorContentUtils {
20451cb0ef41Sopenharmony_ci  [SecureContext] undefined registerProtocolHandler(DOMString scheme, USVString url);
20461cb0ef41Sopenharmony_ci  [SecureContext] undefined unregisterProtocolHandler(DOMString scheme, USVString url);
20471cb0ef41Sopenharmony_ci};
20481cb0ef41Sopenharmony_ci
20491cb0ef41Sopenharmony_ciinterface mixin NavigatorCookies {
20501cb0ef41Sopenharmony_ci  readonly attribute boolean cookieEnabled;
20511cb0ef41Sopenharmony_ci};
20521cb0ef41Sopenharmony_ci
20531cb0ef41Sopenharmony_ci[Exposed=(Window,Worker), Serializable, Transferable]
20541cb0ef41Sopenharmony_ciinterface ImageBitmap {
20551cb0ef41Sopenharmony_ci  readonly attribute unsigned long width;
20561cb0ef41Sopenharmony_ci  readonly attribute unsigned long height;
20571cb0ef41Sopenharmony_ci  undefined close();
20581cb0ef41Sopenharmony_ci};
20591cb0ef41Sopenharmony_ci
20601cb0ef41Sopenharmony_citypedef (CanvasImageSource or
20611cb0ef41Sopenharmony_ci         Blob or
20621cb0ef41Sopenharmony_ci         ImageData) ImageBitmapSource;
20631cb0ef41Sopenharmony_ci
20641cb0ef41Sopenharmony_cienum ImageOrientation { "none", "flipY" };
20651cb0ef41Sopenharmony_cienum PremultiplyAlpha { "none", "premultiply", "default" };
20661cb0ef41Sopenharmony_cienum ColorSpaceConversion { "none", "default" };
20671cb0ef41Sopenharmony_cienum ResizeQuality { "pixelated", "low", "medium", "high" };
20681cb0ef41Sopenharmony_ci
20691cb0ef41Sopenharmony_cidictionary ImageBitmapOptions {
20701cb0ef41Sopenharmony_ci  ImageOrientation imageOrientation = "none";
20711cb0ef41Sopenharmony_ci  PremultiplyAlpha premultiplyAlpha = "default";
20721cb0ef41Sopenharmony_ci  ColorSpaceConversion colorSpaceConversion = "default";
20731cb0ef41Sopenharmony_ci  [EnforceRange] unsigned long resizeWidth;
20741cb0ef41Sopenharmony_ci  [EnforceRange] unsigned long resizeHeight;
20751cb0ef41Sopenharmony_ci  ResizeQuality resizeQuality = "low";
20761cb0ef41Sopenharmony_ci};
20771cb0ef41Sopenharmony_ci
20781cb0ef41Sopenharmony_cicallback FrameRequestCallback = undefined (DOMHighResTimeStamp time);
20791cb0ef41Sopenharmony_ci
20801cb0ef41Sopenharmony_ciinterface mixin AnimationFrameProvider {
20811cb0ef41Sopenharmony_ci  unsigned long requestAnimationFrame(FrameRequestCallback callback);
20821cb0ef41Sopenharmony_ci  undefined cancelAnimationFrame(unsigned long handle);
20831cb0ef41Sopenharmony_ci};
20841cb0ef41Sopenharmony_ciWindow includes AnimationFrameProvider;
20851cb0ef41Sopenharmony_ciDedicatedWorkerGlobalScope includes AnimationFrameProvider;
20861cb0ef41Sopenharmony_ci
20871cb0ef41Sopenharmony_ci[Exposed=(Window,Worker,AudioWorklet)]
20881cb0ef41Sopenharmony_ciinterface MessageEvent : Event {
20891cb0ef41Sopenharmony_ci  constructor(DOMString type, optional MessageEventInit eventInitDict = {});
20901cb0ef41Sopenharmony_ci
20911cb0ef41Sopenharmony_ci  readonly attribute any data;
20921cb0ef41Sopenharmony_ci  readonly attribute USVString origin;
20931cb0ef41Sopenharmony_ci  readonly attribute DOMString lastEventId;
20941cb0ef41Sopenharmony_ci  readonly attribute MessageEventSource? source;
20951cb0ef41Sopenharmony_ci  readonly attribute FrozenArray<MessagePort> ports;
20961cb0ef41Sopenharmony_ci
20971cb0ef41Sopenharmony_ci  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<MessagePort> ports = []);
20981cb0ef41Sopenharmony_ci};
20991cb0ef41Sopenharmony_ci
21001cb0ef41Sopenharmony_cidictionary MessageEventInit : EventInit {
21011cb0ef41Sopenharmony_ci  any data = null;
21021cb0ef41Sopenharmony_ci  USVString origin = "";
21031cb0ef41Sopenharmony_ci  DOMString lastEventId = "";
21041cb0ef41Sopenharmony_ci  MessageEventSource? source = null;
21051cb0ef41Sopenharmony_ci  sequence<MessagePort> ports = [];
21061cb0ef41Sopenharmony_ci};
21071cb0ef41Sopenharmony_ci
21081cb0ef41Sopenharmony_citypedef (WindowProxy or MessagePort or ServiceWorker) MessageEventSource;
21091cb0ef41Sopenharmony_ci
21101cb0ef41Sopenharmony_ci[Exposed=(Window,Worker)]
21111cb0ef41Sopenharmony_ciinterface EventSource : EventTarget {
21121cb0ef41Sopenharmony_ci  constructor(USVString url, optional EventSourceInit eventSourceInitDict = {});
21131cb0ef41Sopenharmony_ci
21141cb0ef41Sopenharmony_ci  readonly attribute USVString url;
21151cb0ef41Sopenharmony_ci  readonly attribute boolean withCredentials;
21161cb0ef41Sopenharmony_ci
21171cb0ef41Sopenharmony_ci  // ready state
21181cb0ef41Sopenharmony_ci  const unsigned short CONNECTING = 0;
21191cb0ef41Sopenharmony_ci  const unsigned short OPEN = 1;
21201cb0ef41Sopenharmony_ci  const unsigned short CLOSED = 2;
21211cb0ef41Sopenharmony_ci  readonly attribute unsigned short readyState;
21221cb0ef41Sopenharmony_ci
21231cb0ef41Sopenharmony_ci  // networking
21241cb0ef41Sopenharmony_ci  attribute EventHandler onopen;
21251cb0ef41Sopenharmony_ci  attribute EventHandler onmessage;
21261cb0ef41Sopenharmony_ci  attribute EventHandler onerror;
21271cb0ef41Sopenharmony_ci  undefined close();
21281cb0ef41Sopenharmony_ci};
21291cb0ef41Sopenharmony_ci
21301cb0ef41Sopenharmony_cidictionary EventSourceInit {
21311cb0ef41Sopenharmony_ci  boolean withCredentials = false;
21321cb0ef41Sopenharmony_ci};
21331cb0ef41Sopenharmony_ci
21341cb0ef41Sopenharmony_cienum BinaryType { "blob", "arraybuffer" };
21351cb0ef41Sopenharmony_ci[Exposed=(Window,Worker)]
21361cb0ef41Sopenharmony_ciinterface WebSocket : EventTarget {
21371cb0ef41Sopenharmony_ci  constructor(USVString url, optional (DOMString or sequence<DOMString>) protocols = []);
21381cb0ef41Sopenharmony_ci
21391cb0ef41Sopenharmony_ci  readonly attribute USVString url;
21401cb0ef41Sopenharmony_ci
21411cb0ef41Sopenharmony_ci  // ready state
21421cb0ef41Sopenharmony_ci  const unsigned short CONNECTING = 0;
21431cb0ef41Sopenharmony_ci  const unsigned short OPEN = 1;
21441cb0ef41Sopenharmony_ci  const unsigned short CLOSING = 2;
21451cb0ef41Sopenharmony_ci  const unsigned short CLOSED = 3;
21461cb0ef41Sopenharmony_ci  readonly attribute unsigned short readyState;
21471cb0ef41Sopenharmony_ci  readonly attribute unsigned long long bufferedAmount;
21481cb0ef41Sopenharmony_ci
21491cb0ef41Sopenharmony_ci  // networking
21501cb0ef41Sopenharmony_ci  attribute EventHandler onopen;
21511cb0ef41Sopenharmony_ci  attribute EventHandler onerror;
21521cb0ef41Sopenharmony_ci  attribute EventHandler onclose;
21531cb0ef41Sopenharmony_ci  readonly attribute DOMString extensions;
21541cb0ef41Sopenharmony_ci  readonly attribute DOMString protocol;
21551cb0ef41Sopenharmony_ci  undefined close(optional [Clamp] unsigned short code, optional USVString reason);
21561cb0ef41Sopenharmony_ci
21571cb0ef41Sopenharmony_ci  // messaging
21581cb0ef41Sopenharmony_ci  attribute EventHandler onmessage;
21591cb0ef41Sopenharmony_ci  attribute BinaryType binaryType;
21601cb0ef41Sopenharmony_ci  undefined send(USVString data);
21611cb0ef41Sopenharmony_ci  undefined send(Blob data);
21621cb0ef41Sopenharmony_ci  undefined send(ArrayBuffer data);
21631cb0ef41Sopenharmony_ci  undefined send(ArrayBufferView data);
21641cb0ef41Sopenharmony_ci};
21651cb0ef41Sopenharmony_ci
21661cb0ef41Sopenharmony_ci[Exposed=(Window,Worker)]
21671cb0ef41Sopenharmony_ciinterface CloseEvent : Event {
21681cb0ef41Sopenharmony_ci  constructor(DOMString type, optional CloseEventInit eventInitDict = {});
21691cb0ef41Sopenharmony_ci
21701cb0ef41Sopenharmony_ci  readonly attribute boolean wasClean;
21711cb0ef41Sopenharmony_ci  readonly attribute unsigned short code;
21721cb0ef41Sopenharmony_ci  readonly attribute USVString reason;
21731cb0ef41Sopenharmony_ci};
21741cb0ef41Sopenharmony_ci
21751cb0ef41Sopenharmony_cidictionary CloseEventInit : EventInit {
21761cb0ef41Sopenharmony_ci  boolean wasClean = false;
21771cb0ef41Sopenharmony_ci  unsigned short code = 0;
21781cb0ef41Sopenharmony_ci  USVString reason = "";
21791cb0ef41Sopenharmony_ci};
21801cb0ef41Sopenharmony_ci
21811cb0ef41Sopenharmony_ci[Exposed=(Window,Worker)]
21821cb0ef41Sopenharmony_ciinterface MessageChannel {
21831cb0ef41Sopenharmony_ci  constructor();
21841cb0ef41Sopenharmony_ci
21851cb0ef41Sopenharmony_ci  readonly attribute MessagePort port1;
21861cb0ef41Sopenharmony_ci  readonly attribute MessagePort port2;
21871cb0ef41Sopenharmony_ci};
21881cb0ef41Sopenharmony_ci
21891cb0ef41Sopenharmony_ci[Exposed=(Window,Worker,AudioWorklet), Transferable]
21901cb0ef41Sopenharmony_ciinterface MessagePort : EventTarget {
21911cb0ef41Sopenharmony_ci  undefined postMessage(any message, sequence<object> transfer);
21921cb0ef41Sopenharmony_ci  undefined postMessage(any message, optional PostMessageOptions options = {});
21931cb0ef41Sopenharmony_ci  undefined start();
21941cb0ef41Sopenharmony_ci  undefined close();
21951cb0ef41Sopenharmony_ci
21961cb0ef41Sopenharmony_ci  // event handlers
21971cb0ef41Sopenharmony_ci  attribute EventHandler onmessage;
21981cb0ef41Sopenharmony_ci  attribute EventHandler onmessageerror;
21991cb0ef41Sopenharmony_ci};
22001cb0ef41Sopenharmony_ci
22011cb0ef41Sopenharmony_cidictionary PostMessageOptions {
22021cb0ef41Sopenharmony_ci  sequence<object> transfer = [];
22031cb0ef41Sopenharmony_ci};
22041cb0ef41Sopenharmony_ci
22051cb0ef41Sopenharmony_ci[Exposed=(Window,Worker)]
22061cb0ef41Sopenharmony_ciinterface BroadcastChannel : EventTarget {
22071cb0ef41Sopenharmony_ci  constructor(DOMString name);
22081cb0ef41Sopenharmony_ci
22091cb0ef41Sopenharmony_ci  readonly attribute DOMString name;
22101cb0ef41Sopenharmony_ci  undefined postMessage(any message);
22111cb0ef41Sopenharmony_ci  undefined close();
22121cb0ef41Sopenharmony_ci  attribute EventHandler onmessage;
22131cb0ef41Sopenharmony_ci  attribute EventHandler onmessageerror;
22141cb0ef41Sopenharmony_ci};
22151cb0ef41Sopenharmony_ci
22161cb0ef41Sopenharmony_ci[Exposed=Worker]
22171cb0ef41Sopenharmony_ciinterface WorkerGlobalScope : EventTarget {
22181cb0ef41Sopenharmony_ci  readonly attribute WorkerGlobalScope self;
22191cb0ef41Sopenharmony_ci  readonly attribute WorkerLocation location;
22201cb0ef41Sopenharmony_ci  readonly attribute WorkerNavigator navigator;
22211cb0ef41Sopenharmony_ci  undefined importScripts(USVString... urls);
22221cb0ef41Sopenharmony_ci
22231cb0ef41Sopenharmony_ci  attribute OnErrorEventHandler onerror;
22241cb0ef41Sopenharmony_ci  attribute EventHandler onlanguagechange;
22251cb0ef41Sopenharmony_ci  attribute EventHandler onoffline;
22261cb0ef41Sopenharmony_ci  attribute EventHandler ononline;
22271cb0ef41Sopenharmony_ci  attribute EventHandler onrejectionhandled;
22281cb0ef41Sopenharmony_ci  attribute EventHandler onunhandledrejection;
22291cb0ef41Sopenharmony_ci};
22301cb0ef41Sopenharmony_ci
22311cb0ef41Sopenharmony_ci[Global=(Worker,DedicatedWorker),Exposed=DedicatedWorker]
22321cb0ef41Sopenharmony_ciinterface DedicatedWorkerGlobalScope : WorkerGlobalScope {
22331cb0ef41Sopenharmony_ci  [Replaceable] readonly attribute DOMString name;
22341cb0ef41Sopenharmony_ci
22351cb0ef41Sopenharmony_ci  undefined postMessage(any message, sequence<object> transfer);
22361cb0ef41Sopenharmony_ci  undefined postMessage(any message, optional PostMessageOptions options = {});
22371cb0ef41Sopenharmony_ci
22381cb0ef41Sopenharmony_ci  undefined close();
22391cb0ef41Sopenharmony_ci
22401cb0ef41Sopenharmony_ci  attribute EventHandler onmessage;
22411cb0ef41Sopenharmony_ci  attribute EventHandler onmessageerror;
22421cb0ef41Sopenharmony_ci};
22431cb0ef41Sopenharmony_ci
22441cb0ef41Sopenharmony_ci[Global=(Worker,SharedWorker),Exposed=SharedWorker]
22451cb0ef41Sopenharmony_ciinterface SharedWorkerGlobalScope : WorkerGlobalScope {
22461cb0ef41Sopenharmony_ci  [Replaceable] readonly attribute DOMString name;
22471cb0ef41Sopenharmony_ci
22481cb0ef41Sopenharmony_ci  undefined close();
22491cb0ef41Sopenharmony_ci
22501cb0ef41Sopenharmony_ci  attribute EventHandler onconnect;
22511cb0ef41Sopenharmony_ci};
22521cb0ef41Sopenharmony_ci
22531cb0ef41Sopenharmony_ciinterface mixin AbstractWorker {
22541cb0ef41Sopenharmony_ci  attribute EventHandler onerror;
22551cb0ef41Sopenharmony_ci};
22561cb0ef41Sopenharmony_ci
22571cb0ef41Sopenharmony_ci[Exposed=(Window,DedicatedWorker,SharedWorker)]
22581cb0ef41Sopenharmony_ciinterface Worker : EventTarget {
22591cb0ef41Sopenharmony_ci  constructor(USVString scriptURL, optional WorkerOptions options = {});
22601cb0ef41Sopenharmony_ci
22611cb0ef41Sopenharmony_ci  undefined terminate();
22621cb0ef41Sopenharmony_ci
22631cb0ef41Sopenharmony_ci  undefined postMessage(any message, sequence<object> transfer);
22641cb0ef41Sopenharmony_ci  undefined postMessage(any message, optional PostMessageOptions options = {});
22651cb0ef41Sopenharmony_ci  attribute EventHandler onmessage;
22661cb0ef41Sopenharmony_ci  attribute EventHandler onmessageerror;
22671cb0ef41Sopenharmony_ci};
22681cb0ef41Sopenharmony_ci
22691cb0ef41Sopenharmony_cidictionary WorkerOptions {
22701cb0ef41Sopenharmony_ci  WorkerType type = "classic";
22711cb0ef41Sopenharmony_ci  RequestCredentials credentials = "same-origin"; // credentials is only used if type is "module"
22721cb0ef41Sopenharmony_ci  DOMString name = "";
22731cb0ef41Sopenharmony_ci};
22741cb0ef41Sopenharmony_ci
22751cb0ef41Sopenharmony_cienum WorkerType { "classic", "module" };
22761cb0ef41Sopenharmony_ci
22771cb0ef41Sopenharmony_ciWorker includes AbstractWorker;
22781cb0ef41Sopenharmony_ci
22791cb0ef41Sopenharmony_ci[Exposed=Window]
22801cb0ef41Sopenharmony_ciinterface SharedWorker : EventTarget {
22811cb0ef41Sopenharmony_ci  constructor(USVString scriptURL, optional (DOMString or WorkerOptions) options = {});
22821cb0ef41Sopenharmony_ci
22831cb0ef41Sopenharmony_ci  readonly attribute MessagePort port;
22841cb0ef41Sopenharmony_ci};
22851cb0ef41Sopenharmony_ciSharedWorker includes AbstractWorker;
22861cb0ef41Sopenharmony_ci
22871cb0ef41Sopenharmony_ciinterface mixin NavigatorConcurrentHardware {
22881cb0ef41Sopenharmony_ci  readonly attribute unsigned long long hardwareConcurrency;
22891cb0ef41Sopenharmony_ci};
22901cb0ef41Sopenharmony_ci
22911cb0ef41Sopenharmony_ci[Exposed=Worker]
22921cb0ef41Sopenharmony_ciinterface WorkerNavigator {};
22931cb0ef41Sopenharmony_ciWorkerNavigator includes NavigatorID;
22941cb0ef41Sopenharmony_ciWorkerNavigator includes NavigatorLanguage;
22951cb0ef41Sopenharmony_ciWorkerNavigator includes NavigatorOnLine;
22961cb0ef41Sopenharmony_ciWorkerNavigator includes NavigatorConcurrentHardware;
22971cb0ef41Sopenharmony_ci
22981cb0ef41Sopenharmony_ci[Exposed=Worker]
22991cb0ef41Sopenharmony_ciinterface WorkerLocation {
23001cb0ef41Sopenharmony_ci  stringifier readonly attribute USVString href;
23011cb0ef41Sopenharmony_ci  readonly attribute USVString origin;
23021cb0ef41Sopenharmony_ci  readonly attribute USVString protocol;
23031cb0ef41Sopenharmony_ci  readonly attribute USVString host;
23041cb0ef41Sopenharmony_ci  readonly attribute USVString hostname;
23051cb0ef41Sopenharmony_ci  readonly attribute USVString port;
23061cb0ef41Sopenharmony_ci  readonly attribute USVString pathname;
23071cb0ef41Sopenharmony_ci  readonly attribute USVString search;
23081cb0ef41Sopenharmony_ci  readonly attribute USVString hash;
23091cb0ef41Sopenharmony_ci};
23101cb0ef41Sopenharmony_ci
23111cb0ef41Sopenharmony_ci[Exposed=Worklet, SecureContext]
23121cb0ef41Sopenharmony_ciinterface WorkletGlobalScope {};
23131cb0ef41Sopenharmony_ci
23141cb0ef41Sopenharmony_ci[Exposed=Window, SecureContext]
23151cb0ef41Sopenharmony_ciinterface Worklet {
23161cb0ef41Sopenharmony_ci  [NewObject] Promise<undefined> addModule(USVString moduleURL, optional WorkletOptions options = {});
23171cb0ef41Sopenharmony_ci};
23181cb0ef41Sopenharmony_ci
23191cb0ef41Sopenharmony_cidictionary WorkletOptions {
23201cb0ef41Sopenharmony_ci  RequestCredentials credentials = "same-origin";
23211cb0ef41Sopenharmony_ci};
23221cb0ef41Sopenharmony_ci
23231cb0ef41Sopenharmony_ci[Exposed=Window]
23241cb0ef41Sopenharmony_ciinterface Storage {
23251cb0ef41Sopenharmony_ci  readonly attribute unsigned long length;
23261cb0ef41Sopenharmony_ci  DOMString? key(unsigned long index);
23271cb0ef41Sopenharmony_ci  getter DOMString? getItem(DOMString key);
23281cb0ef41Sopenharmony_ci  setter undefined setItem(DOMString key, DOMString value);
23291cb0ef41Sopenharmony_ci  deleter undefined removeItem(DOMString key);
23301cb0ef41Sopenharmony_ci  undefined clear();
23311cb0ef41Sopenharmony_ci};
23321cb0ef41Sopenharmony_ci
23331cb0ef41Sopenharmony_ciinterface mixin WindowSessionStorage {
23341cb0ef41Sopenharmony_ci  readonly attribute Storage sessionStorage;
23351cb0ef41Sopenharmony_ci};
23361cb0ef41Sopenharmony_ciWindow includes WindowSessionStorage;
23371cb0ef41Sopenharmony_ci
23381cb0ef41Sopenharmony_ciinterface mixin WindowLocalStorage {
23391cb0ef41Sopenharmony_ci  readonly attribute Storage localStorage;
23401cb0ef41Sopenharmony_ci};
23411cb0ef41Sopenharmony_ciWindow includes WindowLocalStorage;
23421cb0ef41Sopenharmony_ci
23431cb0ef41Sopenharmony_ci[Exposed=Window]
23441cb0ef41Sopenharmony_ciinterface StorageEvent : Event {
23451cb0ef41Sopenharmony_ci  constructor(DOMString type, optional StorageEventInit eventInitDict = {});
23461cb0ef41Sopenharmony_ci
23471cb0ef41Sopenharmony_ci  readonly attribute DOMString? key;
23481cb0ef41Sopenharmony_ci  readonly attribute DOMString? oldValue;
23491cb0ef41Sopenharmony_ci  readonly attribute DOMString? newValue;
23501cb0ef41Sopenharmony_ci  readonly attribute USVString url;
23511cb0ef41Sopenharmony_ci  readonly attribute Storage? storageArea;
23521cb0ef41Sopenharmony_ci
23531cb0ef41Sopenharmony_ci  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);
23541cb0ef41Sopenharmony_ci};
23551cb0ef41Sopenharmony_ci
23561cb0ef41Sopenharmony_cidictionary StorageEventInit : EventInit {
23571cb0ef41Sopenharmony_ci  DOMString? key = null;
23581cb0ef41Sopenharmony_ci  DOMString? oldValue = null;
23591cb0ef41Sopenharmony_ci  DOMString? newValue = null;
23601cb0ef41Sopenharmony_ci  USVString url = "";
23611cb0ef41Sopenharmony_ci  Storage? storageArea = null;
23621cb0ef41Sopenharmony_ci};
23631cb0ef41Sopenharmony_ci
23641cb0ef41Sopenharmony_ci[Exposed=Window]
23651cb0ef41Sopenharmony_ciinterface HTMLMarqueeElement : HTMLElement {
23661cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
23671cb0ef41Sopenharmony_ci
23681cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString behavior;
23691cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString bgColor;
23701cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString direction;
23711cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString height;
23721cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long hspace;
23731cb0ef41Sopenharmony_ci  [CEReactions] attribute long loop;
23741cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long scrollAmount;
23751cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long scrollDelay;
23761cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean trueSpeed;
23771cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long vspace;
23781cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString width;
23791cb0ef41Sopenharmony_ci
23801cb0ef41Sopenharmony_ci  undefined start();
23811cb0ef41Sopenharmony_ci  undefined stop();
23821cb0ef41Sopenharmony_ci};
23831cb0ef41Sopenharmony_ci
23841cb0ef41Sopenharmony_ci[Exposed=Window]
23851cb0ef41Sopenharmony_ciinterface HTMLFrameSetElement : HTMLElement {
23861cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
23871cb0ef41Sopenharmony_ci
23881cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString cols;
23891cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString rows;
23901cb0ef41Sopenharmony_ci};
23911cb0ef41Sopenharmony_ciHTMLFrameSetElement includes WindowEventHandlers;
23921cb0ef41Sopenharmony_ci
23931cb0ef41Sopenharmony_ci[Exposed=Window]
23941cb0ef41Sopenharmony_ciinterface HTMLFrameElement : HTMLElement {
23951cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
23961cb0ef41Sopenharmony_ci
23971cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString name;
23981cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString scrolling;
23991cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString src;
24001cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString frameBorder;
24011cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString longDesc;
24021cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean noResize;
24031cb0ef41Sopenharmony_ci  readonly attribute Document? contentDocument;
24041cb0ef41Sopenharmony_ci  readonly attribute WindowProxy? contentWindow;
24051cb0ef41Sopenharmony_ci
24061cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginHeight;
24071cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginWidth;
24081cb0ef41Sopenharmony_ci};
24091cb0ef41Sopenharmony_ci
24101cb0ef41Sopenharmony_cipartial interface HTMLAnchorElement {
24111cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString coords;
24121cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString charset;
24131cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString name;
24141cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString rev;
24151cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString shape;
24161cb0ef41Sopenharmony_ci};
24171cb0ef41Sopenharmony_ci
24181cb0ef41Sopenharmony_cipartial interface HTMLAreaElement {
24191cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean noHref;
24201cb0ef41Sopenharmony_ci};
24211cb0ef41Sopenharmony_ci
24221cb0ef41Sopenharmony_cipartial interface HTMLBodyElement {
24231cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString text;
24241cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString link;
24251cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString vLink;
24261cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString aLink;
24271cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor;
24281cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString background;
24291cb0ef41Sopenharmony_ci};
24301cb0ef41Sopenharmony_ci
24311cb0ef41Sopenharmony_cipartial interface HTMLBRElement {
24321cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString clear;
24331cb0ef41Sopenharmony_ci};
24341cb0ef41Sopenharmony_ci
24351cb0ef41Sopenharmony_cipartial interface HTMLTableCaptionElement {
24361cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString align;
24371cb0ef41Sopenharmony_ci};
24381cb0ef41Sopenharmony_ci
24391cb0ef41Sopenharmony_cipartial interface HTMLTableColElement {
24401cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString align;
24411cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString ch;
24421cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString chOff;
24431cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString vAlign;
24441cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString width;
24451cb0ef41Sopenharmony_ci};
24461cb0ef41Sopenharmony_ci
24471cb0ef41Sopenharmony_ci[Exposed=Window]
24481cb0ef41Sopenharmony_ciinterface HTMLDirectoryElement : HTMLElement {
24491cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
24501cb0ef41Sopenharmony_ci
24511cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean compact;
24521cb0ef41Sopenharmony_ci};
24531cb0ef41Sopenharmony_ci
24541cb0ef41Sopenharmony_cipartial interface HTMLDivElement {
24551cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString align;
24561cb0ef41Sopenharmony_ci};
24571cb0ef41Sopenharmony_ci
24581cb0ef41Sopenharmony_cipartial interface HTMLDListElement {
24591cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean compact;
24601cb0ef41Sopenharmony_ci};
24611cb0ef41Sopenharmony_ci
24621cb0ef41Sopenharmony_cipartial interface HTMLEmbedElement {
24631cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString align;
24641cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString name;
24651cb0ef41Sopenharmony_ci};
24661cb0ef41Sopenharmony_ci
24671cb0ef41Sopenharmony_ci[Exposed=Window]
24681cb0ef41Sopenharmony_ciinterface HTMLFontElement : HTMLElement {
24691cb0ef41Sopenharmony_ci  [HTMLConstructor] constructor();
24701cb0ef41Sopenharmony_ci
24711cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString color;
24721cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString face;
24731cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString size;
24741cb0ef41Sopenharmony_ci};
24751cb0ef41Sopenharmony_ci
24761cb0ef41Sopenharmony_cipartial interface HTMLHeadingElement {
24771cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString align;
24781cb0ef41Sopenharmony_ci};
24791cb0ef41Sopenharmony_ci
24801cb0ef41Sopenharmony_cipartial interface HTMLHRElement {
24811cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString align;
24821cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString color;
24831cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean noShade;
24841cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString size;
24851cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString width;
24861cb0ef41Sopenharmony_ci};
24871cb0ef41Sopenharmony_ci
24881cb0ef41Sopenharmony_cipartial interface HTMLHtmlElement {
24891cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString version;
24901cb0ef41Sopenharmony_ci};
24911cb0ef41Sopenharmony_ci
24921cb0ef41Sopenharmony_cipartial interface HTMLIFrameElement {
24931cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString align;
24941cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString scrolling;
24951cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString frameBorder;
24961cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString longDesc;
24971cb0ef41Sopenharmony_ci
24981cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginHeight;
24991cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginWidth;
25001cb0ef41Sopenharmony_ci};
25011cb0ef41Sopenharmony_ci
25021cb0ef41Sopenharmony_cipartial interface HTMLImageElement {
25031cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString name;
25041cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString lowsrc;
25051cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString align;
25061cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long hspace;
25071cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long vspace;
25081cb0ef41Sopenharmony_ci  [CEReactions] attribute USVString longDesc;
25091cb0ef41Sopenharmony_ci
25101cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString border;
25111cb0ef41Sopenharmony_ci};
25121cb0ef41Sopenharmony_ci
25131cb0ef41Sopenharmony_cipartial interface HTMLInputElement {
25141cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString align;
25151cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString useMap;
25161cb0ef41Sopenharmony_ci};
25171cb0ef41Sopenharmony_ci
25181cb0ef41Sopenharmony_cipartial interface HTMLLegendElement {
25191cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString align;
25201cb0ef41Sopenharmony_ci};
25211cb0ef41Sopenharmony_ci
25221cb0ef41Sopenharmony_cipartial interface HTMLLIElement {
25231cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString type;
25241cb0ef41Sopenharmony_ci};
25251cb0ef41Sopenharmony_ci
25261cb0ef41Sopenharmony_cipartial interface HTMLLinkElement {
25271cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString charset;
25281cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString rev;
25291cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString target;
25301cb0ef41Sopenharmony_ci};
25311cb0ef41Sopenharmony_ci
25321cb0ef41Sopenharmony_cipartial interface HTMLMenuElement {
25331cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean compact;
25341cb0ef41Sopenharmony_ci};
25351cb0ef41Sopenharmony_ci
25361cb0ef41Sopenharmony_cipartial interface HTMLMetaElement {
25371cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString scheme;
25381cb0ef41Sopenharmony_ci};
25391cb0ef41Sopenharmony_ci
25401cb0ef41Sopenharmony_cipartial interface HTMLObjectElement {
25411cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString align;
25421cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString archive;
25431cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString code;
25441cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean declare;
25451cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long hspace;
25461cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString standby;
25471cb0ef41Sopenharmony_ci  [CEReactions] attribute unsigned long vspace;
25481cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString codeBase;
25491cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString codeType;
25501cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString useMap;
25511cb0ef41Sopenharmony_ci
25521cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString border;
25531cb0ef41Sopenharmony_ci};
25541cb0ef41Sopenharmony_ci
25551cb0ef41Sopenharmony_cipartial interface HTMLOListElement {
25561cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean compact;
25571cb0ef41Sopenharmony_ci};
25581cb0ef41Sopenharmony_ci
25591cb0ef41Sopenharmony_cipartial interface HTMLParagraphElement {
25601cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString align;
25611cb0ef41Sopenharmony_ci};
25621cb0ef41Sopenharmony_ci
25631cb0ef41Sopenharmony_cipartial interface HTMLParamElement {
25641cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString type;
25651cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString valueType;
25661cb0ef41Sopenharmony_ci};
25671cb0ef41Sopenharmony_ci
25681cb0ef41Sopenharmony_cipartial interface HTMLPreElement {
25691cb0ef41Sopenharmony_ci  [CEReactions] attribute long width;
25701cb0ef41Sopenharmony_ci};
25711cb0ef41Sopenharmony_ci
25721cb0ef41Sopenharmony_cipartial interface HTMLStyleElement {
25731cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString type;
25741cb0ef41Sopenharmony_ci};
25751cb0ef41Sopenharmony_ci
25761cb0ef41Sopenharmony_cipartial interface HTMLScriptElement {
25771cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString charset;
25781cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString event;
25791cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString htmlFor;
25801cb0ef41Sopenharmony_ci};
25811cb0ef41Sopenharmony_ci
25821cb0ef41Sopenharmony_cipartial interface HTMLTableElement {
25831cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString align;
25841cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString border;
25851cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString frame;
25861cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString rules;
25871cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString summary;
25881cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString width;
25891cb0ef41Sopenharmony_ci
25901cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor;
25911cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString cellPadding;
25921cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString cellSpacing;
25931cb0ef41Sopenharmony_ci};
25941cb0ef41Sopenharmony_ci
25951cb0ef41Sopenharmony_cipartial interface HTMLTableSectionElement {
25961cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString align;
25971cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString ch;
25981cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString chOff;
25991cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString vAlign;
26001cb0ef41Sopenharmony_ci};
26011cb0ef41Sopenharmony_ci
26021cb0ef41Sopenharmony_cipartial interface HTMLTableCellElement {
26031cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString align;
26041cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString axis;
26051cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString height;
26061cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString width;
26071cb0ef41Sopenharmony_ci
26081cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString ch;
26091cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString chOff;
26101cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean noWrap;
26111cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString vAlign;
26121cb0ef41Sopenharmony_ci
26131cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor;
26141cb0ef41Sopenharmony_ci};
26151cb0ef41Sopenharmony_ci
26161cb0ef41Sopenharmony_cipartial interface HTMLTableRowElement {
26171cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString align;
26181cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString ch;
26191cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString chOff;
26201cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString vAlign;
26211cb0ef41Sopenharmony_ci
26221cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor;
26231cb0ef41Sopenharmony_ci};
26241cb0ef41Sopenharmony_ci
26251cb0ef41Sopenharmony_cipartial interface HTMLUListElement {
26261cb0ef41Sopenharmony_ci  [CEReactions] attribute boolean compact;
26271cb0ef41Sopenharmony_ci  [CEReactions] attribute DOMString type;
26281cb0ef41Sopenharmony_ci};
26291cb0ef41Sopenharmony_ci
26301cb0ef41Sopenharmony_cipartial interface Document {
26311cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString fgColor;
26321cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString linkColor;
26331cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString vlinkColor;
26341cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString alinkColor;
26351cb0ef41Sopenharmony_ci  [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor;
26361cb0ef41Sopenharmony_ci
26371cb0ef41Sopenharmony_ci  [SameObject] readonly attribute HTMLCollection anchors;
26381cb0ef41Sopenharmony_ci  [SameObject] readonly attribute HTMLCollection applets;
26391cb0ef41Sopenharmony_ci
26401cb0ef41Sopenharmony_ci  undefined clear();
26411cb0ef41Sopenharmony_ci  undefined captureEvents();
26421cb0ef41Sopenharmony_ci  undefined releaseEvents();
26431cb0ef41Sopenharmony_ci
26441cb0ef41Sopenharmony_ci  [SameObject] readonly attribute HTMLAllCollection all;
26451cb0ef41Sopenharmony_ci};
26461cb0ef41Sopenharmony_ci
26471cb0ef41Sopenharmony_cipartial interface Window {
26481cb0ef41Sopenharmony_ci  undefined captureEvents();
26491cb0ef41Sopenharmony_ci  undefined releaseEvents();
26501cb0ef41Sopenharmony_ci
26511cb0ef41Sopenharmony_ci  [Replaceable, SameObject] readonly attribute External external;
26521cb0ef41Sopenharmony_ci};
26531cb0ef41Sopenharmony_ci
26541cb0ef41Sopenharmony_ci[Exposed=Window]
26551cb0ef41Sopenharmony_ciinterface External {
26561cb0ef41Sopenharmony_ci  undefined AddSearchProvider();
26571cb0ef41Sopenharmony_ci  undefined IsSearchProviderInstalled();
26581cb0ef41Sopenharmony_ci};
26591cb0ef41Sopenharmony_ci
26601cb0ef41Sopenharmony_ciinterface mixin NavigatorPlugins {
26611cb0ef41Sopenharmony_ci  [SameObject] readonly attribute PluginArray plugins;
26621cb0ef41Sopenharmony_ci  [SameObject] readonly attribute MimeTypeArray mimeTypes;
26631cb0ef41Sopenharmony_ci  boolean javaEnabled();
26641cb0ef41Sopenharmony_ci};
26651cb0ef41Sopenharmony_ci
26661cb0ef41Sopenharmony_ci[Exposed=Window]
26671cb0ef41Sopenharmony_ciinterface PluginArray {
26681cb0ef41Sopenharmony_ci  undefined refresh();
26691cb0ef41Sopenharmony_ci  readonly attribute unsigned long length;
26701cb0ef41Sopenharmony_ci  getter object? item(unsigned long index);
26711cb0ef41Sopenharmony_ci  object? namedItem(DOMString name);
26721cb0ef41Sopenharmony_ci};
26731cb0ef41Sopenharmony_ci
26741cb0ef41Sopenharmony_ci[Exposed=Window]
26751cb0ef41Sopenharmony_ciinterface MimeTypeArray {
26761cb0ef41Sopenharmony_ci  readonly attribute unsigned long length;
26771cb0ef41Sopenharmony_ci  getter object? item(unsigned long index);
26781cb0ef41Sopenharmony_ci  object? namedItem(DOMString name);
26791cb0ef41Sopenharmony_ci};
26801cb0ef41Sopenharmony_ci
26811cb0ef41Sopenharmony_ci[Exposed=Window]
26821cb0ef41Sopenharmony_ciinterface Plugin {
26831cb0ef41Sopenharmony_ci  readonly attribute undefined name;
26841cb0ef41Sopenharmony_ci  readonly attribute undefined description;
26851cb0ef41Sopenharmony_ci  readonly attribute undefined filename;
26861cb0ef41Sopenharmony_ci  readonly attribute undefined length;
26871cb0ef41Sopenharmony_ci  getter undefined item(unsigned long index);
26881cb0ef41Sopenharmony_ci  undefined namedItem(DOMString name);
26891cb0ef41Sopenharmony_ci};
26901cb0ef41Sopenharmony_ci
26911cb0ef41Sopenharmony_ci[Exposed=Window]
26921cb0ef41Sopenharmony_ciinterface MimeType {
26931cb0ef41Sopenharmony_ci  readonly attribute undefined type;
26941cb0ef41Sopenharmony_ci  readonly attribute undefined description;
26951cb0ef41Sopenharmony_ci  readonly attribute undefined suffixes;
26961cb0ef41Sopenharmony_ci  readonly attribute undefined enabledPlugin;
26971cb0ef41Sopenharmony_ci};
2698