@@ -1,3 +1,5 @@
+#import <CSS/CSSGroupingRule.idl>
+
interface CSSConditionRule : CSSGroupingRule {
attribute CSSOMString conditionText;
};
@@ -1,6 +1,8 @@
+#import <CSS/CSSRule.idl>
+#import <CSS/CSSRuleList.idl>
interface CSSGroupingRule : CSSRule {
[SameObject] readonly attribute CSSRuleList cssRules;
unsigned long insertRule(CSSOMString rule, optional unsigned long index = 0);
undefined deleteRule(unsigned long index);
-
[Exposed=Window]
interface CSSRuleList {
@@ -1,3 +1,6 @@
+#import <CSS/CSSStyleDeclaration.idl>
interface CSSStyleRule : CSSRule {
attribute CSSOMString selectorText;
interface CSSStyleSheet : StyleSheet {
// readonly attribute CSSRule? ownerRule;
@@ -1,5 +1,5 @@
interface MediaList {
- stringifier attribute [LegacyNullToEmptyString] CSSOMString mediaText;
+ [LegacyNullToEmptyString] stringifier attribute CSSOMString mediaText;
readonly attribute unsigned long length;
getter CSSOMString? item(unsigned long index);
undefined appendMedium(CSSOMString medium);
+#import <DOM/EventTarget.idl>
interface MediaQueryList : EventTarget {
readonly attribute CSSOMString media;
@@ -1,3 +1,7 @@
+#import <CSS/CSSStyleSheet.idl>
+#import <CSS/MediaList.idl>
+#import <DOM/Element.idl>
interface StyleSheet {
readonly attribute Element? ownerNode;
interface StyleSheetList {
getter CSSStyleSheet? item(unsigned long index);
+#import <Crypto/SubtleCrypto.idl>
[Exposed=(Window,Worker)]
interface Crypto {
[SecureContext] readonly attribute SubtleCrypto subtle;
+#import <DOM/AbortSignal.idl>
interface AbortController {
constructor();
[Exposed=(Window,Worker), CustomVisit]
interface AbortSignal : EventTarget {
// FIXME: [NewObject] static AbortSignal abort(optional any reason);
+#import <DOM/Node.idl>
interface Attribute : Node {
readonly attribute DOMString? namespaceURI;
interface CharacterData : Node {
[LegacyNullToEmptyString] attribute DOMString data;
+#import <DOM/CharacterData.idl>
interface Comment : CharacterData {
constructor(optional DOMString data = "");
+#import <DOM/Document.idl>
interface DOMImplementation {
// FIXME: This is missing "optional DocumentType? doctype = null" at the end.
@@ -1,3 +1,19 @@
+#import <CSS/StyleSheetList.idl>
+#import <DOM/Comment.idl>
+#import <DOM/DOMImplementation.idl>
+#import <DOM/DocumentFragment.idl>
+#import <DOM/DocumentType.idl>
+#import <DOM/Event.idl>
+#import <DOM/HTMLCollection.idl>
+#import <DOM/NodeList.idl>
+#import <DOM/Range.idl>
+#import <DOM/Text.idl>
+#import <HTML/HTMLElement.idl>
+#import <HTML/HTMLHeadElement.idl>
+#import <HTML/HTMLScriptElement.idl>
interface Document : Node {
@@ -1,3 +1,8 @@
interface DocumentFragment : Node {
interface DocumentType : Node {
readonly attribute DOMString name;
@@ -1,3 +1,11 @@
+#import <DOM/DOMTokenList.idl>
+#import <DOM/NamedNodeMap.idl>
+#import <Geometry/DOMRect.idl>
+#import <Geometry/DOMRectList.idl>
interface Element : Node {
readonly attribute DOMString? prefix;
interface Event {
constructor(DOMString type, optional EventInit eventInitDict = {});
[Exposed=Window, LegacyUnenumerableNamedProperties]
interface HTMLCollection {
+#import <DOM/Attribute.idl>
interface NamedNodeMap {
interface Node : EventTarget {
readonly attribute unsigned short nodeType;
interface NodeList {
getter Node? item(unsigned long index);
interface ProcessingInstruction : CharacterData {
readonly attribute DOMString target;
interface Range {
interface ShadowRoot : DocumentFragment {
readonly attribute DOMString mode;
interface Text : CharacterData {
+#import <Geometry/DOMRectReadOnly.idl>
interface DOMRect : DOMRectReadOnly {
constructor(optional double x = 0, optional double y = 0, optional double width = 0, optional double height = 0);
interface DOMRectList {
getter DOMRect? item(unsigned long index);
@@ -1,3 +1,9 @@
+#import <HTML/HTMLCanvasElement.idl>
+#import <HTML/HTMLImageElement.idl>
+#import <HTML/ImageData.idl>
+#import <HTML/TextMetrics.idl>
+#import <HTML/CanvasGradient.idl>
interface CanvasRenderingContext2D {
undefined fillRect(double x, double y, double w, double h);
interface DOMParser {
interface HTMLAnchorElement : HTMLElement {
[Reflect] attribute DOMString target;
interface HTMLAreaElement : HTMLElement {
[Reflect=nohref] attribute boolean noHref;
+#import <HTML/HTMLMediaElement.idl>
interface HTMLAudioElement : HTMLMediaElement {
interface HTMLBRElement : HTMLElement {
[Reflect] attribute DOMString clear;
interface HTMLBaseElement : HTMLElement {
interface HTMLBodyElement : HTMLElement {
[LegacyNullToEmptyString, Reflect] attribute DOMString text;
interface HTMLButtonElement : HTMLElement {
[Reflect=formnovalidate] attribute boolean formNoValidate;
+#import <HTML/CanvasRenderingContext2D.idl>
interface HTMLCanvasElement : HTMLElement {
CanvasRenderingContext2D? getContext(DOMString contextId);
interface HTMLDListElement : HTMLElement {
[Reflect] attribute boolean compact;
interface HTMLDataElement : HTMLElement {
[Reflect] attribute DOMString value;
interface HTMLDataListElement : HTMLElement {
interface HTMLDetailsElement : HTMLElement {
[Reflect] attribute boolean open;
interface HTMLDialogElement : HTMLElement {
interface HTMLDirectoryElement : HTMLElement {
interface HTMLDivElement : HTMLElement {
[Reflect] attribute DOMString align;
+#import <HTML/DOMStringMap.idl>
interface HTMLElement : Element {
[Reflect] attribute DOMString title;
interface HTMLEmbedElement : HTMLElement {
[Reflect] attribute DOMString src;
interface HTMLFieldSetElement : HTMLElement {
readonly attribute DOMString type;
interface HTMLFontElement : HTMLElement {
[LegacyNullToEmptyString, Reflect] attribute DOMString color;
interface HTMLFormElement : HTMLElement {
[Reflect] attribute DOMString name;
interface HTMLFrameElement : HTMLElement {
interface HTMLFrameSetElement : HTMLElement {
[Reflect] attribute DOMString cols;
interface HTMLHRElement : HTMLElement {
interface HTMLHeadElement : HTMLElement {
interface HTMLHeadingElement : HTMLElement {
interface HTMLHtmlElement : HTMLElement {
[Reflect] attribute DOMString version;
interface HTMLIFrameElement : HTMLElement {
interface HTMLImageElement : HTMLElement {
+#import <HTML/HTMLFormElement.idl>
interface HTMLInputElement : HTMLElement {
readonly attribute HTMLFormElement? form;
interface HTMLLIElement : HTMLElement {
[Reflect] attribute DOMString type;
interface HTMLLabelElement : HTMLElement {
[Reflect=for] attribute DOMString htmlFor;
interface HTMLLegendElement : HTMLElement {
interface HTMLLinkElement : HTMLElement {
[Reflect] attribute DOMString href;
interface HTMLMapElement : HTMLElement {
interface HTMLMarqueeElement : HTMLElement {
[Reflect] attribute DOMString behavior;
interface HTMLMediaElement : HTMLElement {
interface HTMLMenuElement : HTMLElement {
interface HTMLMetaElement : HTMLElement {
interface HTMLMeterElement : HTMLElement {
interface HTMLModElement : HTMLElement {
[Reflect] attribute DOMString cite;
interface HTMLOListElement : HTMLElement {
[Reflect] attribute boolean reversed;
interface HTMLObjectElement : HTMLElement {
[Reflect] attribute DOMString data;
interface HTMLOptGroupElement : HTMLElement {
[Reflect] attribute boolean disabled;
interface HTMLOptionElement : HTMLElement {
interface HTMLOutputElement : HTMLElement {
interface HTMLParagraphElement : HTMLElement {
interface HTMLParamElement : HTMLElement {
interface HTMLPictureElement : HTMLElement {
interface HTMLPreElement : HTMLElement {
interface HTMLProgressElement : HTMLElement {
interface HTMLQuoteElement : HTMLElement {
interface HTMLScriptElement : HTMLElement {
interface HTMLSelectElement : HTMLElement {
interface HTMLSlotElement : HTMLElement {
interface HTMLSourceElement : HTMLElement {
interface HTMLSpanElement : HTMLElement {
interface HTMLStyleElement : HTMLElement {
[Reflect] attribute DOMString media;
interface HTMLTableCaptionElement : HTMLElement {
interface HTMLTableCellElement : HTMLElement {
[Reflect] attribute DOMString headers;
interface HTMLTableColElement : HTMLElement {
+#import <HTML/HTMLTableCaptionElement.idl>
+#import <HTML/HTMLTableRowElement.idl>
+#import <HTML/HTMLTableSectionElement.idl>
interface HTMLTableElement : HTMLElement {
attribute HTMLTableCaptionElement? caption;
interface HTMLTableRowElement : HTMLElement {
interface HTMLTableSectionElement : HTMLElement {
interface HTMLTemplateElement : HTMLElement {
readonly attribute DocumentFragment content;
interface HTMLTextAreaElement : HTMLElement {
[Reflect] attribute DOMString placeholder;
interface HTMLTimeElement : HTMLElement {
[Reflect=datetime] attribute DOMString dateTime;
interface HTMLTitleElement : HTMLElement {