#import #import #import #import #import #import #import #import #import #import #import #import #import #import #import #import #import #import #import #import #import #import #import #import #import #import // https://dom.spec.whatwg.org/#document // https://html.spec.whatwg.org/multipage/dom.html#the-document-object [Exposed=Window, LegacyOverrideBuiltins] interface Document : Node { constructor(); boolean hasFocus(); [PutForwards=href, LegacyUnforgeable] readonly attribute Location? location; attribute USVString domain; readonly attribute DOMImplementation implementation; [ImplementedAs=url_string] readonly attribute USVString URL; readonly attribute USVString documentURI; readonly attribute DOMString characterSet; readonly attribute DOMString charset; readonly attribute DOMString inputEncoding; readonly attribute DOMString contentType; readonly attribute Window? defaultView; [CEReactions] Document open(optional DOMString unused1, optional DOMString unused2); WindowProxy? open(USVString url, DOMString name, DOMString features); [CEReactions] undefined close(); [CEReactions] undefined write(DOMString... text); [CEReactions] undefined writeln(DOMString... text); attribute DOMString cookie; readonly attribute USVString referrer; readonly attribute Element? activeElement; Element? getElementById(DOMString id); HTMLCollection getElementsByName([FlyString] DOMString name); HTMLCollection getElementsByTagName(DOMString tagName); HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName); HTMLCollection getElementsByClassName(DOMString className); [SameObject] readonly attribute HTMLCollection applets; [SameObject] readonly attribute HTMLCollection anchors; [SameObject] readonly attribute HTMLCollection images; [SameObject] readonly attribute HTMLCollection embeds; [SameObject] readonly attribute HTMLCollection plugins; [SameObject] readonly attribute HTMLCollection links; [SameObject] readonly attribute HTMLCollection forms; [SameObject] readonly attribute HTMLCollection scripts; // FIXME: Should return an HTMLAllCollection readonly attribute HTMLCollection all; [CEReactions, NewObject] Element createElement(DOMString tagName, optional (DOMString or ElementCreationOptions) options = {}); [CEReactions, NewObject] Element createElementNS([FlyString] DOMString? namespace, DOMString qualifiedName, optional (DOMString or ElementCreationOptions) options = {}); DocumentFragment createDocumentFragment(); Text createTextNode(DOMString data); [NewObject] CDATASection createCDATASection(DOMString data); Comment createComment(DOMString data); [NewObject] ProcessingInstruction createProcessingInstruction(DOMString target, DOMString data); [NewObject] Attr createAttribute(DOMString localName); [NewObject] Attr createAttributeNS([FlyString] DOMString? namespace, DOMString qualifiedName); Range createRange(); Event createEvent(DOMString interface); [CEReactions, NewObject] Node importNode(Node node, optional boolean deep = false); [CEReactions, ImplementedAs=adopt_node_binding] Node adoptNode(Node node); readonly attribute DOMString compatMode; readonly attribute DocumentType? doctype; readonly attribute Element? documentElement; [CEReactions] attribute HTMLElement? body; readonly attribute HTMLHeadElement? head; readonly attribute HTMLScriptElement? currentScript; readonly attribute DOMString readyState; [CEReactions] attribute DOMString title; readonly attribute boolean hidden; readonly attribute DOMString visibilityState; [NewObject] NodeIterator createNodeIterator(Node root, optional unsigned long whatToShow = 0xFFFFFFFF, optional NodeFilter? filter = null); [NewObject] TreeWalker createTreeWalker(Node root, optional unsigned long whatToShow = 0xFFFFFFFF, optional NodeFilter? filter = null); Selection? getSelection(); [CEReactions] attribute DOMString designMode; // https://www.w3.org/TR/web-animations-1/#extensions-to-the-document-interface readonly attribute DocumentTimeline timeline; // https://drafts.csswg.org/cssom-view/#extensions-to-the-document-interface Element? elementFromPoint(double x, double y); sequence elementsFromPoint(double x, double y); readonly attribute Element? scrollingElement; // https://w3c.github.io/editing/docs/execCommand/ [CEReactions] boolean execCommand(DOMString commandId, optional boolean showUI = false, optional DOMString value = ""); boolean queryCommandEnabled(DOMString commandId); boolean queryCommandIndeterm(DOMString commandId); boolean queryCommandState(DOMString commandId); boolean queryCommandSupported(DOMString commandId); DOMString queryCommandValue(DOMString commandId); }; dictionary ElementCreationOptions { DOMString is; }; Document includes ParentNode; Document includes GlobalEventHandlers; Document includes DocumentOrShadowRoot;