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