mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-28 18:47:15 +02:00
Generate correct bindings for callback interfaces: only create an interface object when the interface declares constants, and set up the prototype correctly. This also lets us tidy up some IDL for these callback interfaces.
184 lines
7.7 KiB
Plaintext
184 lines
7.7 KiB
Plaintext
#import <Animations/DocumentTimeline.idl>
|
|
#import <CSS/FontFaceSet.idl>
|
|
#import <CSS/StyleSheetList.idl>
|
|
#import <DOM/CDATASection.idl>
|
|
#import <DOM/Comment.idl>
|
|
#import <DOM/DOMImplementation.idl>
|
|
#import <DOM/DocumentFragment.idl>
|
|
#import <DOM/DocumentOrShadowRoot.idl>
|
|
#import <DOM/DocumentType.idl>
|
|
#import <DOM/Element.idl>
|
|
#import <DOM/Event.idl>
|
|
#import <DOM/EventHandler.idl>
|
|
#import <DOM/HTMLCollection.idl>
|
|
#import <DOM/Node.idl>
|
|
#import <DOM/NodeFilter.idl>
|
|
#import <DOM/NodeIterator.idl>
|
|
#import <DOM/NodeList.idl>
|
|
#import <DOM/ParentNode.idl>
|
|
#import <DOM/ProcessingInstruction.idl>
|
|
#import <DOM/Range.idl>
|
|
#import <DOM/Text.idl>
|
|
#import <DOM/TreeWalker.idl>
|
|
#import <Fullscreen/DocumentExtensions.idl>
|
|
#import <HTML/HTMLAllCollection.idl>
|
|
#import <HTML/HTMLElement.idl>
|
|
#import <HTML/HTMLHeadElement.idl>
|
|
#import <HTML/HTMLScriptElement.idl>
|
|
#import <HTML/Location.idl>
|
|
#import <Selection/Selection.idl>
|
|
#import <TrustedTypes/TrustedHTML.idl>
|
|
#import <ViewTransition/ViewTransition.idl>
|
|
#import <XPath/XPathResult.idl>
|
|
#import <XPath/XPathExpression.idl>
|
|
#import <XPath/XPathNSResolver.idl>
|
|
|
|
// https://dom.spec.whatwg.org/#document
|
|
// https://html.spec.whatwg.org/multipage/dom.html#the-document-object
|
|
[Exposed=Window, LegacyOverrideBuiltins]
|
|
interface Document : Node {
|
|
constructor();
|
|
|
|
[ImplementedAs=has_focus_for_bindings] 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 WindowProxy? defaultView;
|
|
|
|
[CEReactions] Document open(optional DOMString unused1, optional DOMString unused2);
|
|
WindowProxy? open(USVString url, DOMString name, DOMString features);
|
|
[CEReactions] undefined close();
|
|
[CEReactions] undefined write((TrustedHTML or Utf16DOMString)... text);
|
|
[CEReactions] undefined writeln((TrustedHTML or Utf16DOMString)... text);
|
|
|
|
static Document parseHTMLUnsafe((TrustedHTML or Utf16DOMString) html);
|
|
|
|
attribute DOMString cookie;
|
|
|
|
// https://html.spec.whatwg.org/multipage/obsolete.html#Document-partial
|
|
[CEReactions, LegacyNullToEmptyString] attribute DOMString fgColor;
|
|
[CEReactions, LegacyNullToEmptyString] attribute DOMString linkColor;
|
|
[CEReactions, LegacyNullToEmptyString] attribute DOMString vlinkColor;
|
|
[CEReactions, LegacyNullToEmptyString] attribute DOMString alinkColor;
|
|
[CEReactions, LegacyNullToEmptyString] attribute DOMString bgColor;
|
|
|
|
readonly attribute USVString referrer;
|
|
|
|
|
|
Element? getElementById(DOMString id);
|
|
NodeList getElementsByName([FlyString] DOMString name);
|
|
HTMLCollection getElementsByTagName([FlyString] DOMString tagName);
|
|
HTMLCollection getElementsByTagNameNS([FlyString] DOMString? namespace, [FlyString] 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;
|
|
|
|
readonly attribute HTMLAllCollection all;
|
|
|
|
undefined clear();
|
|
undefined captureEvents();
|
|
undefined releaseEvents();
|
|
|
|
[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(Utf16DOMString data);
|
|
[NewObject] CDATASection createCDATASection(Utf16DOMString data);
|
|
Comment createComment(Utf16DOMString data);
|
|
[NewObject] ProcessingInstruction createProcessingInstruction(DOMString target, Utf16DOMString 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 DOMString dir;
|
|
[CEReactions] attribute HTMLElement? body;
|
|
readonly attribute HTMLHeadElement? head;
|
|
readonly attribute HTMLScriptElement? currentScript;
|
|
|
|
readonly attribute DOMString lastModified;
|
|
readonly attribute DOMString readyState;
|
|
|
|
[CEReactions] attribute Utf16DOMString 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<Element> elementsFromPoint(double x, double y);
|
|
readonly attribute Element? scrollingElement;
|
|
|
|
// https://w3c.github.io/editing/docs/execCommand/
|
|
// FIXME: [CEReactions] boolean execCommand(DOMString commandId, optional boolean showUI = false, optional (TrustedHTML or DOMString) value = "");
|
|
[CEReactions] boolean execCommand(DOMString commandId, optional boolean showUI = false, optional Utf16DOMString value = "");
|
|
boolean queryCommandEnabled(DOMString commandId);
|
|
boolean queryCommandIndeterm(DOMString commandId);
|
|
boolean queryCommandState(DOMString commandId);
|
|
boolean queryCommandSupported(DOMString commandId);
|
|
DOMString queryCommandValue(DOMString commandId);
|
|
|
|
// XPath
|
|
[NewObject] XPathExpression createExpression(DOMString expression, optional XPathNSResolver? resolver = null);
|
|
XPathResult evaluate(DOMString expression, Node contextNode, optional XPathNSResolver? resolver = null, optional unsigned short type = 0, optional XPathResult? result = null);
|
|
Node createNSResolver(Node nodeResolver); // legacy
|
|
|
|
// special event handler IDL attributes that only apply to Document objects
|
|
[LegacyLenientThis] attribute EventHandler onreadystatechange;
|
|
attribute EventHandler onvisibilitychange;
|
|
|
|
// https://drafts.csswg.org/css-view-transitions-1/#additions-to-document-api
|
|
ViewTransition startViewTransition(optional ViewTransitionUpdateCallback updateCallback);
|
|
|
|
// https://www.w3.org/TR/SVG2/struct.html#InterfaceDocumentExtensions
|
|
readonly attribute SVGSVGElement? rootElement;
|
|
|
|
// https://w3c.github.io/pointerlock/#extensions-to-the-document-interface
|
|
undefined exitPointerLock();
|
|
};
|
|
|
|
dictionary ElementCreationOptions {
|
|
DOMString is;
|
|
};
|
|
Document includes ParentNode;
|
|
Document includes GlobalEventHandlers;
|
|
Document includes DocumentOrShadowRoot;
|
|
Document includes FontFaceSource;
|