1// GENERATED CONTENT - DO NOT EDIT 2// Content was automatically extracted by Reffy into webref 3// (https://github.com/w3c/webref) 4// Source: HTML Standard (https://html.spec.whatwg.org/multipage/) 5 6[Exposed=Window, 7 LegacyUnenumerableNamedProperties] 8interface HTMLAllCollection { 9 readonly attribute unsigned long length; 10 getter Element (unsigned long index); 11 getter (HTMLCollection or Element)? namedItem(DOMString name); 12 (HTMLCollection or Element)? item(optional DOMString nameOrIndex); 13 14 // Note: HTMLAllCollection objects have a custom [[Call]] internal method and an [[IsHTMLDDA]] internal slot. 15}; 16 17[Exposed=Window] 18interface HTMLFormControlsCollection : HTMLCollection { 19 // inherits length and item() 20 getter (RadioNodeList or Element)? namedItem(DOMString name); // shadows inherited namedItem() 21}; 22 23[Exposed=Window] 24interface RadioNodeList : NodeList { 25 attribute DOMString value; 26}; 27 28[Exposed=Window] 29interface HTMLOptionsCollection : HTMLCollection { 30 // inherits item(), namedItem() 31 [CEReactions] attribute unsigned long length; // shadows inherited length 32 [CEReactions] setter undefined (unsigned long index, HTMLOptionElement? option); 33 [CEReactions] undefined add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null); 34 [CEReactions] undefined remove(long index); 35 attribute long selectedIndex; 36}; 37 38[Exposed=(Window,Worker)] 39interface DOMStringList { 40 readonly attribute unsigned long length; 41 getter DOMString? item(unsigned long index); 42 boolean contains(DOMString string); 43}; 44 45enum DocumentReadyState { "loading", "interactive", "complete" }; 46typedef (HTMLScriptElement or SVGScriptElement) HTMLOrSVGScriptElement; 47 48[LegacyOverrideBuiltIns] 49partial interface Document { 50 // resource metadata management 51 [PutForwards=href, LegacyUnforgeable] readonly attribute Location? location; 52 attribute USVString domain; 53 readonly attribute USVString referrer; 54 attribute USVString cookie; 55 readonly attribute DOMString lastModified; 56 readonly attribute DocumentReadyState readyState; 57 58 // DOM tree accessors 59 getter object (DOMString name); 60 [CEReactions] attribute DOMString title; 61 [CEReactions] attribute DOMString dir; 62 [CEReactions] attribute HTMLElement? body; 63 readonly attribute HTMLHeadElement? head; 64 [SameObject] readonly attribute HTMLCollection images; 65 [SameObject] readonly attribute HTMLCollection embeds; 66 [SameObject] readonly attribute HTMLCollection plugins; 67 [SameObject] readonly attribute HTMLCollection links; 68 [SameObject] readonly attribute HTMLCollection forms; 69 [SameObject] readonly attribute HTMLCollection scripts; 70 NodeList getElementsByName(DOMString elementName); 71 readonly attribute HTMLOrSVGScriptElement? currentScript; // classic scripts in a document tree only 72 73 // dynamic markup insertion 74 [CEReactions] Document open(optional DOMString unused1, optional DOMString unused2); // both arguments are ignored 75 WindowProxy? open(USVString url, DOMString name, DOMString features); 76 [CEReactions] undefined close(); 77 [CEReactions] undefined write(DOMString... text); 78 [CEReactions] undefined writeln(DOMString... text); 79 80 // user interaction 81 readonly attribute WindowProxy? defaultView; 82 boolean hasFocus(); 83 [CEReactions] attribute DOMString designMode; 84 [CEReactions] boolean execCommand(DOMString commandId, optional boolean showUI = false, optional DOMString value = ""); 85 boolean queryCommandEnabled(DOMString commandId); 86 boolean queryCommandIndeterm(DOMString commandId); 87 boolean queryCommandState(DOMString commandId); 88 boolean queryCommandSupported(DOMString commandId); 89 DOMString queryCommandValue(DOMString commandId); 90 91 // special event handler IDL attributes that only apply to Document objects 92 [LegacyLenientThis] attribute EventHandler onreadystatechange; 93 94 // also has obsolete members 95}; 96Document includes GlobalEventHandlers; 97Document includes DocumentAndElementEventHandlers; 98 99partial interface mixin DocumentOrShadowRoot { 100 readonly attribute Element? activeElement; 101}; 102 103[Exposed=Window] 104interface HTMLElement : Element { 105 [HTMLConstructor] constructor(); 106 107 // metadata attributes 108 [CEReactions] attribute DOMString title; 109 [CEReactions] attribute DOMString lang; 110 [CEReactions] attribute boolean translate; 111 [CEReactions] attribute DOMString dir; 112 113 // user interaction 114 [CEReactions] attribute boolean hidden; 115 undefined click(); 116 [CEReactions] attribute DOMString accessKey; 117 readonly attribute DOMString accessKeyLabel; 118 [CEReactions] attribute boolean draggable; 119 [CEReactions] attribute boolean spellcheck; 120 [CEReactions] attribute DOMString autocapitalize; 121 122 [CEReactions] attribute [LegacyNullToEmptyString] DOMString innerText; 123 [CEReactions] attribute [LegacyNullToEmptyString] DOMString outerText; 124 125 ElementInternals attachInternals(); 126}; 127 128HTMLElement includes GlobalEventHandlers; 129HTMLElement includes DocumentAndElementEventHandlers; 130HTMLElement includes ElementContentEditable; 131HTMLElement includes HTMLOrSVGElement; 132 133[Exposed=Window] 134interface HTMLUnknownElement : HTMLElement { 135 // Note: intentionally no [HTMLConstructor] 136}; 137 138interface mixin HTMLOrSVGElement { 139 [SameObject] readonly attribute DOMStringMap dataset; 140 attribute DOMString nonce; // intentionally no [CEReactions] 141 142 [CEReactions] attribute boolean autofocus; 143 [CEReactions] attribute long tabIndex; 144 undefined focus(optional FocusOptions options = {}); 145 undefined blur(); 146}; 147 148[Exposed=Window, 149 LegacyOverrideBuiltIns] 150interface DOMStringMap { 151 getter DOMString (DOMString name); 152 [CEReactions] setter undefined (DOMString name, DOMString value); 153 [CEReactions] deleter undefined (DOMString name); 154}; 155 156[Exposed=Window] 157interface HTMLHtmlElement : HTMLElement { 158 [HTMLConstructor] constructor(); 159 160 // also has obsolete members 161}; 162 163[Exposed=Window] 164interface HTMLHeadElement : HTMLElement { 165 [HTMLConstructor] constructor(); 166}; 167 168[Exposed=Window] 169interface HTMLTitleElement : HTMLElement { 170 [HTMLConstructor] constructor(); 171 172 [CEReactions] attribute DOMString text; 173}; 174 175[Exposed=Window] 176interface HTMLBaseElement : HTMLElement { 177 [HTMLConstructor] constructor(); 178 179 [CEReactions] attribute USVString href; 180 [CEReactions] attribute DOMString target; 181}; 182 183[Exposed=Window] 184interface HTMLLinkElement : HTMLElement { 185 [HTMLConstructor] constructor(); 186 187 [CEReactions] attribute USVString href; 188 [CEReactions] attribute DOMString? crossOrigin; 189 [CEReactions] attribute DOMString rel; 190 [CEReactions] attribute DOMString as; // (default "") 191 [SameObject, PutForwards=value] readonly attribute DOMTokenList relList; 192 [CEReactions] attribute DOMString media; 193 [CEReactions] attribute DOMString integrity; 194 [CEReactions] attribute DOMString hreflang; 195 [CEReactions] attribute DOMString type; 196 [SameObject, PutForwards=value] readonly attribute DOMTokenList sizes; 197 [CEReactions] attribute USVString imageSrcset; 198 [CEReactions] attribute DOMString imageSizes; 199 [CEReactions] attribute DOMString referrerPolicy; 200 [CEReactions] attribute boolean disabled; 201 202 // also has obsolete members 203}; 204HTMLLinkElement includes LinkStyle; 205 206[Exposed=Window] 207interface HTMLMetaElement : HTMLElement { 208 [HTMLConstructor] constructor(); 209 210 [CEReactions] attribute DOMString name; 211 [CEReactions] attribute DOMString httpEquiv; 212 [CEReactions] attribute DOMString content; 213 214 // also has obsolete members 215}; 216 217[Exposed=Window] 218interface HTMLStyleElement : HTMLElement { 219 [HTMLConstructor] constructor(); 220 221 [CEReactions] attribute DOMString media; 222 223 // also has obsolete members 224}; 225HTMLStyleElement includes LinkStyle; 226 227[Exposed=Window] 228interface HTMLBodyElement : HTMLElement { 229 [HTMLConstructor] constructor(); 230 231 // also has obsolete members 232}; 233 234HTMLBodyElement includes WindowEventHandlers; 235 236[Exposed=Window] 237interface HTMLHeadingElement : HTMLElement { 238 [HTMLConstructor] constructor(); 239 240 // also has obsolete members 241}; 242 243[Exposed=Window] 244interface HTMLParagraphElement : HTMLElement { 245 [HTMLConstructor] constructor(); 246 247 // also has obsolete members 248}; 249 250[Exposed=Window] 251interface HTMLHRElement : HTMLElement { 252 [HTMLConstructor] constructor(); 253 254 // also has obsolete members 255}; 256 257[Exposed=Window] 258interface HTMLPreElement : HTMLElement { 259 [HTMLConstructor] constructor(); 260 261 // also has obsolete members 262}; 263 264[Exposed=Window] 265interface HTMLQuoteElement : HTMLElement { 266 [HTMLConstructor] constructor(); 267 268 [CEReactions] attribute USVString cite; 269}; 270 271[Exposed=Window] 272interface HTMLOListElement : HTMLElement { 273 [HTMLConstructor] constructor(); 274 275 [CEReactions] attribute boolean reversed; 276 [CEReactions] attribute long start; 277 [CEReactions] attribute DOMString type; 278 279 // also has obsolete members 280}; 281 282[Exposed=Window] 283interface HTMLUListElement : HTMLElement { 284 [HTMLConstructor] constructor(); 285 286 // also has obsolete members 287}; 288 289[Exposed=Window] 290interface HTMLMenuElement : HTMLElement { 291 [HTMLConstructor] constructor(); 292 293 // also has obsolete members 294}; 295 296[Exposed=Window] 297interface HTMLLIElement : HTMLElement { 298 [HTMLConstructor] constructor(); 299 300 [CEReactions] attribute long value; 301 302 // also has obsolete members 303}; 304 305[Exposed=Window] 306interface HTMLDListElement : HTMLElement { 307 [HTMLConstructor] constructor(); 308 309 // also has obsolete members 310}; 311 312[Exposed=Window] 313interface HTMLDivElement : HTMLElement { 314 [HTMLConstructor] constructor(); 315 316 // also has obsolete members 317}; 318 319[Exposed=Window] 320interface HTMLAnchorElement : HTMLElement { 321 [HTMLConstructor] constructor(); 322 323 [CEReactions] attribute DOMString target; 324 [CEReactions] attribute DOMString download; 325 [CEReactions] attribute USVString ping; 326 [CEReactions] attribute DOMString rel; 327 [SameObject, PutForwards=value] readonly attribute DOMTokenList relList; 328 [CEReactions] attribute DOMString hreflang; 329 [CEReactions] attribute DOMString type; 330 331 [CEReactions] attribute DOMString text; 332 333 [CEReactions] attribute DOMString referrerPolicy; 334 335 // also has obsolete members 336}; 337HTMLAnchorElement includes HTMLHyperlinkElementUtils; 338 339[Exposed=Window] 340interface HTMLDataElement : HTMLElement { 341 [HTMLConstructor] constructor(); 342 343 [CEReactions] attribute DOMString value; 344}; 345 346[Exposed=Window] 347interface HTMLTimeElement : HTMLElement { 348 [HTMLConstructor] constructor(); 349 350 [CEReactions] attribute DOMString dateTime; 351}; 352 353[Exposed=Window] 354interface HTMLSpanElement : HTMLElement { 355 [HTMLConstructor] constructor(); 356}; 357 358[Exposed=Window] 359interface HTMLBRElement : HTMLElement { 360 [HTMLConstructor] constructor(); 361 362 // also has obsolete members 363}; 364 365interface mixin HTMLHyperlinkElementUtils { 366 [CEReactions] stringifier attribute USVString href; 367 readonly attribute USVString origin; 368 [CEReactions] attribute USVString protocol; 369 [CEReactions] attribute USVString username; 370 [CEReactions] attribute USVString password; 371 [CEReactions] attribute USVString host; 372 [CEReactions] attribute USVString hostname; 373 [CEReactions] attribute USVString port; 374 [CEReactions] attribute USVString pathname; 375 [CEReactions] attribute USVString search; 376 [CEReactions] attribute USVString hash; 377}; 378 379[Exposed=Window] 380interface HTMLModElement : HTMLElement { 381 [HTMLConstructor] constructor(); 382 383 [CEReactions] attribute USVString cite; 384 [CEReactions] attribute DOMString dateTime; 385}; 386 387[Exposed=Window] 388interface HTMLPictureElement : HTMLElement { 389 [HTMLConstructor] constructor(); 390}; 391 392[Exposed=Window] 393interface HTMLSourceElement : HTMLElement { 394 [HTMLConstructor] constructor(); 395 396 [CEReactions] attribute USVString src; 397 [CEReactions] attribute DOMString type; 398 [CEReactions] attribute USVString srcset; 399 [CEReactions] attribute DOMString sizes; 400 [CEReactions] attribute DOMString media; 401 [CEReactions] attribute unsigned long width; 402 [CEReactions] attribute unsigned long height; 403}; 404 405[Exposed=Window, 406 LegacyFactoryFunction=Image(optional unsigned long width, optional unsigned long height)] 407interface HTMLImageElement : HTMLElement { 408 [HTMLConstructor] constructor(); 409 410 [CEReactions] attribute DOMString alt; 411 [CEReactions] attribute USVString src; 412 [CEReactions] attribute USVString srcset; 413 [CEReactions] attribute DOMString sizes; 414 [CEReactions] attribute DOMString? crossOrigin; 415 [CEReactions] attribute DOMString useMap; 416 [CEReactions] attribute boolean isMap; 417 [CEReactions] attribute unsigned long width; 418 [CEReactions] attribute unsigned long height; 419 readonly attribute unsigned long naturalWidth; 420 readonly attribute unsigned long naturalHeight; 421 readonly attribute boolean complete; 422 readonly attribute USVString currentSrc; 423 [CEReactions] attribute DOMString referrerPolicy; 424 [CEReactions] attribute DOMString decoding; 425 [CEReactions] attribute DOMString loading; 426 427 Promise<undefined> decode(); 428 429 // also has obsolete members 430}; 431 432[Exposed=Window] 433interface HTMLIFrameElement : HTMLElement { 434 [HTMLConstructor] constructor(); 435 436 [CEReactions] attribute USVString src; 437 [CEReactions] attribute DOMString srcdoc; 438 [CEReactions] attribute DOMString name; 439 [SameObject, PutForwards=value] readonly attribute DOMTokenList sandbox; 440 [CEReactions] attribute DOMString allow; 441 [CEReactions] attribute boolean allowFullscreen; 442 [CEReactions] attribute DOMString width; 443 [CEReactions] attribute DOMString height; 444 [CEReactions] attribute DOMString referrerPolicy; 445 [CEReactions] attribute DOMString loading; 446 readonly attribute Document? contentDocument; 447 readonly attribute WindowProxy? contentWindow; 448 Document? getSVGDocument(); 449 450 // also has obsolete members 451}; 452 453[Exposed=Window] 454interface HTMLEmbedElement : HTMLElement { 455 [HTMLConstructor] constructor(); 456 457 [CEReactions] attribute USVString src; 458 [CEReactions] attribute DOMString type; 459 [CEReactions] attribute DOMString width; 460 [CEReactions] attribute DOMString height; 461 Document? getSVGDocument(); 462 463 // also has obsolete members 464}; 465 466[Exposed=Window] 467interface HTMLObjectElement : HTMLElement { 468 [HTMLConstructor] constructor(); 469 470 [CEReactions] attribute USVString data; 471 [CEReactions] attribute DOMString type; 472 [CEReactions] attribute DOMString name; 473 readonly attribute HTMLFormElement? form; 474 [CEReactions] attribute DOMString width; 475 [CEReactions] attribute DOMString height; 476 readonly attribute Document? contentDocument; 477 readonly attribute WindowProxy? contentWindow; 478 Document? getSVGDocument(); 479 480 readonly attribute boolean willValidate; 481 readonly attribute ValidityState validity; 482 readonly attribute DOMString validationMessage; 483 boolean checkValidity(); 484 boolean reportValidity(); 485 undefined setCustomValidity(DOMString error); 486 487 // also has obsolete members 488}; 489 490[Exposed=Window] 491interface HTMLParamElement : HTMLElement { 492 [HTMLConstructor] constructor(); 493 494 [CEReactions] attribute DOMString name; 495 [CEReactions] attribute DOMString value; 496 497 // also has obsolete members 498}; 499 500[Exposed=Window] 501interface HTMLVideoElement : HTMLMediaElement { 502 [HTMLConstructor] constructor(); 503 504 [CEReactions] attribute unsigned long width; 505 [CEReactions] attribute unsigned long height; 506 readonly attribute unsigned long videoWidth; 507 readonly attribute unsigned long videoHeight; 508 [CEReactions] attribute USVString poster; 509 [CEReactions] attribute boolean playsInline; 510}; 511 512[Exposed=Window, 513 LegacyFactoryFunction=Audio(optional DOMString src)] 514interface HTMLAudioElement : HTMLMediaElement { 515 [HTMLConstructor] constructor(); 516}; 517 518[Exposed=Window] 519interface HTMLTrackElement : HTMLElement { 520 [HTMLConstructor] constructor(); 521 522 [CEReactions] attribute DOMString kind; 523 [CEReactions] attribute USVString src; 524 [CEReactions] attribute DOMString srclang; 525 [CEReactions] attribute DOMString label; 526 [CEReactions] attribute boolean default; 527 528 const unsigned short NONE = 0; 529 const unsigned short LOADING = 1; 530 const unsigned short LOADED = 2; 531 const unsigned short ERROR = 3; 532 readonly attribute unsigned short readyState; 533 534 readonly attribute TextTrack track; 535}; 536 537enum CanPlayTypeResult { "" /* empty string */, "maybe", "probably" }; 538typedef (MediaStream or MediaSource or Blob) MediaProvider; 539 540[Exposed=Window] 541interface HTMLMediaElement : HTMLElement { 542 543 // error state 544 readonly attribute MediaError? error; 545 546 // network state 547 [CEReactions] attribute USVString src; 548 attribute MediaProvider? srcObject; 549 readonly attribute USVString currentSrc; 550 [CEReactions] attribute DOMString? crossOrigin; 551 const unsigned short NETWORK_EMPTY = 0; 552 const unsigned short NETWORK_IDLE = 1; 553 const unsigned short NETWORK_LOADING = 2; 554 const unsigned short NETWORK_NO_SOURCE = 3; 555 readonly attribute unsigned short networkState; 556 [CEReactions] attribute DOMString preload; 557 readonly attribute TimeRanges buffered; 558 undefined load(); 559 CanPlayTypeResult canPlayType(DOMString type); 560 561 // ready state 562 const unsigned short HAVE_NOTHING = 0; 563 const unsigned short HAVE_METADATA = 1; 564 const unsigned short HAVE_CURRENT_DATA = 2; 565 const unsigned short HAVE_FUTURE_DATA = 3; 566 const unsigned short HAVE_ENOUGH_DATA = 4; 567 readonly attribute unsigned short readyState; 568 readonly attribute boolean seeking; 569 570 // playback state 571 attribute double currentTime; 572 undefined fastSeek(double time); 573 readonly attribute unrestricted double duration; 574 object getStartDate(); 575 readonly attribute boolean paused; 576 attribute double defaultPlaybackRate; 577 attribute double playbackRate; 578 attribute boolean preservesPitch; 579 readonly attribute TimeRanges played; 580 readonly attribute TimeRanges seekable; 581 readonly attribute boolean ended; 582 [CEReactions] attribute boolean autoplay; 583 [CEReactions] attribute boolean loop; 584 Promise<undefined> play(); 585 undefined pause(); 586 587 // controls 588 [CEReactions] attribute boolean controls; 589 attribute double volume; 590 attribute boolean muted; 591 [CEReactions] attribute boolean defaultMuted; 592 593 // tracks 594 [SameObject] readonly attribute AudioTrackList audioTracks; 595 [SameObject] readonly attribute VideoTrackList videoTracks; 596 [SameObject] readonly attribute TextTrackList textTracks; 597 TextTrack addTextTrack(TextTrackKind kind, optional DOMString label = "", optional DOMString language = ""); 598}; 599 600[Exposed=Window] 601interface MediaError { 602 const unsigned short MEDIA_ERR_ABORTED = 1; 603 const unsigned short MEDIA_ERR_NETWORK = 2; 604 const unsigned short MEDIA_ERR_DECODE = 3; 605 const unsigned short MEDIA_ERR_SRC_NOT_SUPPORTED = 4; 606 607 readonly attribute unsigned short code; 608 readonly attribute DOMString message; 609}; 610 611[Exposed=Window] 612interface AudioTrackList : EventTarget { 613 readonly attribute unsigned long length; 614 getter AudioTrack (unsigned long index); 615 AudioTrack? getTrackById(DOMString id); 616 617 attribute EventHandler onchange; 618 attribute EventHandler onaddtrack; 619 attribute EventHandler onremovetrack; 620}; 621 622[Exposed=Window] 623interface AudioTrack { 624 readonly attribute DOMString id; 625 readonly attribute DOMString kind; 626 readonly attribute DOMString label; 627 readonly attribute DOMString language; 628 attribute boolean enabled; 629}; 630 631[Exposed=Window] 632interface VideoTrackList : EventTarget { 633 readonly attribute unsigned long length; 634 getter VideoTrack (unsigned long index); 635 VideoTrack? getTrackById(DOMString id); 636 readonly attribute long selectedIndex; 637 638 attribute EventHandler onchange; 639 attribute EventHandler onaddtrack; 640 attribute EventHandler onremovetrack; 641}; 642 643[Exposed=Window] 644interface VideoTrack { 645 readonly attribute DOMString id; 646 readonly attribute DOMString kind; 647 readonly attribute DOMString label; 648 readonly attribute DOMString language; 649 attribute boolean selected; 650}; 651 652[Exposed=Window] 653interface TextTrackList : EventTarget { 654 readonly attribute unsigned long length; 655 getter TextTrack (unsigned long index); 656 TextTrack? getTrackById(DOMString id); 657 658 attribute EventHandler onchange; 659 attribute EventHandler onaddtrack; 660 attribute EventHandler onremovetrack; 661}; 662 663enum TextTrackMode { "disabled", "hidden", "showing" }; 664enum TextTrackKind { "subtitles", "captions", "descriptions", "chapters", "metadata" }; 665 666[Exposed=Window] 667interface TextTrack : EventTarget { 668 readonly attribute TextTrackKind kind; 669 readonly attribute DOMString label; 670 readonly attribute DOMString language; 671 672 readonly attribute DOMString id; 673 readonly attribute DOMString inBandMetadataTrackDispatchType; 674 675 attribute TextTrackMode mode; 676 677 readonly attribute TextTrackCueList? cues; 678 readonly attribute TextTrackCueList? activeCues; 679 680 undefined addCue(TextTrackCue cue); 681 undefined removeCue(TextTrackCue cue); 682 683 attribute EventHandler oncuechange; 684}; 685 686[Exposed=Window] 687interface TextTrackCueList { 688 readonly attribute unsigned long length; 689 getter TextTrackCue (unsigned long index); 690 TextTrackCue? getCueById(DOMString id); 691}; 692 693[Exposed=Window] 694interface TextTrackCue : EventTarget { 695 readonly attribute TextTrack? track; 696 697 attribute DOMString id; 698 attribute double startTime; 699 attribute unrestricted double endTime; 700 attribute boolean pauseOnExit; 701 702 attribute EventHandler onenter; 703 attribute EventHandler onexit; 704}; 705 706[Exposed=Window] 707interface TimeRanges { 708 readonly attribute unsigned long length; 709 double start(unsigned long index); 710 double end(unsigned long index); 711}; 712 713[Exposed=Window] 714interface TrackEvent : Event { 715 constructor(DOMString type, optional TrackEventInit eventInitDict = {}); 716 717 readonly attribute (VideoTrack or AudioTrack or TextTrack)? track; 718}; 719 720dictionary TrackEventInit : EventInit { 721 (VideoTrack or AudioTrack or TextTrack)? track = null; 722}; 723 724[Exposed=Window] 725interface HTMLMapElement : HTMLElement { 726 [HTMLConstructor] constructor(); 727 728 [CEReactions] attribute DOMString name; 729 [SameObject] readonly attribute HTMLCollection areas; 730}; 731 732[Exposed=Window] 733interface HTMLAreaElement : HTMLElement { 734 [HTMLConstructor] constructor(); 735 736 [CEReactions] attribute DOMString alt; 737 [CEReactions] attribute DOMString coords; 738 [CEReactions] attribute DOMString shape; 739 [CEReactions] attribute DOMString target; 740 [CEReactions] attribute DOMString download; 741 [CEReactions] attribute USVString ping; 742 [CEReactions] attribute DOMString rel; 743 [SameObject, PutForwards=value] readonly attribute DOMTokenList relList; 744 [CEReactions] attribute DOMString referrerPolicy; 745 746 // also has obsolete members 747}; 748HTMLAreaElement includes HTMLHyperlinkElementUtils; 749 750[Exposed=Window] 751interface HTMLTableElement : HTMLElement { 752 [HTMLConstructor] constructor(); 753 754 [CEReactions] attribute HTMLTableCaptionElement? caption; 755 HTMLTableCaptionElement createCaption(); 756 [CEReactions] undefined deleteCaption(); 757 758 [CEReactions] attribute HTMLTableSectionElement? tHead; 759 HTMLTableSectionElement createTHead(); 760 [CEReactions] undefined deleteTHead(); 761 762 [CEReactions] attribute HTMLTableSectionElement? tFoot; 763 HTMLTableSectionElement createTFoot(); 764 [CEReactions] undefined deleteTFoot(); 765 766 [SameObject] readonly attribute HTMLCollection tBodies; 767 HTMLTableSectionElement createTBody(); 768 769 [SameObject] readonly attribute HTMLCollection rows; 770 HTMLTableRowElement insertRow(optional long index = -1); 771 [CEReactions] undefined deleteRow(long index); 772 773 // also has obsolete members 774}; 775 776[Exposed=Window] 777interface HTMLTableCaptionElement : HTMLElement { 778 [HTMLConstructor] constructor(); 779 780 // also has obsolete members 781}; 782 783[Exposed=Window] 784interface HTMLTableColElement : HTMLElement { 785 [HTMLConstructor] constructor(); 786 787 [CEReactions] attribute unsigned long span; 788 789 // also has obsolete members 790}; 791 792[Exposed=Window] 793interface HTMLTableSectionElement : HTMLElement { 794 [HTMLConstructor] constructor(); 795 796 [SameObject] readonly attribute HTMLCollection rows; 797 HTMLTableRowElement insertRow(optional long index = -1); 798 [CEReactions] undefined deleteRow(long index); 799 800 // also has obsolete members 801}; 802 803[Exposed=Window] 804interface HTMLTableRowElement : HTMLElement { 805 [HTMLConstructor] constructor(); 806 807 readonly attribute long rowIndex; 808 readonly attribute long sectionRowIndex; 809 [SameObject] readonly attribute HTMLCollection cells; 810 HTMLTableCellElement insertCell(optional long index = -1); 811 [CEReactions] undefined deleteCell(long index); 812 813 // also has obsolete members 814}; 815 816[Exposed=Window] 817interface HTMLTableCellElement : HTMLElement { 818 [HTMLConstructor] constructor(); 819 820 [CEReactions] attribute unsigned long colSpan; 821 [CEReactions] attribute unsigned long rowSpan; 822 [CEReactions] attribute DOMString headers; 823 readonly attribute long cellIndex; 824 825 [CEReactions] attribute DOMString scope; // only conforming for th elements 826 [CEReactions] attribute DOMString abbr; // only conforming for th elements 827 828 // also has obsolete members 829}; 830 831[Exposed=Window, 832 LegacyOverrideBuiltIns, 833 LegacyUnenumerableNamedProperties] 834interface HTMLFormElement : HTMLElement { 835 [HTMLConstructor] constructor(); 836 837 [CEReactions] attribute DOMString acceptCharset; 838 [CEReactions] attribute USVString action; 839 [CEReactions] attribute DOMString autocomplete; 840 [CEReactions] attribute DOMString enctype; 841 [CEReactions] attribute DOMString encoding; 842 [CEReactions] attribute DOMString method; 843 [CEReactions] attribute DOMString name; 844 [CEReactions] attribute boolean noValidate; 845 [CEReactions] attribute DOMString target; 846 [CEReactions] attribute DOMString rel; 847 [SameObject, PutForwards=value] readonly attribute DOMTokenList relList; 848 849 [SameObject] readonly attribute HTMLFormControlsCollection elements; 850 readonly attribute unsigned long length; 851 getter Element (unsigned long index); 852 getter (RadioNodeList or Element) (DOMString name); 853 854 undefined submit(); 855 undefined requestSubmit(optional HTMLElement? submitter = null); 856 [CEReactions] undefined reset(); 857 boolean checkValidity(); 858 boolean reportValidity(); 859}; 860 861[Exposed=Window] 862interface HTMLLabelElement : HTMLElement { 863 [HTMLConstructor] constructor(); 864 865 readonly attribute HTMLFormElement? form; 866 [CEReactions] attribute DOMString htmlFor; 867 readonly attribute HTMLElement? control; 868}; 869 870[Exposed=Window] 871interface HTMLInputElement : HTMLElement { 872 [HTMLConstructor] constructor(); 873 874 [CEReactions] attribute DOMString accept; 875 [CEReactions] attribute DOMString alt; 876 [CEReactions] attribute DOMString autocomplete; 877 [CEReactions] attribute boolean defaultChecked; 878 attribute boolean checked; 879 [CEReactions] attribute DOMString dirName; 880 [CEReactions] attribute boolean disabled; 881 readonly attribute HTMLFormElement? form; 882 attribute FileList? files; 883 [CEReactions] attribute USVString formAction; 884 [CEReactions] attribute DOMString formEnctype; 885 [CEReactions] attribute DOMString formMethod; 886 [CEReactions] attribute boolean formNoValidate; 887 [CEReactions] attribute DOMString formTarget; 888 [CEReactions] attribute unsigned long height; 889 attribute boolean indeterminate; 890 readonly attribute HTMLElement? list; 891 [CEReactions] attribute DOMString max; 892 [CEReactions] attribute long maxLength; 893 [CEReactions] attribute DOMString min; 894 [CEReactions] attribute long minLength; 895 [CEReactions] attribute boolean multiple; 896 [CEReactions] attribute DOMString name; 897 [CEReactions] attribute DOMString pattern; 898 [CEReactions] attribute DOMString placeholder; 899 [CEReactions] attribute boolean readOnly; 900 [CEReactions] attribute boolean required; 901 [CEReactions] attribute unsigned long size; 902 [CEReactions] attribute USVString src; 903 [CEReactions] attribute DOMString step; 904 [CEReactions] attribute DOMString type; 905 [CEReactions] attribute DOMString defaultValue; 906 [CEReactions] attribute [LegacyNullToEmptyString] DOMString value; 907 attribute object? valueAsDate; 908 attribute unrestricted double valueAsNumber; 909 [CEReactions] attribute unsigned long width; 910 911 undefined stepUp(optional long n = 1); 912 undefined stepDown(optional long n = 1); 913 914 readonly attribute boolean willValidate; 915 readonly attribute ValidityState validity; 916 readonly attribute DOMString validationMessage; 917 boolean checkValidity(); 918 boolean reportValidity(); 919 undefined setCustomValidity(DOMString error); 920 921 readonly attribute NodeList? labels; 922 923 undefined select(); 924 attribute unsigned long? selectionStart; 925 attribute unsigned long? selectionEnd; 926 attribute DOMString? selectionDirection; 927 undefined setRangeText(DOMString replacement); 928 undefined setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve"); 929 undefined setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction); 930 931 // also has obsolete members 932}; 933 934[Exposed=Window] 935interface HTMLButtonElement : HTMLElement { 936 [HTMLConstructor] constructor(); 937 938 [CEReactions] attribute boolean disabled; 939 readonly attribute HTMLFormElement? form; 940 [CEReactions] attribute USVString formAction; 941 [CEReactions] attribute DOMString formEnctype; 942 [CEReactions] attribute DOMString formMethod; 943 [CEReactions] attribute boolean formNoValidate; 944 [CEReactions] attribute DOMString formTarget; 945 [CEReactions] attribute DOMString name; 946 [CEReactions] attribute DOMString type; 947 [CEReactions] attribute DOMString value; 948 949 readonly attribute boolean willValidate; 950 readonly attribute ValidityState validity; 951 readonly attribute DOMString validationMessage; 952 boolean checkValidity(); 953 boolean reportValidity(); 954 undefined setCustomValidity(DOMString error); 955 956 readonly attribute NodeList labels; 957}; 958 959[Exposed=Window] 960interface HTMLSelectElement : HTMLElement { 961 [HTMLConstructor] constructor(); 962 963 [CEReactions] attribute DOMString autocomplete; 964 [CEReactions] attribute boolean disabled; 965 readonly attribute HTMLFormElement? form; 966 [CEReactions] attribute boolean multiple; 967 [CEReactions] attribute DOMString name; 968 [CEReactions] attribute boolean required; 969 [CEReactions] attribute unsigned long size; 970 971 readonly attribute DOMString type; 972 973 [SameObject] readonly attribute HTMLOptionsCollection options; 974 [CEReactions] attribute unsigned long length; 975 getter Element? item(unsigned long index); 976 HTMLOptionElement? namedItem(DOMString name); 977 [CEReactions] undefined add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null); 978 [CEReactions] undefined remove(); // ChildNode overload 979 [CEReactions] undefined remove(long index); 980 [CEReactions] setter undefined (unsigned long index, HTMLOptionElement? option); 981 982 [SameObject] readonly attribute HTMLCollection selectedOptions; 983 attribute long selectedIndex; 984 attribute DOMString value; 985 986 readonly attribute boolean willValidate; 987 readonly attribute ValidityState validity; 988 readonly attribute DOMString validationMessage; 989 boolean checkValidity(); 990 boolean reportValidity(); 991 undefined setCustomValidity(DOMString error); 992 993 readonly attribute NodeList labels; 994}; 995 996[Exposed=Window] 997interface HTMLDataListElement : HTMLElement { 998 [HTMLConstructor] constructor(); 999 1000 [SameObject] readonly attribute HTMLCollection options; 1001}; 1002 1003[Exposed=Window] 1004interface HTMLOptGroupElement : HTMLElement { 1005 [HTMLConstructor] constructor(); 1006 1007 [CEReactions] attribute boolean disabled; 1008 [CEReactions] attribute DOMString label; 1009}; 1010 1011[Exposed=Window, 1012 LegacyFactoryFunction=Option(optional DOMString text = "", optional DOMString value, optional boolean defaultSelected = false, optional boolean selected = false)] 1013interface HTMLOptionElement : HTMLElement { 1014 [HTMLConstructor] constructor(); 1015 1016 [CEReactions] attribute boolean disabled; 1017 readonly attribute HTMLFormElement? form; 1018 [CEReactions] attribute DOMString label; 1019 [CEReactions] attribute boolean defaultSelected; 1020 attribute boolean selected; 1021 [CEReactions] attribute DOMString value; 1022 1023 [CEReactions] attribute DOMString text; 1024 readonly attribute long index; 1025}; 1026 1027[Exposed=Window] 1028interface HTMLTextAreaElement : HTMLElement { 1029 [HTMLConstructor] constructor(); 1030 1031 [CEReactions] attribute DOMString autocomplete; 1032 [CEReactions] attribute unsigned long cols; 1033 [CEReactions] attribute DOMString dirName; 1034 [CEReactions] attribute boolean disabled; 1035 readonly attribute HTMLFormElement? form; 1036 [CEReactions] attribute long maxLength; 1037 [CEReactions] attribute long minLength; 1038 [CEReactions] attribute DOMString name; 1039 [CEReactions] attribute DOMString placeholder; 1040 [CEReactions] attribute boolean readOnly; 1041 [CEReactions] attribute boolean required; 1042 [CEReactions] attribute unsigned long rows; 1043 [CEReactions] attribute DOMString wrap; 1044 1045 readonly attribute DOMString type; 1046 [CEReactions] attribute DOMString defaultValue; 1047 attribute [LegacyNullToEmptyString] DOMString value; 1048 readonly attribute unsigned long textLength; 1049 1050 readonly attribute boolean willValidate; 1051 readonly attribute ValidityState validity; 1052 readonly attribute DOMString validationMessage; 1053 boolean checkValidity(); 1054 boolean reportValidity(); 1055 undefined setCustomValidity(DOMString error); 1056 1057 readonly attribute NodeList labels; 1058 1059 undefined select(); 1060 attribute unsigned long selectionStart; 1061 attribute unsigned long selectionEnd; 1062 attribute DOMString selectionDirection; 1063 undefined setRangeText(DOMString replacement); 1064 undefined setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve"); 1065 undefined setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction); 1066}; 1067 1068[Exposed=Window] 1069interface HTMLOutputElement : HTMLElement { 1070 [HTMLConstructor] constructor(); 1071 1072 [SameObject, PutForwards=value] readonly attribute DOMTokenList htmlFor; 1073 readonly attribute HTMLFormElement? form; 1074 [CEReactions] attribute DOMString name; 1075 1076 readonly attribute DOMString type; 1077 [CEReactions] attribute DOMString defaultValue; 1078 [CEReactions] attribute DOMString value; 1079 1080 readonly attribute boolean willValidate; 1081 readonly attribute ValidityState validity; 1082 readonly attribute DOMString validationMessage; 1083 boolean checkValidity(); 1084 boolean reportValidity(); 1085 undefined setCustomValidity(DOMString error); 1086 1087 readonly attribute NodeList labels; 1088}; 1089 1090[Exposed=Window] 1091interface HTMLProgressElement : HTMLElement { 1092 [HTMLConstructor] constructor(); 1093 1094 [CEReactions] attribute double value; 1095 [CEReactions] attribute double max; 1096 readonly attribute double position; 1097 readonly attribute NodeList labels; 1098}; 1099 1100[Exposed=Window] 1101interface HTMLMeterElement : HTMLElement { 1102 [HTMLConstructor] constructor(); 1103 1104 [CEReactions] attribute double value; 1105 [CEReactions] attribute double min; 1106 [CEReactions] attribute double max; 1107 [CEReactions] attribute double low; 1108 [CEReactions] attribute double high; 1109 [CEReactions] attribute double optimum; 1110 readonly attribute NodeList labels; 1111}; 1112 1113[Exposed=Window] 1114interface HTMLFieldSetElement : HTMLElement { 1115 [HTMLConstructor] constructor(); 1116 1117 [CEReactions] attribute boolean disabled; 1118 readonly attribute HTMLFormElement? form; 1119 [CEReactions] attribute DOMString name; 1120 1121 readonly attribute DOMString type; 1122 1123 [SameObject] readonly attribute HTMLCollection elements; 1124 1125 readonly attribute boolean willValidate; 1126 [SameObject] readonly attribute ValidityState validity; 1127 readonly attribute DOMString validationMessage; 1128 boolean checkValidity(); 1129 boolean reportValidity(); 1130 undefined setCustomValidity(DOMString error); 1131}; 1132 1133[Exposed=Window] 1134interface HTMLLegendElement : HTMLElement { 1135 [HTMLConstructor] constructor(); 1136 1137 readonly attribute HTMLFormElement? form; 1138 1139 // also has obsolete members 1140}; 1141 1142enum SelectionMode { 1143 "select", 1144 "start", 1145 "end", 1146 "preserve" // default 1147}; 1148 1149[Exposed=Window] 1150interface ValidityState { 1151 readonly attribute boolean valueMissing; 1152 readonly attribute boolean typeMismatch; 1153 readonly attribute boolean patternMismatch; 1154 readonly attribute boolean tooLong; 1155 readonly attribute boolean tooShort; 1156 readonly attribute boolean rangeUnderflow; 1157 readonly attribute boolean rangeOverflow; 1158 readonly attribute boolean stepMismatch; 1159 readonly attribute boolean badInput; 1160 readonly attribute boolean customError; 1161 readonly attribute boolean valid; 1162}; 1163 1164[Exposed=Window] 1165interface SubmitEvent : Event { 1166 constructor(DOMString type, optional SubmitEventInit eventInitDict = {}); 1167 1168 readonly attribute HTMLElement? submitter; 1169}; 1170 1171dictionary SubmitEventInit : EventInit { 1172 HTMLElement? submitter = null; 1173}; 1174 1175[Exposed=Window] 1176interface FormDataEvent : Event { 1177 constructor(DOMString type, FormDataEventInit eventInitDict); 1178 1179 readonly attribute FormData formData; 1180}; 1181 1182dictionary FormDataEventInit : EventInit { 1183 required FormData formData; 1184}; 1185 1186[Exposed=Window] 1187interface HTMLDetailsElement : HTMLElement { 1188 [HTMLConstructor] constructor(); 1189 1190 [CEReactions] attribute boolean open; 1191}; 1192 1193[Exposed=Window] 1194interface HTMLDialogElement : HTMLElement { 1195 [HTMLConstructor] constructor(); 1196 1197 [CEReactions] attribute boolean open; 1198 attribute DOMString returnValue; 1199 [CEReactions] undefined show(); 1200 [CEReactions] undefined showModal(); 1201 [CEReactions] undefined close(optional DOMString returnValue); 1202}; 1203 1204[Exposed=Window] 1205interface HTMLScriptElement : HTMLElement { 1206 [HTMLConstructor] constructor(); 1207 1208 [CEReactions] attribute USVString src; 1209 [CEReactions] attribute DOMString type; 1210 [CEReactions] attribute boolean noModule; 1211 [CEReactions] attribute boolean async; 1212 [CEReactions] attribute boolean defer; 1213 [CEReactions] attribute DOMString? crossOrigin; 1214 [CEReactions] attribute DOMString text; 1215 [CEReactions] attribute DOMString integrity; 1216 [CEReactions] attribute DOMString referrerPolicy; 1217 1218 // also has obsolete members 1219}; 1220 1221[Exposed=Window] 1222interface HTMLTemplateElement : HTMLElement { 1223 [HTMLConstructor] constructor(); 1224 1225 readonly attribute DocumentFragment content; 1226}; 1227 1228[Exposed=Window] 1229interface HTMLSlotElement : HTMLElement { 1230 [HTMLConstructor] constructor(); 1231 1232 [CEReactions] attribute DOMString name; 1233 sequence<Node> assignedNodes(optional AssignedNodesOptions options = {}); 1234 sequence<Element> assignedElements(optional AssignedNodesOptions options = {}); 1235 undefined assign((Element or Text)... nodes); 1236}; 1237 1238dictionary AssignedNodesOptions { 1239 boolean flatten = false; 1240}; 1241 1242typedef (CanvasRenderingContext2D or ImageBitmapRenderingContext or WebGLRenderingContext or WebGL2RenderingContext) RenderingContext; 1243 1244[Exposed=Window] 1245interface HTMLCanvasElement : HTMLElement { 1246 [HTMLConstructor] constructor(); 1247 1248 [CEReactions] attribute unsigned long width; 1249 [CEReactions] attribute unsigned long height; 1250 1251 RenderingContext? getContext(DOMString contextId, optional any options = null); 1252 1253 USVString toDataURL(optional DOMString type = "image/png", optional any quality); 1254 undefined toBlob(BlobCallback _callback, optional DOMString type = "image/png", optional any quality); 1255 OffscreenCanvas transferControlToOffscreen(); 1256}; 1257 1258callback BlobCallback = undefined (Blob? blob); 1259 1260typedef (HTMLImageElement or 1261 SVGImageElement) HTMLOrSVGImageElement; 1262 1263typedef (HTMLOrSVGImageElement or 1264 HTMLVideoElement or 1265 HTMLCanvasElement or 1266 ImageBitmap or 1267 OffscreenCanvas) CanvasImageSource; 1268 1269enum PredefinedColorSpace { "srgb", "display-p3" }; 1270 1271enum CanvasFillRule { "nonzero", "evenodd" }; 1272 1273dictionary CanvasRenderingContext2DSettings { 1274 boolean alpha = true; 1275 boolean desynchronized = false; 1276 PredefinedColorSpace colorSpace = "srgb"; 1277}; 1278 1279enum ImageSmoothingQuality { "low", "medium", "high" }; 1280 1281[Exposed=Window] 1282interface CanvasRenderingContext2D { 1283 // back-reference to the canvas 1284 readonly attribute HTMLCanvasElement canvas; 1285 1286 CanvasRenderingContext2DSettings getContextAttributes(); 1287}; 1288CanvasRenderingContext2D includes CanvasState; 1289CanvasRenderingContext2D includes CanvasTransform; 1290CanvasRenderingContext2D includes CanvasCompositing; 1291CanvasRenderingContext2D includes CanvasImageSmoothing; 1292CanvasRenderingContext2D includes CanvasFillStrokeStyles; 1293CanvasRenderingContext2D includes CanvasShadowStyles; 1294CanvasRenderingContext2D includes CanvasFilters; 1295CanvasRenderingContext2D includes CanvasRect; 1296CanvasRenderingContext2D includes CanvasDrawPath; 1297CanvasRenderingContext2D includes CanvasUserInterface; 1298CanvasRenderingContext2D includes CanvasText; 1299CanvasRenderingContext2D includes CanvasDrawImage; 1300CanvasRenderingContext2D includes CanvasImageData; 1301CanvasRenderingContext2D includes CanvasPathDrawingStyles; 1302CanvasRenderingContext2D includes CanvasTextDrawingStyles; 1303CanvasRenderingContext2D includes CanvasPath; 1304 1305interface mixin CanvasState { 1306 // state 1307 undefined save(); // push state on state stack 1308 undefined restore(); // pop state stack and restore state 1309 undefined reset(); // reset the rendering context to its default state 1310}; 1311 1312interface mixin CanvasTransform { 1313 // transformations (default transform is the identity matrix) 1314 undefined scale(unrestricted double x, unrestricted double y); 1315 undefined rotate(unrestricted double angle); 1316 undefined translate(unrestricted double x, unrestricted double y); 1317 undefined transform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f); 1318 1319 [NewObject] DOMMatrix getTransform(); 1320 undefined setTransform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f); 1321 undefined setTransform(optional DOMMatrix2DInit transform = {}); 1322 undefined resetTransform(); 1323 1324}; 1325 1326interface mixin CanvasCompositing { 1327 // compositing 1328 attribute unrestricted double globalAlpha; // (default 1.0) 1329 attribute DOMString globalCompositeOperation; // (default source-over) 1330}; 1331 1332interface mixin CanvasImageSmoothing { 1333 // image smoothing 1334 attribute boolean imageSmoothingEnabled; // (default true) 1335 attribute ImageSmoothingQuality imageSmoothingQuality; // (default low) 1336 1337}; 1338 1339interface mixin CanvasFillStrokeStyles { 1340 // colors and styles (see also the CanvasPathDrawingStyles and CanvasTextDrawingStyles interfaces) 1341 attribute (DOMString or CanvasGradient or CanvasPattern) strokeStyle; // (default black) 1342 attribute (DOMString or CanvasGradient or CanvasPattern) fillStyle; // (default black) 1343 CanvasGradient createLinearGradient(double x0, double y0, double x1, double y1); 1344 CanvasGradient createRadialGradient(double x0, double y0, double r0, double x1, double y1, double r1); 1345 CanvasGradient createConicGradient(double startAngle, double x, double y); 1346 CanvasPattern? createPattern(CanvasImageSource image, [LegacyNullToEmptyString] DOMString repetition); 1347 1348}; 1349 1350interface mixin CanvasShadowStyles { 1351 // shadows 1352 attribute unrestricted double shadowOffsetX; // (default 0) 1353 attribute unrestricted double shadowOffsetY; // (default 0) 1354 attribute unrestricted double shadowBlur; // (default 0) 1355 attribute DOMString shadowColor; // (default transparent black) 1356}; 1357 1358interface mixin CanvasFilters { 1359 // filters 1360 attribute DOMString filter; // (default "none") 1361}; 1362 1363interface mixin CanvasRect { 1364 // rects 1365 undefined clearRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); 1366 undefined fillRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); 1367 undefined strokeRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); 1368}; 1369 1370interface mixin CanvasDrawPath { 1371 // path API (see also CanvasPath) 1372 undefined beginPath(); 1373 undefined fill(optional CanvasFillRule fillRule = "nonzero"); 1374 undefined fill(Path2D path, optional CanvasFillRule fillRule = "nonzero"); 1375 undefined stroke(); 1376 undefined stroke(Path2D path); 1377 undefined clip(optional CanvasFillRule fillRule = "nonzero"); 1378 undefined clip(Path2D path, optional CanvasFillRule fillRule = "nonzero"); 1379 boolean isPointInPath(unrestricted double x, unrestricted double y, optional CanvasFillRule fillRule = "nonzero"); 1380 boolean isPointInPath(Path2D path, unrestricted double x, unrestricted double y, optional CanvasFillRule fillRule = "nonzero"); 1381 boolean isPointInStroke(unrestricted double x, unrestricted double y); 1382 boolean isPointInStroke(Path2D path, unrestricted double x, unrestricted double y); 1383}; 1384 1385interface mixin CanvasUserInterface { 1386 undefined drawFocusIfNeeded(Element element); 1387 undefined drawFocusIfNeeded(Path2D path, Element element); 1388 undefined scrollPathIntoView(); 1389 undefined scrollPathIntoView(Path2D path); 1390}; 1391 1392interface mixin CanvasText { 1393 // text (see also the CanvasPathDrawingStyles and CanvasTextDrawingStyles interfaces) 1394 undefined fillText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth); 1395 undefined strokeText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth); 1396 TextMetrics measureText(DOMString text); 1397}; 1398 1399interface mixin CanvasDrawImage { 1400 // drawing images 1401 undefined drawImage(CanvasImageSource image, unrestricted double dx, unrestricted double dy); 1402 undefined drawImage(CanvasImageSource image, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh); 1403 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); 1404}; 1405 1406interface mixin CanvasImageData { 1407 // pixel manipulation 1408 ImageData createImageData([EnforceRange] long sw, [EnforceRange] long sh, optional ImageDataSettings settings = {}); 1409 ImageData createImageData(ImageData imagedata); 1410 ImageData getImageData([EnforceRange] long sx, [EnforceRange] long sy, [EnforceRange] long sw, [EnforceRange] long sh, optional ImageDataSettings settings = {}); 1411 undefined putImageData(ImageData imagedata, [EnforceRange] long dx, [EnforceRange] long dy); 1412 undefined putImageData(ImageData imagedata, [EnforceRange] long dx, [EnforceRange] long dy, [EnforceRange] long dirtyX, [EnforceRange] long dirtyY, [EnforceRange] long dirtyWidth, [EnforceRange] long dirtyHeight); 1413}; 1414 1415enum CanvasLineCap { "butt", "round", "square" }; 1416enum CanvasLineJoin { "round", "bevel", "miter" }; 1417enum CanvasTextAlign { "start", "end", "left", "right", "center" }; 1418enum CanvasTextBaseline { "top", "hanging", "middle", "alphabetic", "ideographic", "bottom" }; 1419enum CanvasDirection { "ltr", "rtl", "inherit" }; 1420enum CanvasFontKerning { "auto", "normal", "none" }; 1421enum CanvasFontStretch { "ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded" }; 1422enum CanvasFontVariantCaps { "normal", "small-caps", "all-small-caps", "petite-caps", "all-petite-caps", "unicase", "titling-caps" }; 1423enum CanvasTextRendering { "auto", "optimizeSpeed", "optimizeLegibility", "geometricPrecision" }; 1424 1425interface mixin CanvasPathDrawingStyles { 1426 // line caps/joins 1427 attribute unrestricted double lineWidth; // (default 1) 1428 attribute CanvasLineCap lineCap; // (default "butt") 1429 attribute CanvasLineJoin lineJoin; // (default "miter") 1430 attribute unrestricted double miterLimit; // (default 10) 1431 1432 // dashed lines 1433 undefined setLineDash(sequence<unrestricted double> segments); // default empty 1434 sequence<unrestricted double> getLineDash(); 1435 attribute unrestricted double lineDashOffset; 1436}; 1437 1438interface mixin CanvasTextDrawingStyles { 1439 // text 1440 attribute DOMString font; // (default 10px sans-serif) 1441 attribute CanvasTextAlign textAlign; // (default: "start") 1442 attribute CanvasTextBaseline textBaseline; // (default: "alphabetic") 1443 attribute CanvasDirection direction; // (default: "inherit") 1444 attribute double textLetterSpacing; // (default: 0) 1445 attribute double textWordSpacing; // (default: 0) 1446 attribute CanvasFontKerning fontKerning; // (default: "auto") 1447 attribute CanvasFontStretch fontStretch; // (default: "normal") 1448 attribute CanvasFontVariantCaps fontVariantCaps; // (default: "normal") 1449 attribute CanvasTextRendering textRendering; // (default: "normal") 1450}; 1451 1452interface mixin CanvasPath { 1453 // shared path API methods 1454 undefined closePath(); 1455 undefined moveTo(unrestricted double x, unrestricted double y); 1456 undefined lineTo(unrestricted double x, unrestricted double y); 1457 undefined quadraticCurveTo(unrestricted double cpx, unrestricted double cpy, unrestricted double x, unrestricted double y); 1458 undefined bezierCurveTo(unrestricted double cp1x, unrestricted double cp1y, unrestricted double cp2x, unrestricted double cp2y, unrestricted double x, unrestricted double y); 1459 undefined arcTo(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radius); 1460 undefined rect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); 1461 undefined arc(unrestricted double x, unrestricted double y, unrestricted double radius, unrestricted double startAngle, unrestricted double endAngle, optional boolean counterclockwise = false); 1462 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); 1463}; 1464 1465[Exposed=(Window,Worker)] 1466interface CanvasGradient { 1467 // opaque object 1468 undefined addColorStop(double offset, DOMString color); 1469}; 1470 1471[Exposed=(Window,Worker)] 1472interface CanvasPattern { 1473 // opaque object 1474 undefined setTransform(optional DOMMatrix2DInit transform = {}); 1475}; 1476 1477[Exposed=(Window,Worker)] 1478interface TextMetrics { 1479 // x-direction 1480 readonly attribute double width; // advance width 1481 readonly attribute double actualBoundingBoxLeft; 1482 readonly attribute double actualBoundingBoxRight; 1483 1484 // y-direction 1485 readonly attribute double fontBoundingBoxAscent; 1486 readonly attribute double fontBoundingBoxDescent; 1487 readonly attribute double actualBoundingBoxAscent; 1488 readonly attribute double actualBoundingBoxDescent; 1489 readonly attribute double emHeightAscent; 1490 readonly attribute double emHeightDescent; 1491 readonly attribute double hangingBaseline; 1492 readonly attribute double alphabeticBaseline; 1493 readonly attribute double ideographicBaseline; 1494}; 1495 1496dictionary ImageDataSettings { 1497 PredefinedColorSpace colorSpace; 1498}; 1499 1500[Exposed=(Window,Worker), 1501 Serializable] 1502interface ImageData { 1503 constructor(unsigned long sw, unsigned long sh, optional ImageDataSettings settings = {}); 1504 constructor(Uint8ClampedArray data, unsigned long sw, optional unsigned long sh, optional ImageDataSettings settings = {}); 1505 1506 readonly attribute unsigned long width; 1507 readonly attribute unsigned long height; 1508 readonly attribute Uint8ClampedArray data; 1509 readonly attribute PredefinedColorSpace colorSpace; 1510}; 1511 1512[Exposed=(Window,Worker)] 1513interface Path2D { 1514 constructor(optional (Path2D or DOMString) path); 1515 1516 undefined addPath(Path2D path, optional DOMMatrix2DInit transform = {}); 1517}; 1518Path2D includes CanvasPath; 1519 1520[Exposed=(Window,Worker)] 1521interface ImageBitmapRenderingContext { 1522 readonly attribute (HTMLCanvasElement or OffscreenCanvas) canvas; 1523 undefined transferFromImageBitmap(ImageBitmap? bitmap); 1524}; 1525 1526dictionary ImageBitmapRenderingContextSettings { 1527 boolean alpha = true; 1528}; 1529 1530typedef (OffscreenCanvasRenderingContext2D or ImageBitmapRenderingContext or WebGLRenderingContext or WebGL2RenderingContext) OffscreenRenderingContext; 1531 1532dictionary ImageEncodeOptions { 1533 DOMString type = "image/png"; 1534 unrestricted double quality; 1535}; 1536 1537enum OffscreenRenderingContextId { "2d", "bitmaprenderer", "webgl", "webgl2" }; 1538 1539[Exposed=(Window,Worker), Transferable] 1540interface OffscreenCanvas : EventTarget { 1541 constructor([EnforceRange] unsigned long long width, [EnforceRange] unsigned long long height); 1542 1543 attribute [EnforceRange] unsigned long long width; 1544 attribute [EnforceRange] unsigned long long height; 1545 1546 OffscreenRenderingContext? getContext(OffscreenRenderingContextId contextId, optional any options = null); 1547 ImageBitmap transferToImageBitmap(); 1548 Promise<Blob> convertToBlob(optional ImageEncodeOptions options = {}); 1549}; 1550 1551[Exposed=(Window,Worker)] 1552interface OffscreenCanvasRenderingContext2D { 1553 undefined commit(); 1554 readonly attribute OffscreenCanvas canvas; 1555}; 1556 1557OffscreenCanvasRenderingContext2D includes CanvasState; 1558OffscreenCanvasRenderingContext2D includes CanvasTransform; 1559OffscreenCanvasRenderingContext2D includes CanvasCompositing; 1560OffscreenCanvasRenderingContext2D includes CanvasImageSmoothing; 1561OffscreenCanvasRenderingContext2D includes CanvasFillStrokeStyles; 1562OffscreenCanvasRenderingContext2D includes CanvasShadowStyles; 1563OffscreenCanvasRenderingContext2D includes CanvasFilters; 1564OffscreenCanvasRenderingContext2D includes CanvasRect; 1565OffscreenCanvasRenderingContext2D includes CanvasDrawPath; 1566OffscreenCanvasRenderingContext2D includes CanvasText; 1567OffscreenCanvasRenderingContext2D includes CanvasDrawImage; 1568OffscreenCanvasRenderingContext2D includes CanvasImageData; 1569OffscreenCanvasRenderingContext2D includes CanvasPathDrawingStyles; 1570OffscreenCanvasRenderingContext2D includes CanvasTextDrawingStyles; 1571OffscreenCanvasRenderingContext2D includes CanvasPath; 1572 1573[Exposed=Window] 1574interface CustomElementRegistry { 1575 [CEReactions] undefined define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions options = {}); 1576 (CustomElementConstructor or undefined) get(DOMString name); 1577 Promise<CustomElementConstructor> whenDefined(DOMString name); 1578 [CEReactions] undefined upgrade(Node root); 1579}; 1580 1581callback CustomElementConstructor = HTMLElement (); 1582 1583dictionary ElementDefinitionOptions { 1584 DOMString extends; 1585}; 1586 1587[Exposed=Window] 1588interface ElementInternals { 1589 // Shadow root access 1590 readonly attribute ShadowRoot? shadowRoot; 1591 1592 // Form-associated custom elements 1593 undefined setFormValue((File or USVString or FormData)? value, 1594 optional (File or USVString or FormData)? state); 1595 1596 readonly attribute HTMLFormElement? form; 1597 1598 undefined setValidity(optional ValidityStateFlags flags = {}, 1599 optional DOMString message, 1600 optional HTMLElement anchor); 1601 readonly attribute boolean willValidate; 1602 readonly attribute ValidityState validity; 1603 readonly attribute DOMString validationMessage; 1604 boolean checkValidity(); 1605 boolean reportValidity(); 1606 1607 readonly attribute NodeList labels; 1608}; 1609 1610// Accessibility semantics 1611ElementInternals includes ARIAMixin; 1612 1613dictionary ValidityStateFlags { 1614 boolean valueMissing = false; 1615 boolean typeMismatch = false; 1616 boolean patternMismatch = false; 1617 boolean tooLong = false; 1618 boolean tooShort = false; 1619 boolean rangeUnderflow = false; 1620 boolean rangeOverflow = false; 1621 boolean stepMismatch = false; 1622 boolean badInput = false; 1623 boolean customError = false; 1624}; 1625 1626dictionary FocusOptions { 1627 boolean preventScroll = false; 1628}; 1629 1630interface mixin ElementContentEditable { 1631 [CEReactions] attribute DOMString contentEditable; 1632 [CEReactions] attribute DOMString enterKeyHint; 1633 readonly attribute boolean isContentEditable; 1634 [CEReactions] attribute DOMString inputMode; 1635}; 1636 1637[Exposed=Window] 1638interface DataTransfer { 1639 constructor(); 1640 1641 attribute DOMString dropEffect; 1642 attribute DOMString effectAllowed; 1643 1644 [SameObject] readonly attribute DataTransferItemList items; 1645 1646 undefined setDragImage(Element image, long x, long y); 1647 1648 /* old interface */ 1649 readonly attribute FrozenArray<DOMString> types; 1650 DOMString getData(DOMString format); 1651 undefined setData(DOMString format, DOMString data); 1652 undefined clearData(optional DOMString format); 1653 [SameObject] readonly attribute FileList files; 1654}; 1655 1656[Exposed=Window] 1657interface DataTransferItemList { 1658 readonly attribute unsigned long length; 1659 getter DataTransferItem (unsigned long index); 1660 DataTransferItem? add(DOMString data, DOMString type); 1661 DataTransferItem? add(File data); 1662 undefined remove(unsigned long index); 1663 undefined clear(); 1664}; 1665 1666[Exposed=Window] 1667interface DataTransferItem { 1668 readonly attribute DOMString kind; 1669 readonly attribute DOMString type; 1670 undefined getAsString(FunctionStringCallback? _callback); 1671 File? getAsFile(); 1672}; 1673 1674callback FunctionStringCallback = undefined (DOMString data); 1675 1676[Exposed=Window] 1677interface DragEvent : MouseEvent { 1678 constructor(DOMString type, optional DragEventInit eventInitDict = {}); 1679 1680 readonly attribute DataTransfer? dataTransfer; 1681}; 1682 1683dictionary DragEventInit : MouseEventInit { 1684 DataTransfer? dataTransfer = null; 1685}; 1686 1687[Global=Window, 1688 Exposed=Window, 1689 LegacyUnenumerableNamedProperties] 1690interface Window : EventTarget { 1691 // the current browsing context 1692 [LegacyUnforgeable] readonly attribute WindowProxy window; 1693 [Replaceable] readonly attribute WindowProxy self; 1694 [LegacyUnforgeable] readonly attribute Document document; 1695 attribute DOMString name; 1696 [PutForwards=href, LegacyUnforgeable] readonly attribute Location location; 1697 readonly attribute History history; 1698 readonly attribute CustomElementRegistry customElements; 1699 [Replaceable] readonly attribute BarProp locationbar; 1700 [Replaceable] readonly attribute BarProp menubar; 1701 [Replaceable] readonly attribute BarProp personalbar; 1702 [Replaceable] readonly attribute BarProp scrollbars; 1703 [Replaceable] readonly attribute BarProp statusbar; 1704 [Replaceable] readonly attribute BarProp toolbar; 1705 attribute DOMString status; 1706 undefined close(); 1707 readonly attribute boolean closed; 1708 undefined stop(); 1709 undefined focus(); 1710 undefined blur(); 1711 1712 // other browsing contexts 1713 [Replaceable] readonly attribute WindowProxy frames; 1714 [Replaceable] readonly attribute unsigned long length; 1715 [LegacyUnforgeable] readonly attribute WindowProxy? top; 1716 attribute any opener; 1717 [Replaceable] readonly attribute WindowProxy? parent; 1718 readonly attribute Element? frameElement; 1719 WindowProxy? open(optional USVString url = "", optional DOMString target = "_blank", optional [LegacyNullToEmptyString] DOMString features = ""); 1720 getter object (DOMString name); 1721 // Since this is the global object, the IDL named getter adds a NamedPropertiesObject exotic 1722 // object on the prototype chain. Indeed, this does not make the global object an exotic object. 1723 // Indexed access is taken care of by the WindowProxy exotic object. 1724 1725 // the user agent 1726 readonly attribute Navigator navigator; 1727 readonly attribute boolean originAgentCluster; 1728 1729 // user prompts 1730 undefined alert(); 1731 undefined alert(DOMString message); 1732 boolean confirm(optional DOMString message = ""); 1733 DOMString? prompt(optional DOMString message = "", optional DOMString default = ""); 1734 undefined print(); 1735 1736 undefined postMessage(any message, USVString targetOrigin, optional sequence<object> transfer = []); 1737 undefined postMessage(any message, optional WindowPostMessageOptions options = {}); 1738 1739 // also has obsolete members 1740}; 1741Window includes GlobalEventHandlers; 1742Window includes WindowEventHandlers; 1743 1744dictionary WindowPostMessageOptions : PostMessageOptions { 1745 USVString targetOrigin = "/"; 1746}; 1747 1748[Exposed=Window] 1749interface BarProp { 1750 readonly attribute boolean visible; 1751}; 1752 1753enum ScrollRestoration { "auto", "manual" }; 1754 1755[Exposed=Window] 1756interface History { 1757 readonly attribute unsigned long length; 1758 attribute ScrollRestoration scrollRestoration; 1759 readonly attribute any state; 1760 undefined go(optional long delta = 0); 1761 undefined back(); 1762 undefined forward(); 1763 undefined pushState(any data, DOMString unused, optional USVString? url = null); 1764 undefined replaceState(any data, DOMString unused, optional USVString? url = null); 1765}; 1766 1767[Exposed=Window] 1768interface Location { // but see also additional creation steps and overridden internal methods 1769 [LegacyUnforgeable] stringifier attribute USVString href; 1770 [LegacyUnforgeable] readonly attribute USVString origin; 1771 [LegacyUnforgeable] attribute USVString protocol; 1772 [LegacyUnforgeable] attribute USVString host; 1773 [LegacyUnforgeable] attribute USVString hostname; 1774 [LegacyUnforgeable] attribute USVString port; 1775 [LegacyUnforgeable] attribute USVString pathname; 1776 [LegacyUnforgeable] attribute USVString search; 1777 [LegacyUnforgeable] attribute USVString hash; 1778 1779 [LegacyUnforgeable] undefined assign(USVString url); 1780 [LegacyUnforgeable] undefined replace(USVString url); 1781 [LegacyUnforgeable] undefined reload(); 1782 1783 [LegacyUnforgeable, SameObject] readonly attribute DOMStringList ancestorOrigins; 1784}; 1785 1786[Exposed=Window] 1787interface PopStateEvent : Event { 1788 constructor(DOMString type, optional PopStateEventInit eventInitDict = {}); 1789 1790 readonly attribute any state; 1791}; 1792 1793dictionary PopStateEventInit : EventInit { 1794 any state = null; 1795}; 1796 1797[Exposed=Window] 1798interface HashChangeEvent : Event { 1799 constructor(DOMString type, optional HashChangeEventInit eventInitDict = {}); 1800 1801 readonly attribute USVString oldURL; 1802 readonly attribute USVString newURL; 1803}; 1804 1805dictionary HashChangeEventInit : EventInit { 1806 USVString oldURL = ""; 1807 USVString newURL = ""; 1808}; 1809 1810[Exposed=Window] 1811interface PageTransitionEvent : Event { 1812 constructor(DOMString type, optional PageTransitionEventInit eventInitDict = {}); 1813 1814 readonly attribute boolean persisted; 1815}; 1816 1817dictionary PageTransitionEventInit : EventInit { 1818 boolean persisted = false; 1819}; 1820 1821[Exposed=Window] 1822interface BeforeUnloadEvent : Event { 1823 attribute DOMString returnValue; 1824}; 1825 1826[Exposed=(Window,Worker)] 1827interface ErrorEvent : Event { 1828 constructor(DOMString type, optional ErrorEventInit eventInitDict = {}); 1829 1830 readonly attribute DOMString message; 1831 readonly attribute USVString filename; 1832 readonly attribute unsigned long lineno; 1833 readonly attribute unsigned long colno; 1834 readonly attribute any error; 1835}; 1836 1837dictionary ErrorEventInit : EventInit { 1838 DOMString message = ""; 1839 USVString filename = ""; 1840 unsigned long lineno = 0; 1841 unsigned long colno = 0; 1842 any error = null; 1843}; 1844 1845[Exposed=(Window,Worker)] 1846interface PromiseRejectionEvent : Event { 1847 constructor(DOMString type, PromiseRejectionEventInit eventInitDict); 1848 1849 readonly attribute Promise<any> promise; 1850 readonly attribute any reason; 1851}; 1852 1853dictionary PromiseRejectionEventInit : EventInit { 1854 required Promise<any> promise; 1855 any reason; 1856}; 1857 1858[LegacyTreatNonObjectAsNull] 1859callback EventHandlerNonNull = any (Event event); 1860typedef EventHandlerNonNull? EventHandler; 1861 1862[LegacyTreatNonObjectAsNull] 1863callback OnErrorEventHandlerNonNull = any ((Event or DOMString) event, optional DOMString source, optional unsigned long lineno, optional unsigned long colno, optional any error); 1864typedef OnErrorEventHandlerNonNull? OnErrorEventHandler; 1865 1866[LegacyTreatNonObjectAsNull] 1867callback OnBeforeUnloadEventHandlerNonNull = DOMString? (Event event); 1868typedef OnBeforeUnloadEventHandlerNonNull? OnBeforeUnloadEventHandler; 1869 1870interface mixin GlobalEventHandlers { 1871 attribute EventHandler onabort; 1872 attribute EventHandler onauxclick; 1873 attribute EventHandler onblur; 1874 attribute EventHandler oncancel; 1875 attribute EventHandler oncanplay; 1876 attribute EventHandler oncanplaythrough; 1877 attribute EventHandler onchange; 1878 attribute EventHandler onclick; 1879 attribute EventHandler onclose; 1880 attribute EventHandler oncontextmenu; 1881 attribute EventHandler oncuechange; 1882 attribute EventHandler ondblclick; 1883 attribute EventHandler ondrag; 1884 attribute EventHandler ondragend; 1885 attribute EventHandler ondragenter; 1886 attribute EventHandler ondragleave; 1887 attribute EventHandler ondragover; 1888 attribute EventHandler ondragstart; 1889 attribute EventHandler ondrop; 1890 attribute EventHandler ondurationchange; 1891 attribute EventHandler onemptied; 1892 attribute EventHandler onended; 1893 attribute OnErrorEventHandler onerror; 1894 attribute EventHandler onfocus; 1895 attribute EventHandler onformdata; 1896 attribute EventHandler oninput; 1897 attribute EventHandler oninvalid; 1898 attribute EventHandler onkeydown; 1899 attribute EventHandler onkeypress; 1900 attribute EventHandler onkeyup; 1901 attribute EventHandler onload; 1902 attribute EventHandler onloadeddata; 1903 attribute EventHandler onloadedmetadata; 1904 attribute EventHandler onloadstart; 1905 attribute EventHandler onmousedown; 1906 [LegacyLenientThis] attribute EventHandler onmouseenter; 1907 [LegacyLenientThis] attribute EventHandler onmouseleave; 1908 attribute EventHandler onmousemove; 1909 attribute EventHandler onmouseout; 1910 attribute EventHandler onmouseover; 1911 attribute EventHandler onmouseup; 1912 attribute EventHandler onpause; 1913 attribute EventHandler onplay; 1914 attribute EventHandler onplaying; 1915 attribute EventHandler onprogress; 1916 attribute EventHandler onratechange; 1917 attribute EventHandler onreset; 1918 attribute EventHandler onresize; 1919 attribute EventHandler onscroll; 1920 attribute EventHandler onsecuritypolicyviolation; 1921 attribute EventHandler onseeked; 1922 attribute EventHandler onseeking; 1923 attribute EventHandler onselect; 1924 attribute EventHandler onslotchange; 1925 attribute EventHandler onstalled; 1926 attribute EventHandler onsubmit; 1927 attribute EventHandler onsuspend; 1928 attribute EventHandler ontimeupdate; 1929 attribute EventHandler ontoggle; 1930 attribute EventHandler onvolumechange; 1931 attribute EventHandler onwaiting; 1932 attribute EventHandler onwebkitanimationend; 1933 attribute EventHandler onwebkitanimationiteration; 1934 attribute EventHandler onwebkitanimationstart; 1935 attribute EventHandler onwebkittransitionend; 1936 attribute EventHandler onwheel; 1937}; 1938 1939interface mixin WindowEventHandlers { 1940 attribute EventHandler onafterprint; 1941 attribute EventHandler onbeforeprint; 1942 attribute OnBeforeUnloadEventHandler onbeforeunload; 1943 attribute EventHandler onhashchange; 1944 attribute EventHandler onlanguagechange; 1945 attribute EventHandler onmessage; 1946 attribute EventHandler onmessageerror; 1947 attribute EventHandler onoffline; 1948 attribute EventHandler ononline; 1949 attribute EventHandler onpagehide; 1950 attribute EventHandler onpageshow; 1951 attribute EventHandler onpopstate; 1952 attribute EventHandler onrejectionhandled; 1953 attribute EventHandler onstorage; 1954 attribute EventHandler onunhandledrejection; 1955 attribute EventHandler onunload; 1956}; 1957 1958interface mixin DocumentAndElementEventHandlers { 1959 attribute EventHandler oncopy; 1960 attribute EventHandler oncut; 1961 attribute EventHandler onpaste; 1962}; 1963 1964typedef (DOMString or Function) TimerHandler; 1965 1966interface mixin WindowOrWorkerGlobalScope { 1967 [Replaceable] readonly attribute USVString origin; 1968 readonly attribute boolean isSecureContext; 1969 readonly attribute boolean crossOriginIsolated; 1970 1971 // base64 utility methods 1972 DOMString btoa(DOMString data); 1973 ByteString atob(DOMString data); 1974 1975 // timers 1976 long setTimeout(TimerHandler handler, optional long timeout = 0, any... arguments); 1977 undefined clearTimeout(optional long handle = 0); 1978 long setInterval(TimerHandler handler, optional long timeout = 0, any... arguments); 1979 undefined clearInterval(optional long handle = 0); 1980 1981 // microtask queuing 1982 undefined queueMicrotask(VoidFunction callback); 1983 1984 // ImageBitmap 1985 Promise<ImageBitmap> createImageBitmap(ImageBitmapSource image, optional ImageBitmapOptions options = {}); 1986 Promise<ImageBitmap> createImageBitmap(ImageBitmapSource image, long sx, long sy, long sw, long sh, optional ImageBitmapOptions options = {}); 1987}; 1988Window includes WindowOrWorkerGlobalScope; 1989WorkerGlobalScope includes WindowOrWorkerGlobalScope; 1990 1991[Exposed=Window] 1992interface DOMParser { 1993 constructor(); 1994 1995 [NewObject] Document parseFromString(DOMString string, DOMParserSupportedType type); 1996}; 1997 1998enum DOMParserSupportedType { 1999 "text/html", 2000 "text/xml", 2001 "application/xml", 2002 "application/xhtml+xml", 2003 "image/svg+xml" 2004}; 2005 2006[Exposed=Window] 2007interface Navigator { 2008 // objects implementing this interface also implement the interfaces given below 2009}; 2010Navigator includes NavigatorID; 2011Navigator includes NavigatorLanguage; 2012Navigator includes NavigatorOnLine; 2013Navigator includes NavigatorContentUtils; 2014Navigator includes NavigatorCookies; 2015Navigator includes NavigatorPlugins; 2016Navigator includes NavigatorConcurrentHardware; 2017 2018interface mixin NavigatorID { 2019 readonly attribute DOMString appCodeName; // constant "Mozilla" 2020 readonly attribute DOMString appName; // constant "Netscape" 2021 readonly attribute DOMString appVersion; 2022 readonly attribute DOMString platform; 2023 readonly attribute DOMString product; // constant "Gecko" 2024 [Exposed=Window] readonly attribute DOMString productSub; 2025 readonly attribute DOMString userAgent; 2026 [Exposed=Window] readonly attribute DOMString vendor; 2027 [Exposed=Window] readonly attribute DOMString vendorSub; // constant "" 2028}; 2029 2030partial interface mixin NavigatorID { 2031 [Exposed=Window] boolean taintEnabled(); // constant false 2032 [Exposed=Window] readonly attribute DOMString oscpu; 2033}; 2034 2035interface mixin NavigatorLanguage { 2036 readonly attribute DOMString language; 2037 readonly attribute FrozenArray<DOMString> languages; 2038}; 2039 2040interface mixin NavigatorOnLine { 2041 readonly attribute boolean onLine; 2042}; 2043 2044interface mixin NavigatorContentUtils { 2045 [SecureContext] undefined registerProtocolHandler(DOMString scheme, USVString url); 2046 [SecureContext] undefined unregisterProtocolHandler(DOMString scheme, USVString url); 2047}; 2048 2049interface mixin NavigatorCookies { 2050 readonly attribute boolean cookieEnabled; 2051}; 2052 2053[Exposed=(Window,Worker), Serializable, Transferable] 2054interface ImageBitmap { 2055 readonly attribute unsigned long width; 2056 readonly attribute unsigned long height; 2057 undefined close(); 2058}; 2059 2060typedef (CanvasImageSource or 2061 Blob or 2062 ImageData) ImageBitmapSource; 2063 2064enum ImageOrientation { "none", "flipY" }; 2065enum PremultiplyAlpha { "none", "premultiply", "default" }; 2066enum ColorSpaceConversion { "none", "default" }; 2067enum ResizeQuality { "pixelated", "low", "medium", "high" }; 2068 2069dictionary ImageBitmapOptions { 2070 ImageOrientation imageOrientation = "none"; 2071 PremultiplyAlpha premultiplyAlpha = "default"; 2072 ColorSpaceConversion colorSpaceConversion = "default"; 2073 [EnforceRange] unsigned long resizeWidth; 2074 [EnforceRange] unsigned long resizeHeight; 2075 ResizeQuality resizeQuality = "low"; 2076}; 2077 2078callback FrameRequestCallback = undefined (DOMHighResTimeStamp time); 2079 2080interface mixin AnimationFrameProvider { 2081 unsigned long requestAnimationFrame(FrameRequestCallback callback); 2082 undefined cancelAnimationFrame(unsigned long handle); 2083}; 2084Window includes AnimationFrameProvider; 2085DedicatedWorkerGlobalScope includes AnimationFrameProvider; 2086 2087[Exposed=(Window,Worker,AudioWorklet)] 2088interface MessageEvent : Event { 2089 constructor(DOMString type, optional MessageEventInit eventInitDict = {}); 2090 2091 readonly attribute any data; 2092 readonly attribute USVString origin; 2093 readonly attribute DOMString lastEventId; 2094 readonly attribute MessageEventSource? source; 2095 readonly attribute FrozenArray<MessagePort> ports; 2096 2097 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 = []); 2098}; 2099 2100dictionary MessageEventInit : EventInit { 2101 any data = null; 2102 USVString origin = ""; 2103 DOMString lastEventId = ""; 2104 MessageEventSource? source = null; 2105 sequence<MessagePort> ports = []; 2106}; 2107 2108typedef (WindowProxy or MessagePort or ServiceWorker) MessageEventSource; 2109 2110[Exposed=(Window,Worker)] 2111interface EventSource : EventTarget { 2112 constructor(USVString url, optional EventSourceInit eventSourceInitDict = {}); 2113 2114 readonly attribute USVString url; 2115 readonly attribute boolean withCredentials; 2116 2117 // ready state 2118 const unsigned short CONNECTING = 0; 2119 const unsigned short OPEN = 1; 2120 const unsigned short CLOSED = 2; 2121 readonly attribute unsigned short readyState; 2122 2123 // networking 2124 attribute EventHandler onopen; 2125 attribute EventHandler onmessage; 2126 attribute EventHandler onerror; 2127 undefined close(); 2128}; 2129 2130dictionary EventSourceInit { 2131 boolean withCredentials = false; 2132}; 2133 2134enum BinaryType { "blob", "arraybuffer" }; 2135[Exposed=(Window,Worker)] 2136interface WebSocket : EventTarget { 2137 constructor(USVString url, optional (DOMString or sequence<DOMString>) protocols = []); 2138 2139 readonly attribute USVString url; 2140 2141 // ready state 2142 const unsigned short CONNECTING = 0; 2143 const unsigned short OPEN = 1; 2144 const unsigned short CLOSING = 2; 2145 const unsigned short CLOSED = 3; 2146 readonly attribute unsigned short readyState; 2147 readonly attribute unsigned long long bufferedAmount; 2148 2149 // networking 2150 attribute EventHandler onopen; 2151 attribute EventHandler onerror; 2152 attribute EventHandler onclose; 2153 readonly attribute DOMString extensions; 2154 readonly attribute DOMString protocol; 2155 undefined close(optional [Clamp] unsigned short code, optional USVString reason); 2156 2157 // messaging 2158 attribute EventHandler onmessage; 2159 attribute BinaryType binaryType; 2160 undefined send(USVString data); 2161 undefined send(Blob data); 2162 undefined send(ArrayBuffer data); 2163 undefined send(ArrayBufferView data); 2164}; 2165 2166[Exposed=(Window,Worker)] 2167interface CloseEvent : Event { 2168 constructor(DOMString type, optional CloseEventInit eventInitDict = {}); 2169 2170 readonly attribute boolean wasClean; 2171 readonly attribute unsigned short code; 2172 readonly attribute USVString reason; 2173}; 2174 2175dictionary CloseEventInit : EventInit { 2176 boolean wasClean = false; 2177 unsigned short code = 0; 2178 USVString reason = ""; 2179}; 2180 2181[Exposed=(Window,Worker)] 2182interface MessageChannel { 2183 constructor(); 2184 2185 readonly attribute MessagePort port1; 2186 readonly attribute MessagePort port2; 2187}; 2188 2189[Exposed=(Window,Worker,AudioWorklet), Transferable] 2190interface MessagePort : EventTarget { 2191 undefined postMessage(any message, sequence<object> transfer); 2192 undefined postMessage(any message, optional PostMessageOptions options = {}); 2193 undefined start(); 2194 undefined close(); 2195 2196 // event handlers 2197 attribute EventHandler onmessage; 2198 attribute EventHandler onmessageerror; 2199}; 2200 2201dictionary PostMessageOptions { 2202 sequence<object> transfer = []; 2203}; 2204 2205[Exposed=(Window,Worker)] 2206interface BroadcastChannel : EventTarget { 2207 constructor(DOMString name); 2208 2209 readonly attribute DOMString name; 2210 undefined postMessage(any message); 2211 undefined close(); 2212 attribute EventHandler onmessage; 2213 attribute EventHandler onmessageerror; 2214}; 2215 2216[Exposed=Worker] 2217interface WorkerGlobalScope : EventTarget { 2218 readonly attribute WorkerGlobalScope self; 2219 readonly attribute WorkerLocation location; 2220 readonly attribute WorkerNavigator navigator; 2221 undefined importScripts(USVString... urls); 2222 2223 attribute OnErrorEventHandler onerror; 2224 attribute EventHandler onlanguagechange; 2225 attribute EventHandler onoffline; 2226 attribute EventHandler ononline; 2227 attribute EventHandler onrejectionhandled; 2228 attribute EventHandler onunhandledrejection; 2229}; 2230 2231[Global=(Worker,DedicatedWorker),Exposed=DedicatedWorker] 2232interface DedicatedWorkerGlobalScope : WorkerGlobalScope { 2233 [Replaceable] readonly attribute DOMString name; 2234 2235 undefined postMessage(any message, sequence<object> transfer); 2236 undefined postMessage(any message, optional PostMessageOptions options = {}); 2237 2238 undefined close(); 2239 2240 attribute EventHandler onmessage; 2241 attribute EventHandler onmessageerror; 2242}; 2243 2244[Global=(Worker,SharedWorker),Exposed=SharedWorker] 2245interface SharedWorkerGlobalScope : WorkerGlobalScope { 2246 [Replaceable] readonly attribute DOMString name; 2247 2248 undefined close(); 2249 2250 attribute EventHandler onconnect; 2251}; 2252 2253interface mixin AbstractWorker { 2254 attribute EventHandler onerror; 2255}; 2256 2257[Exposed=(Window,DedicatedWorker,SharedWorker)] 2258interface Worker : EventTarget { 2259 constructor(USVString scriptURL, optional WorkerOptions options = {}); 2260 2261 undefined terminate(); 2262 2263 undefined postMessage(any message, sequence<object> transfer); 2264 undefined postMessage(any message, optional PostMessageOptions options = {}); 2265 attribute EventHandler onmessage; 2266 attribute EventHandler onmessageerror; 2267}; 2268 2269dictionary WorkerOptions { 2270 WorkerType type = "classic"; 2271 RequestCredentials credentials = "same-origin"; // credentials is only used if type is "module" 2272 DOMString name = ""; 2273}; 2274 2275enum WorkerType { "classic", "module" }; 2276 2277Worker includes AbstractWorker; 2278 2279[Exposed=Window] 2280interface SharedWorker : EventTarget { 2281 constructor(USVString scriptURL, optional (DOMString or WorkerOptions) options = {}); 2282 2283 readonly attribute MessagePort port; 2284}; 2285SharedWorker includes AbstractWorker; 2286 2287interface mixin NavigatorConcurrentHardware { 2288 readonly attribute unsigned long long hardwareConcurrency; 2289}; 2290 2291[Exposed=Worker] 2292interface WorkerNavigator {}; 2293WorkerNavigator includes NavigatorID; 2294WorkerNavigator includes NavigatorLanguage; 2295WorkerNavigator includes NavigatorOnLine; 2296WorkerNavigator includes NavigatorConcurrentHardware; 2297 2298[Exposed=Worker] 2299interface WorkerLocation { 2300 stringifier readonly attribute USVString href; 2301 readonly attribute USVString origin; 2302 readonly attribute USVString protocol; 2303 readonly attribute USVString host; 2304 readonly attribute USVString hostname; 2305 readonly attribute USVString port; 2306 readonly attribute USVString pathname; 2307 readonly attribute USVString search; 2308 readonly attribute USVString hash; 2309}; 2310 2311[Exposed=Worklet, SecureContext] 2312interface WorkletGlobalScope {}; 2313 2314[Exposed=Window, SecureContext] 2315interface Worklet { 2316 [NewObject] Promise<undefined> addModule(USVString moduleURL, optional WorkletOptions options = {}); 2317}; 2318 2319dictionary WorkletOptions { 2320 RequestCredentials credentials = "same-origin"; 2321}; 2322 2323[Exposed=Window] 2324interface Storage { 2325 readonly attribute unsigned long length; 2326 DOMString? key(unsigned long index); 2327 getter DOMString? getItem(DOMString key); 2328 setter undefined setItem(DOMString key, DOMString value); 2329 deleter undefined removeItem(DOMString key); 2330 undefined clear(); 2331}; 2332 2333interface mixin WindowSessionStorage { 2334 readonly attribute Storage sessionStorage; 2335}; 2336Window includes WindowSessionStorage; 2337 2338interface mixin WindowLocalStorage { 2339 readonly attribute Storage localStorage; 2340}; 2341Window includes WindowLocalStorage; 2342 2343[Exposed=Window] 2344interface StorageEvent : Event { 2345 constructor(DOMString type, optional StorageEventInit eventInitDict = {}); 2346 2347 readonly attribute DOMString? key; 2348 readonly attribute DOMString? oldValue; 2349 readonly attribute DOMString? newValue; 2350 readonly attribute USVString url; 2351 readonly attribute Storage? storageArea; 2352 2353 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); 2354}; 2355 2356dictionary StorageEventInit : EventInit { 2357 DOMString? key = null; 2358 DOMString? oldValue = null; 2359 DOMString? newValue = null; 2360 USVString url = ""; 2361 Storage? storageArea = null; 2362}; 2363 2364[Exposed=Window] 2365interface HTMLMarqueeElement : HTMLElement { 2366 [HTMLConstructor] constructor(); 2367 2368 [CEReactions] attribute DOMString behavior; 2369 [CEReactions] attribute DOMString bgColor; 2370 [CEReactions] attribute DOMString direction; 2371 [CEReactions] attribute DOMString height; 2372 [CEReactions] attribute unsigned long hspace; 2373 [CEReactions] attribute long loop; 2374 [CEReactions] attribute unsigned long scrollAmount; 2375 [CEReactions] attribute unsigned long scrollDelay; 2376 [CEReactions] attribute boolean trueSpeed; 2377 [CEReactions] attribute unsigned long vspace; 2378 [CEReactions] attribute DOMString width; 2379 2380 undefined start(); 2381 undefined stop(); 2382}; 2383 2384[Exposed=Window] 2385interface HTMLFrameSetElement : HTMLElement { 2386 [HTMLConstructor] constructor(); 2387 2388 [CEReactions] attribute DOMString cols; 2389 [CEReactions] attribute DOMString rows; 2390}; 2391HTMLFrameSetElement includes WindowEventHandlers; 2392 2393[Exposed=Window] 2394interface HTMLFrameElement : HTMLElement { 2395 [HTMLConstructor] constructor(); 2396 2397 [CEReactions] attribute DOMString name; 2398 [CEReactions] attribute DOMString scrolling; 2399 [CEReactions] attribute USVString src; 2400 [CEReactions] attribute DOMString frameBorder; 2401 [CEReactions] attribute USVString longDesc; 2402 [CEReactions] attribute boolean noResize; 2403 readonly attribute Document? contentDocument; 2404 readonly attribute WindowProxy? contentWindow; 2405 2406 [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginHeight; 2407 [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginWidth; 2408}; 2409 2410partial interface HTMLAnchorElement { 2411 [CEReactions] attribute DOMString coords; 2412 [CEReactions] attribute DOMString charset; 2413 [CEReactions] attribute DOMString name; 2414 [CEReactions] attribute DOMString rev; 2415 [CEReactions] attribute DOMString shape; 2416}; 2417 2418partial interface HTMLAreaElement { 2419 [CEReactions] attribute boolean noHref; 2420}; 2421 2422partial interface HTMLBodyElement { 2423 [CEReactions] attribute [LegacyNullToEmptyString] DOMString text; 2424 [CEReactions] attribute [LegacyNullToEmptyString] DOMString link; 2425 [CEReactions] attribute [LegacyNullToEmptyString] DOMString vLink; 2426 [CEReactions] attribute [LegacyNullToEmptyString] DOMString aLink; 2427 [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor; 2428 [CEReactions] attribute DOMString background; 2429}; 2430 2431partial interface HTMLBRElement { 2432 [CEReactions] attribute DOMString clear; 2433}; 2434 2435partial interface HTMLTableCaptionElement { 2436 [CEReactions] attribute DOMString align; 2437}; 2438 2439partial interface HTMLTableColElement { 2440 [CEReactions] attribute DOMString align; 2441 [CEReactions] attribute DOMString ch; 2442 [CEReactions] attribute DOMString chOff; 2443 [CEReactions] attribute DOMString vAlign; 2444 [CEReactions] attribute DOMString width; 2445}; 2446 2447[Exposed=Window] 2448interface HTMLDirectoryElement : HTMLElement { 2449 [HTMLConstructor] constructor(); 2450 2451 [CEReactions] attribute boolean compact; 2452}; 2453 2454partial interface HTMLDivElement { 2455 [CEReactions] attribute DOMString align; 2456}; 2457 2458partial interface HTMLDListElement { 2459 [CEReactions] attribute boolean compact; 2460}; 2461 2462partial interface HTMLEmbedElement { 2463 [CEReactions] attribute DOMString align; 2464 [CEReactions] attribute DOMString name; 2465}; 2466 2467[Exposed=Window] 2468interface HTMLFontElement : HTMLElement { 2469 [HTMLConstructor] constructor(); 2470 2471 [CEReactions] attribute [LegacyNullToEmptyString] DOMString color; 2472 [CEReactions] attribute DOMString face; 2473 [CEReactions] attribute DOMString size; 2474}; 2475 2476partial interface HTMLHeadingElement { 2477 [CEReactions] attribute DOMString align; 2478}; 2479 2480partial interface HTMLHRElement { 2481 [CEReactions] attribute DOMString align; 2482 [CEReactions] attribute DOMString color; 2483 [CEReactions] attribute boolean noShade; 2484 [CEReactions] attribute DOMString size; 2485 [CEReactions] attribute DOMString width; 2486}; 2487 2488partial interface HTMLHtmlElement { 2489 [CEReactions] attribute DOMString version; 2490}; 2491 2492partial interface HTMLIFrameElement { 2493 [CEReactions] attribute DOMString align; 2494 [CEReactions] attribute DOMString scrolling; 2495 [CEReactions] attribute DOMString frameBorder; 2496 [CEReactions] attribute USVString longDesc; 2497 2498 [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginHeight; 2499 [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginWidth; 2500}; 2501 2502partial interface HTMLImageElement { 2503 [CEReactions] attribute DOMString name; 2504 [CEReactions] attribute USVString lowsrc; 2505 [CEReactions] attribute DOMString align; 2506 [CEReactions] attribute unsigned long hspace; 2507 [CEReactions] attribute unsigned long vspace; 2508 [CEReactions] attribute USVString longDesc; 2509 2510 [CEReactions] attribute [LegacyNullToEmptyString] DOMString border; 2511}; 2512 2513partial interface HTMLInputElement { 2514 [CEReactions] attribute DOMString align; 2515 [CEReactions] attribute DOMString useMap; 2516}; 2517 2518partial interface HTMLLegendElement { 2519 [CEReactions] attribute DOMString align; 2520}; 2521 2522partial interface HTMLLIElement { 2523 [CEReactions] attribute DOMString type; 2524}; 2525 2526partial interface HTMLLinkElement { 2527 [CEReactions] attribute DOMString charset; 2528 [CEReactions] attribute DOMString rev; 2529 [CEReactions] attribute DOMString target; 2530}; 2531 2532partial interface HTMLMenuElement { 2533 [CEReactions] attribute boolean compact; 2534}; 2535 2536partial interface HTMLMetaElement { 2537 [CEReactions] attribute DOMString scheme; 2538}; 2539 2540partial interface HTMLObjectElement { 2541 [CEReactions] attribute DOMString align; 2542 [CEReactions] attribute DOMString archive; 2543 [CEReactions] attribute DOMString code; 2544 [CEReactions] attribute boolean declare; 2545 [CEReactions] attribute unsigned long hspace; 2546 [CEReactions] attribute DOMString standby; 2547 [CEReactions] attribute unsigned long vspace; 2548 [CEReactions] attribute DOMString codeBase; 2549 [CEReactions] attribute DOMString codeType; 2550 [CEReactions] attribute DOMString useMap; 2551 2552 [CEReactions] attribute [LegacyNullToEmptyString] DOMString border; 2553}; 2554 2555partial interface HTMLOListElement { 2556 [CEReactions] attribute boolean compact; 2557}; 2558 2559partial interface HTMLParagraphElement { 2560 [CEReactions] attribute DOMString align; 2561}; 2562 2563partial interface HTMLParamElement { 2564 [CEReactions] attribute DOMString type; 2565 [CEReactions] attribute DOMString valueType; 2566}; 2567 2568partial interface HTMLPreElement { 2569 [CEReactions] attribute long width; 2570}; 2571 2572partial interface HTMLStyleElement { 2573 [CEReactions] attribute DOMString type; 2574}; 2575 2576partial interface HTMLScriptElement { 2577 [CEReactions] attribute DOMString charset; 2578 [CEReactions] attribute DOMString event; 2579 [CEReactions] attribute DOMString htmlFor; 2580}; 2581 2582partial interface HTMLTableElement { 2583 [CEReactions] attribute DOMString align; 2584 [CEReactions] attribute DOMString border; 2585 [CEReactions] attribute DOMString frame; 2586 [CEReactions] attribute DOMString rules; 2587 [CEReactions] attribute DOMString summary; 2588 [CEReactions] attribute DOMString width; 2589 2590 [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor; 2591 [CEReactions] attribute [LegacyNullToEmptyString] DOMString cellPadding; 2592 [CEReactions] attribute [LegacyNullToEmptyString] DOMString cellSpacing; 2593}; 2594 2595partial interface HTMLTableSectionElement { 2596 [CEReactions] attribute DOMString align; 2597 [CEReactions] attribute DOMString ch; 2598 [CEReactions] attribute DOMString chOff; 2599 [CEReactions] attribute DOMString vAlign; 2600}; 2601 2602partial interface HTMLTableCellElement { 2603 [CEReactions] attribute DOMString align; 2604 [CEReactions] attribute DOMString axis; 2605 [CEReactions] attribute DOMString height; 2606 [CEReactions] attribute DOMString width; 2607 2608 [CEReactions] attribute DOMString ch; 2609 [CEReactions] attribute DOMString chOff; 2610 [CEReactions] attribute boolean noWrap; 2611 [CEReactions] attribute DOMString vAlign; 2612 2613 [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor; 2614}; 2615 2616partial interface HTMLTableRowElement { 2617 [CEReactions] attribute DOMString align; 2618 [CEReactions] attribute DOMString ch; 2619 [CEReactions] attribute DOMString chOff; 2620 [CEReactions] attribute DOMString vAlign; 2621 2622 [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor; 2623}; 2624 2625partial interface HTMLUListElement { 2626 [CEReactions] attribute boolean compact; 2627 [CEReactions] attribute DOMString type; 2628}; 2629 2630partial interface Document { 2631 [CEReactions] attribute [LegacyNullToEmptyString] DOMString fgColor; 2632 [CEReactions] attribute [LegacyNullToEmptyString] DOMString linkColor; 2633 [CEReactions] attribute [LegacyNullToEmptyString] DOMString vlinkColor; 2634 [CEReactions] attribute [LegacyNullToEmptyString] DOMString alinkColor; 2635 [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor; 2636 2637 [SameObject] readonly attribute HTMLCollection anchors; 2638 [SameObject] readonly attribute HTMLCollection applets; 2639 2640 undefined clear(); 2641 undefined captureEvents(); 2642 undefined releaseEvents(); 2643 2644 [SameObject] readonly attribute HTMLAllCollection all; 2645}; 2646 2647partial interface Window { 2648 undefined captureEvents(); 2649 undefined releaseEvents(); 2650 2651 [Replaceable, SameObject] readonly attribute External external; 2652}; 2653 2654[Exposed=Window] 2655interface External { 2656 undefined AddSearchProvider(); 2657 undefined IsSearchProviderInstalled(); 2658}; 2659 2660interface mixin NavigatorPlugins { 2661 [SameObject] readonly attribute PluginArray plugins; 2662 [SameObject] readonly attribute MimeTypeArray mimeTypes; 2663 boolean javaEnabled(); 2664}; 2665 2666[Exposed=Window] 2667interface PluginArray { 2668 undefined refresh(); 2669 readonly attribute unsigned long length; 2670 getter object? item(unsigned long index); 2671 object? namedItem(DOMString name); 2672}; 2673 2674[Exposed=Window] 2675interface MimeTypeArray { 2676 readonly attribute unsigned long length; 2677 getter object? item(unsigned long index); 2678 object? namedItem(DOMString name); 2679}; 2680 2681[Exposed=Window] 2682interface Plugin { 2683 readonly attribute undefined name; 2684 readonly attribute undefined description; 2685 readonly attribute undefined filename; 2686 readonly attribute undefined length; 2687 getter undefined item(unsigned long index); 2688 undefined namedItem(DOMString name); 2689}; 2690 2691[Exposed=Window] 2692interface MimeType { 2693 readonly attribute undefined type; 2694 readonly attribute undefined description; 2695 readonly attribute undefined suffixes; 2696 readonly attribute undefined enabledPlugin; 2697}; 2698