LibWeb: Use 'FIXME' extended attribute where possible

This improves the debuggability of many live web pages :^)
This commit is contained in:
Shannon Booth 2024-05-19 22:15:54 +12:00 committed by Andreas Kling
parent 7c69b4737b
commit 4fe0cbcf85
Notes: sideshowbarker 2024-07-17 18:06:52 +09:00
55 changed files with 184 additions and 187 deletions

View file

@ -31,7 +31,7 @@ interface Animation : EventTarget {
undefined updatePlaybackRate(double playbackRate);
undefined reverse();
undefined persist();
// FIXME: [CEReactions] undefined commitStyles();
[FIXME, CEReactions] undefined commitStyles();
};
// https://www.w3.org/TR/web-animations-1/#the-animationplaystate-enumeration

View file

@ -8,6 +8,6 @@ interface CSSImportRule : CSSRule {
readonly attribute USVString href;
// FIXME: [SameObject, PutForwards=mediaText] readonly attribute MediaList media;
[SameObject, ImplementedAs=style_sheet_for_bindings] readonly attribute CSSStyleSheet styleSheet;
// FIXME: readonly attribute CSSOMString? layerName;
// FIXME: readonly attribute CSSOMString? supportsText;
[FIXME] readonly attribute CSSOMString? layerName;
[FIXME] readonly attribute CSSOMString? supportsText;
};

View file

@ -5,11 +5,11 @@
[Exposed=Window]
interface CSSKeyframesRule : CSSRule {
attribute CSSOMString name;
// FIXME: readonly attribute CSSRuleList cssRules;
[FIXME] readonly attribute CSSRuleList cssRules;
readonly attribute unsigned long length;
getter CSSKeyframeRule (unsigned long index);
// FIXME: undefined appendRule(CSSOMString rule);
// FIXME: undefined deleteRule(CSSOMString select);
// FIXME: CSSKeyframeRule? findRule(CSSOMString select);
[FIXME] undefined appendRule(CSSOMString rule);
[FIXME] undefined deleteRule(CSSOMString select);
[FIXME] CSSKeyframeRule? findRule(CSSOMString select);
};

View file

@ -13,7 +13,7 @@ interface CSSStyleDeclaration {
[CEReactions] undefined setProperty(CSSOMString property, [LegacyNullToEmptyString] CSSOMString value, optional [LegacyNullToEmptyString] CSSOMString priority = "");
[CEReactions] CSSOMString removeProperty(CSSOMString property);
// FIXME: readonly attribute CSSRule? parentRule;
[FIXME] readonly attribute CSSRule? parentRule;
// FIXME: [CEReactions] attribute [LegacyNullToEmptyString] CSSOMString cssFloat;
};

View file

@ -20,8 +20,8 @@ interface FontFaceSet : EventTarget {
// FIXME: setlike<FontFace>;
FontFaceSet add(FontFace font);
// FIXME: boolean delete(FontFace font);
// FIXME: clear();
[FIXME] boolean delete(FontFace font);
[FIXME] undefined clear();
// events for when loading state changes
// FIXME: attribute EventHandler onloading;

View file

@ -5,8 +5,8 @@
// https://w3c.github.io/clipboard-apis/#clipboard
[SecureContext, Exposed=Window]
interface Clipboard : EventTarget {
// FIXME: Promise<ClipboardItems> read();
// FIXME: Promise<DOMString> readText();
// FIXME: Promise<undefined> write(ClipboardItems data);
[FIXME] Promise<ClipboardItems> read();
[FIXME] Promise<DOMString> readText();
[FIXME] Promise<undefined> write(ClipboardItems data);
Promise<undefined> writeText(DOMString data);
};

View file

@ -59,6 +59,6 @@ interface SubtleCrypto {
Promise<CryptoKey> importKey(KeyFormat format, (BufferSource or JsonWebKey) keyData, AlgorithmIdentifier algorithm, boolean extractable, sequence<KeyUsage> keyUsages);
Promise<any> exportKey(KeyFormat format, CryptoKey key);
// FIXME: Promise<any> wrapKey(KeyFormat format, CryptoKey key, CryptoKey wrappingKey, AlgorithmIdentifier wrapAlgorithm);
// FIXME: Promise<CryptoKey> unwrapKey(KeyFormat format, BufferSource wrappedKey, CryptoKey unwrappingKey, AlgorithmIdentifier unwrapAlgorithm, AlgorithmIdentifier unwrappedKeyAlgorithm, boolean extractable, sequence<KeyUsage> keyUsages);
[FIXME] Promise<any> wrapKey(KeyFormat format, CryptoKey key, CryptoKey wrappingKey, AlgorithmIdentifier wrapAlgorithm);
[FIXME] Promise<CryptoKey> unwrapKey(KeyFormat format, BufferSource wrappedKey, CryptoKey unwrappingKey, AlgorithmIdentifier unwrapAlgorithm, AlgorithmIdentifier unwrappedKeyAlgorithm, boolean extractable, sequence<KeyUsage> keyUsages);
};

View file

@ -75,7 +75,7 @@ interface Element : Node {
DOMRectList getClientRects();
DOMRect getBoundingClientRect();
// FIXME: boolean checkVisibility(optional CheckVisibilityOptions options = {});
[FIXME] boolean checkVisibility(optional CheckVisibilityOptions options = {});
undefined scrollIntoView(optional (boolean or ScrollIntoViewOptions) arg = {});
undefined scroll(optional ScrollToOptions options = {});

View file

@ -18,8 +18,8 @@ interface mixin CanvasDrawPath {
// FIXME: `DOMString` should be `CanvasFillRule`
undefined clip(Path2D path, optional DOMString fillRule = "nonzero");
// FIXME: boolean isPointInPath(unrestricted double x, unrestricted double y, optional CanvasFillRule fillRule = "nonzero");
// FIXME: boolean isPointInPath(Path2D path, unrestricted double x, unrestricted double y, optional CanvasFillRule fillRule = "nonzero");
// FIXME: boolean isPointInStroke(unrestricted double x, unrestricted double y);
// FIXME: boolean isPointInStroke(Path2D path, unrestricted double x, unrestricted double y);
[FIXME] boolean isPointInPath(unrestricted double x, unrestricted double y, optional CanvasFillRule fillRule = "nonzero");
[FIXME] boolean isPointInPath(Path2D path, unrestricted double x, unrestricted double y, optional CanvasFillRule fillRule = "nonzero");
[FIXME] boolean isPointInStroke(unrestricted double x, unrestricted double y);
[FIXME] boolean isPointInStroke(Path2D path, unrestricted double x, unrestricted double y);
};

View file

@ -3,10 +3,10 @@
// https://html.spec.whatwg.org/multipage/canvas.html#canvasimagedata
interface mixin CanvasImageData {
ImageData createImageData([EnforceRange] long sw, [EnforceRange] long sh, optional ImageDataSettings settings = {});
// FIXME: ImageData createImageData(ImageData imagedata);
[FIXME] ImageData createImageData(ImageData imagedata);
ImageData getImageData([EnforceRange] long sx, [EnforceRange] long sy, [EnforceRange] long sw, [EnforceRange] long sh, optional ImageDataSettings settings = {});
undefined putImageData(ImageData imagedata, [EnforceRange] long dx, [EnforceRange] long dy);
// FIXME: undefined putImageData(ImageData imagedata, [EnforceRange] long dx, [EnforceRange] long dy, [EnforceRange] long dirtyX, [EnforceRange] long dirtyY, [EnforceRange] long dirtyWidth, [EnforceRange] long dirtyHeight);
[FIXME] undefined putImageData(ImageData imagedata, [EnforceRange] long dx, [EnforceRange] long dy, [EnforceRange] long dirtyX, [EnforceRange] long dirtyY, [EnforceRange] long dirtyWidth, [EnforceRange] long dirtyHeight);
};

View file

@ -9,7 +9,7 @@ interface mixin CanvasPathDrawingStyles {
// FIXME: attribute CanvasLineJoin lineJoin;
// FIXME: attribute unrestricted double miterLimit;
// FIXME: undefined setLineDash(sequence<unrestricted double> segments);
// FIXME: sequence<unrestricted double> getLineDash();
[FIXME] undefined setLineDash(sequence<unrestricted double> segments);
[FIXME] sequence<unrestricted double> getLineDash();
// FIXME: attribute unrestricted double lineDashOffset;
};

View file

@ -6,14 +6,14 @@ interface DataTransfer {
// FIXME: attribute DOMString dropEffect;
// FIXME: attribute DOMString effectAllowed;
// FIXME: [SameObject] readonly attribute DataTransferItemList items;
[FIXME, SameObject] readonly attribute DataTransferItemList items;
// FIXME: undefined setDragImage(Element image, long x, long y);
[FIXME] undefined setDragImage(Element image, long x, long y);
// old interface
// FIXME: readonly attribute FrozenArray<DOMString> types;
// FIXME: DOMString getData(DOMString format);
// FIXME: undefined setData(DOMString format, DOMString data);
// FIXME: undefined clearData(optional DOMString format);
// FIXME: [SameObject] readonly attribute FileList files;
[FIXME] readonly attribute FrozenArray<DOMString> types;
[FIXME] DOMString getData(DOMString format);
[FIXME] undefined setData(DOMString format, DOMString data);
[FIXME] undefined clearData(optional DOMString format);
[FIXME, SameObject] readonly attribute FileList files;
};

View file

@ -24,12 +24,12 @@ interface HTMLButtonElement : HTMLElement {
[CEReactions, Reflect, Enumerated=ButtonTypeState] attribute DOMString type;
[CEReactions, Reflect] attribute DOMString value;
// FIXME: readonly attribute boolean willValidate;
// FIXME: readonly attribute ValidityState validity;
// FIXME: readonly attribute DOMString validationMessage;
// FIXME: boolean checkValidity();
// FIXME: boolean reportValidity();
// FIXME: undefined setCustomValidity(DOMString error);
[FIXME] readonly attribute boolean willValidate;
[FIXME] readonly attribute ValidityState validity;
[FIXME] readonly attribute DOMString validationMessage;
[FIXME] boolean checkValidity();
[FIXME] boolean reportValidity();
[FIXME] undefined setCustomValidity(DOMString error);
readonly attribute NodeList labels;
};

View file

@ -31,9 +31,9 @@ interface HTMLElement : Element {
// FIXME: ElementInternals attachInternals();
// The popover API
// FIXME: undefined showPopover();
// FIXME: undefined hidePopover();
// FIXME: boolean togglePopover(optional boolean force);
[FIXME] undefined showPopover();
[FIXME] undefined hidePopover();
[FIXME] boolean togglePopover(optional boolean force);
// FIXME: [CEReactions] attribute DOMString? popover;
// https://drafts.csswg.org/cssom-view/#extensions-to-the-htmlelement-interface

View file

@ -10,7 +10,7 @@ interface HTMLEmbedElement : HTMLElement {
[CEReactions, Reflect] attribute DOMString type;
[CEReactions, Reflect] attribute DOMString width;
[CEReactions, Reflect] attribute DOMString height;
// FIXME: Document? getSVGDocument();
[FIXME] Document? getSVGDocument();
// Obsolete
[CEReactions, Reflect] attribute DOMString align;

View file

@ -14,10 +14,10 @@ interface HTMLFieldSetElement : HTMLElement {
[SameObject] readonly attribute HTMLCollection elements;
// FIXME: readonly attribute boolean willValidate;
// FIXME: [SameObject] readonly attribute ValidityState validity;
// FIXME: readonly attribute DOMString validationMessage;
// FIXME: boolean checkValidity();
// FIXME: boolean reportValidity();
// FIXME: undefined setCustomValidity(DOMString error);
[FIXME] readonly attribute boolean willValidate;
[FIXME, SameObject] readonly attribute ValidityState validity;
[FIXME] readonly attribute DOMString validationMessage;
[FIXME] boolean checkValidity();
[FIXME] boolean reportValidity();
[FIXME] undefined setCustomValidity(DOMString error);
};

View file

@ -12,8 +12,8 @@ interface HTMLFrameElement : HTMLElement {
[CEReactions, Reflect=frameborder] attribute DOMString frameBorder;
[CEReactions, Reflect=longdesc] attribute DOMString longDesc;
// FIXME: [CEReactions] attribute boolean noResize;
// FIXME: readonly attribute Document? contentDocument;
// FIXME: readonly attribute WindowProxy? contentWindow;
[FIXME] readonly attribute Document? contentDocument;
[FIXME] readonly attribute WindowProxy? contentWindow;
// FIXME: [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginHeight;
// FIXME: [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginWidth;

View file

@ -18,13 +18,13 @@ interface HTMLImageElement : HTMLElement {
readonly attribute unsigned long naturalWidth;
readonly attribute unsigned long naturalHeight;
readonly attribute boolean complete;
// FIXME: readonly attribute USVString currentSrc;
[FIXME] readonly attribute USVString currentSrc;
// FIXME: [CEReactions] attribute DOMString referrerPolicy;
// FIXME: [CEReactions] attribute DOMString decoding;
// FIXME: [CEReactions] attribute DOMString loading;
// FIXME: [CEReactions] attribute DOMString fetchPriority;
// FIXME: Promise<undefined> decode();
[FIXME] Promise<undefined> decode();
// Obsolete
[CEReactions, Reflect] attribute DOMString name;

View file

@ -23,7 +23,7 @@ interface HTMLInputElement : HTMLElement {
[CEReactions, Reflect=formtarget] attribute DOMString formTarget;
// FIXME: [CEReactions] attribute unsigned long height;
attribute boolean indeterminate;
// FIXME: readonly attribute HTMLDataListElement? list;
[FIXME] readonly attribute HTMLDataListElement? list;
[CEReactions, Reflect] attribute DOMString max;
[CEReactions] attribute long maxLength;
[CEReactions, Reflect] attribute DOMString min;
@ -47,9 +47,9 @@ interface HTMLInputElement : HTMLElement {
undefined stepUp(optional long n = 1);
undefined stepDown(optional long n = 1);
// FIXME: readonly attribute boolean willValidate;
// FIXME: readonly attribute ValidityState validity;
// FIXME: readonly attribute DOMString validationMessage;
[FIXME] readonly attribute boolean willValidate;
[FIXME] readonly attribute ValidityState validity;
[FIXME] readonly attribute DOMString validationMessage;
boolean checkValidity();
boolean reportValidity();
undefined setCustomValidity(DOMString error);
@ -60,8 +60,8 @@ interface HTMLInputElement : HTMLElement {
// FIXME: attribute unsigned long? selectionStart;
// FIXME: attribute unsigned long? selectionEnd;
// FIXME: attribute DOMString? selectionDirection;
// FIXME: undefined setRangeText(DOMString replacement);
// FIXME: undefined setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve");
[FIXME] undefined setRangeText(DOMString replacement);
[FIXME] undefined setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve");
undefined setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
undefined showPicker();

View file

@ -18,7 +18,6 @@ interface HTMLMarqueeElement : HTMLElement {
// FIXME: [CEReactions] attribute unsigned long vspace;
[CEReactions, Reflect] attribute DOMString width;
// FIXME: undefined start();
// FIXME: undefined stop();
[FIXME] undefined start();
[FIXME] undefined stop();
};

View file

@ -51,8 +51,8 @@ interface HTMLMediaElement : HTMLElement {
// FIXME: attribute double defaultPlaybackRate;
// FIXME: attribute double playbackRate;
// FIXME: attribute boolean preservesPitch;
// FIXME: readonly attribute TimeRanges played;
// FIXME: readonly attribute TimeRanges seekable;
[FIXME] readonly attribute TimeRanges played;
[FIXME] readonly attribute TimeRanges seekable;
readonly attribute boolean ended;
[Reflect, CEReactions] attribute boolean autoplay;
[Reflect, CEReactions] attribute boolean loop;
@ -68,7 +68,7 @@ interface HTMLMediaElement : HTMLElement {
// tracks
[SameObject] readonly attribute AudioTrackList audioTracks;
[SameObject] readonly attribute VideoTrackList videoTracks;
// FIXME: [SameObject] readonly attribute TextTrackList textTracks;
// FIXME: TextTrack addTextTrack(TextTrackKind kind, optional DOMString label = "", optional DOMString language = "");
[FIXME, SameObject] readonly attribute TextTrackList textTracks;
[FIXME] TextTrack addTextTrack(TextTrackKind kind, optional DOMString label = "", optional DOMString language = "");
};

View file

@ -17,12 +17,12 @@ interface HTMLObjectElement : HTMLElement {
readonly attribute WindowProxy? contentWindow;
Document? getSVGDocument();
// FIXME: readonly attribute boolean willValidate;
// FIXME: readonly attribute ValidityState validity;
// FIXME: readonly attribute DOMString validationMessage;
// FIXME: boolean checkValidity();
// FIXME: boolean reportValidity();
// FIXME: undefined setCustomValidity(DOMString error);
[FIXME] readonly attribute boolean willValidate;
[FIXME] readonly attribute ValidityState validity;
[FIXME] readonly attribute DOMString validationMessage;
[FIXME] boolean checkValidity();
[FIXME] boolean reportValidity();
[FIXME] undefined setCustomValidity(DOMString error);
// Obsolete
[CEReactions, Reflect] attribute DOMString align;

View file

@ -14,12 +14,12 @@ interface HTMLOutputElement : HTMLElement {
[CEReactions] attribute DOMString defaultValue;
[CEReactions] attribute DOMString value;
// FIXME: readonly attribute boolean willValidate;
// FIXME: readonly attribute ValidityState validity;
// FIXME: readonly attribute DOMString validationMessage;
// FIXME: boolean checkValidity();
// FIXME: boolean reportValidity();
// FIXME: undefined setCustomValidity(DOMString error);
[FIXME] readonly attribute boolean willValidate;
[FIXME] readonly attribute ValidityState validity;
[FIXME] readonly attribute DOMString validationMessage;
[FIXME] boolean checkValidity();
[FIXME] boolean reportValidity();
[FIXME] undefined setCustomValidity(DOMString error);
readonly attribute NodeList labels;
};

View file

@ -24,18 +24,18 @@ interface HTMLSelectElement : HTMLElement {
[CEReactions] undefined add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null);
[CEReactions] undefined remove(); // ChildNode overload
[CEReactions] undefined remove(long index);
// FIXME: [CEReactions] setter undefined (unsigned long index, HTMLOptionElement? option);
[FIXME, CEReactions] setter undefined (unsigned long index, HTMLOptionElement? option);
[SameObject] readonly attribute HTMLCollection selectedOptions;
attribute long selectedIndex;
attribute DOMString value;
// FIXME: readonly attribute boolean willValidate;
// FIXME: readonly attribute ValidityState validity;
// FIXME: readonly attribute DOMString validationMessage;
// FIXME: boolean checkValidity();
// FIXME: boolean reportValidity();
// FIXME: undefined setCustomValidity(DOMString error);
[FIXME] readonly attribute boolean willValidate;
[FIXME] readonly attribute ValidityState validity;
[FIXME] readonly attribute DOMString validationMessage;
[FIXME] boolean checkValidity();
[FIXME] boolean reportValidity();
[FIXME] undefined setCustomValidity(DOMString error);
readonly attribute NodeList labels;
};

View file

@ -9,7 +9,7 @@ interface HTMLTableCellElement : HTMLElement {
[CEReactions] attribute unsigned long colSpan;
[CEReactions] attribute unsigned long rowSpan;
[CEReactions, Reflect] attribute DOMString headers;
// FIXME: readonly attribute long cellIndex;
[FIXME] readonly attribute long cellIndex;
// FIXME: [CEReactions] attribute DOMString scope; // only conforming for th elements
[CEReactions, Reflect] attribute DOMString abbr; // only conforming for th elements

View file

@ -25,9 +25,9 @@ interface HTMLTextAreaElement : HTMLElement {
[LegacyNullToEmptyString] attribute DOMString value;
readonly attribute unsigned long textLength;
// FIXME: readonly attribute boolean willValidate;
// FIXME: readonly attribute ValidityState validity;
// FIXME: readonly attribute DOMString validationMessage;
[FIXME] readonly attribute boolean willValidate;
[FIXME] readonly attribute ValidityState validity;
[FIXME] readonly attribute DOMString validationMessage;
boolean checkValidity();
boolean reportValidity();
undefined setCustomValidity(DOMString error);
@ -38,7 +38,7 @@ interface HTMLTextAreaElement : HTMLElement {
attribute unsigned long selectionStart;
attribute unsigned long selectionEnd;
// FIXME: attribute DOMString selectionDirection;
// FIXME: undefined setRangeText(DOMString replacement);
// FIXME: undefined setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve");
// FIXME: undefined setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
[FIXME] undefined setRangeText(DOMString replacement);
[FIXME] undefined setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve");
[FIXME] undefined setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
};

View file

@ -16,8 +16,8 @@ interface HTMLTrackElement : HTMLElement {
// FIXME: [const unsigned short LOADING = 1;
// FIXME: [const unsigned short LOADED = 2;
// FIXME: [const unsigned short ERROR = 3;
// FIXME: [readonly attribute unsigned short readyState;
[FIXME] readonly attribute unsigned short readyState;
// FIXME: [readonly attribute TextTrack track;
[FIXME] readonly attribute TextTrack track;
};

View file

@ -13,5 +13,5 @@ interface ImageData {
readonly attribute unsigned long width;
readonly attribute unsigned long height;
readonly attribute Uint8ClampedArray data;
// FIXME: readonly attribute PredefinedColorSpace colorSpace;
[FIXME] readonly attribute PredefinedColorSpace colorSpace;
};

View file

@ -15,5 +15,5 @@ interface Location { // but see also additional creation steps and overridden in
[LegacyUnforgeable] undefined replace(USVString url);
[LegacyUnforgeable] undefined reload();
// TODO: [LegacyUnforgeable, SameObject] readonly attribute DOMStringList ancestorOrigins;
[FIXME, LegacyUnforgeable, SameObject] readonly attribute DOMStringList ancestorOrigins;
};

View file

@ -24,8 +24,8 @@ interface Navigator {
// https://html.spec.whatwg.org/multipage/system-state.html#navigatorcontentutils
interface mixin NavigatorContentUtils {
// FIXME: [SecureContext] undefined registerProtocolHandler(DOMString scheme, USVString url);
// FIXME: [SecureContext] undefined unregisterProtocolHandler(DOMString scheme, USVString url);
[FIXME, SecureContext] undefined registerProtocolHandler(DOMString scheme, USVString url);
[FIXME, SecureContext] undefined unregisterProtocolHandler(DOMString scheme, USVString url);
};
// https://html.spec.whatwg.org/multipage/system-state.html#navigatorcookies

View file

@ -6,7 +6,7 @@ interface PopStateEvent : Event {
constructor(DOMString type, optional PopStateEventInit eventInitDict = {});
readonly attribute any state;
// FIXME: readonly attribute boolean hasUAVisualTransition;
[FIXME] readonly attribute boolean hasUAVisualTransition;
};
dictionary PopStateEventInit : EventInit {

View file

@ -17,7 +17,7 @@ interface mixin WindowOrWorkerGlobalScope {
readonly attribute boolean isSecureContext;
readonly attribute boolean crossOriginIsolated;
// FIXME: undefined reportError(any e);
[FIXME] undefined reportError(any e);
// base64 utility methods
DOMString btoa(DOMString data);

View file

@ -5,11 +5,11 @@
interface IDBFactory {
[NewObject] IDBOpenDBRequest open(DOMString name,
optional [EnforceRange] unsigned long long version);
// FIXME: [NewObject] IDBOpenDBRequest deleteDatabase(DOMString name);
[FIXME, NewObject] IDBOpenDBRequest deleteDatabase(DOMString name);
// FIXME: Promise<sequence<IDBDatabaseInfo>> databases();
[FIXME] Promise<sequence<IDBDatabaseInfo>> databases();
// FIXME: short cmp(any first, any second);
[FIXME] short cmp(any first, any second);
};
dictionary IDBDatabaseInfo {

View file

@ -3,11 +3,11 @@
// https://w3c.github.io/IndexedDB/#idbrequest
[Exposed=(Window,Worker)]
interface IDBRequest : EventTarget {
// FIXME: readonly attribute any result;
// FIXME: readonly attribute DOMException? error;
// FIXME: readonly attribute (IDBObjectStore or IDBIndex or IDBCursor)? source;
// FIXME: readonly attribute IDBTransaction? transaction;
// FIXME: readonly attribute IDBRequestReadyState readyState;
[FIXME] readonly attribute any result;
[FIXME] readonly attribute DOMException? error;
[FIXME] readonly attribute (IDBObjectStore or IDBIndex or IDBCursor)? source;
[FIXME] readonly attribute IDBTransaction? transaction;
[FIXME] readonly attribute IDBRequestReadyState readyState;
// Event handlers:
// FIXME: attribute EventHandler onsuccess;

View file

@ -11,7 +11,7 @@ callback IntersectionObserverCallback = undefined (sequence<IntersectionObserver
interface IntersectionObserver {
constructor(IntersectionObserverCallback callback, optional IntersectionObserverInit options = {});
readonly attribute (Element or Document)? root;
// FIXME: readonly attribute DOMString rootMargin;
[FIXME] readonly attribute DOMString rootMargin;
// FIXME: `sequence<double>` should be `FrozenArray<double>`
readonly attribute sequence<double> thresholds;
undefined observe(Element target);

View file

@ -4,7 +4,7 @@
[Exposed=Window]
interface SVGClipPathElement : SVGElement {
// FIXME: readonly attribute SVGAnimatedEnumeration clipPathUnits;
// FIXME: readonly attribute SVGAnimatedTransformList transform;
[FIXME] readonly attribute SVGAnimatedEnumeration clipPathUnits;
[FIXME] readonly attribute SVGAnimatedTransformList transform;
};

View file

@ -3,5 +3,5 @@
// https://svgwg.org/svg2-draft/types.html#InterfaceSVGFitToViewBox
interface mixin SVGFitToViewBox {
[SameObject, ImplementedAs=view_box_for_bindings] readonly attribute SVGAnimatedRect viewBox;
// FIXME: [SameObject] readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;
[FIXME, SameObject] readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;
};

View file

@ -10,9 +10,9 @@ interface SVGGradientElement : SVGElement {
const unsigned short SVG_SPREADMETHOD_REFLECT = 2;
const unsigned short SVG_SPREADMETHOD_REPEAT = 3;
// FIXME: [SameObject] readonly attribute SVGAnimatedEnumeration gradientUnits;
// FIXME: [SameObject] readonly attribute SVGAnimatedTransformList gradientTransform;
// FIXME: [SameObject] readonly attribute SVGAnimatedEnumeration spreadMethod;
[FIXME, SameObject] readonly attribute SVGAnimatedEnumeration gradientUnits;
[FIXME, SameObject] readonly attribute SVGAnimatedTransformList gradientTransform;
[FIXME, SameObject] readonly attribute SVGAnimatedEnumeration spreadMethod;
};

View file

@ -14,6 +14,6 @@ interface SVGGraphicsElement : SVGElement {
[SameObject] readonly attribute SVGAnimatedTransformList transform;
DOMRect getBBox(optional SVGBoundingBoxOptions options = {});
// FIXME: DOMMatrix? getCTM();
// FIXME: DOMMatrix? getScreenCTM();
[FIXME] DOMMatrix? getCTM();
[FIXME] DOMMatrix? getScreenCTM();
};

View file

@ -3,12 +3,10 @@
// https://drafts.fxtf.org/css-masking/#InterfaceSVGMaskElement
[Exposed=Window]
interface SVGMaskElement : SVGElement {
// FIXME: readonly attribute SVGAnimatedEnumeration maskUnits;
// FIXME: readonly attribute SVGAnimatedEnumeration maskContentUnits;
// FIXME: readonly attribute SVGAnimatedLength x;
// FIXME: readonly attribute SVGAnimatedLength y;
// FIXME: readonly attribute SVGAnimatedLength width;
// FIXME: readonly attribute SVGAnimatedLength height;
[FIXME] readonly attribute SVGAnimatedEnumeration maskUnits;
[FIXME] readonly attribute SVGAnimatedEnumeration maskContentUnits;
[FIXME] readonly attribute SVGAnimatedLength x;
[FIXME] readonly attribute SVGAnimatedLength y;
[FIXME] readonly attribute SVGAnimatedLength width;
[FIXME] readonly attribute SVGAnimatedLength height;
};

View file

@ -22,12 +22,12 @@ interface SVGSVGElement : SVGGraphicsElement {
// FIMXE: SVGNumber createSVGNumber();
SVGLength createSVGLength();
// FIXME: SVGAngle createSVGAngle();
[FIXME] SVGAngle createSVGAngle();
DOMPoint createSVGPoint();
DOMMatrix createSVGMatrix();
DOMRect createSVGRect();
SVGTransform createSVGTransform();
// FIXME: SVGTransform createSVGTransformFromMatrix(optional DOMMatrix2DInit matrix = {});
[FIXME] SVGTransform createSVGTransformFromMatrix(optional DOMMatrix2DInit matrix = {});
Element getElementById(DOMString elementId);

View file

@ -9,17 +9,17 @@ interface SVGTextContentElement : SVGGraphicsElement {
const unsigned short LENGTHADJUST_SPACING = 1;
const unsigned short LENGTHADJUST_SPACINGANDGLYPHS = 2;
// FIXME: [SameObject] readonly attribute SVGAnimatedLength textLength;
// FIXME:[SameObject] readonly attribute SVGAnimatedEnumeration lengthAdjust;
[FIXME, SameObject] readonly attribute SVGAnimatedLength textLength;
[FIXME, SameObject] readonly attribute SVGAnimatedEnumeration lengthAdjust;
long getNumberOfChars();
// FIXME: float getComputedTextLength();
// FIXME: float getSubStringLength(unsigned long charnum, unsigned long nchars);
[FIXME] float getComputedTextLength();
[FIXME] float getSubStringLength(unsigned long charnum, unsigned long nchars);
DOMPoint getStartPositionOfChar(unsigned long charnum);
// FIXME: DOMPoint getEndPositionOfChar(unsigned long charnum);
// FIXME: DOMRect getExtentOfChar(unsigned long charnum);
// FIXME: float getRotationOfChar(unsigned long charnum);
// FIXME: long getCharNumAtPosition(optional DOMPointInit point = {});
// FIXME: undefined selectSubString(unsigned long charnum, unsigned long nchars);
[FIXME] DOMPoint getEndPositionOfChar(unsigned long charnum);
[FIXME] DOMRect getExtentOfChar(unsigned long charnum);
[FIXME] float getRotationOfChar(unsigned long charnum);
[FIXME] long getCharNumAtPosition(optional DOMPointInit point = {});
[FIXME] undefined selectSubString(unsigned long charnum, unsigned long nchars);
};

View file

@ -14,9 +14,9 @@ interface SVGTextPathElement : SVGTextContentElement {
const unsigned short TEXTPATH_SPACINGTYPE_AUTO = 1;
const unsigned short TEXTPATH_SPACINGTYPE_EXACT = 2;
// FIXME: [SameObject] readonly attribute SVGAnimatedLength startOffset;
// FIXME: [SameObject] readonly attribute SVGAnimatedEnumeration method;
// FIXME: [SameObject] readonly attribute SVGAnimatedEnumeration spacing;
[FIXME, SameObject] readonly attribute SVGAnimatedLength startOffset;
[FIXME, SameObject] readonly attribute SVGAnimatedEnumeration method;
[FIXME, SameObject] readonly attribute SVGAnimatedEnumeration spacing;
};
SVGTextPathElement includes SVGURIReference;

View file

@ -3,9 +3,9 @@
// https://svgwg.org/svg2-draft/text.html#InterfaceSVGTextPositioningElement
[Exposed=Window]
interface SVGTextPositioningElement : SVGTextContentElement {
// FIXME: [SameObject] readonly attribute SVGAnimatedLengthList x;
// FIXME: [SameObject] readonly attribute SVGAnimatedLengthList y;
// FIXME: [SameObject] readonly attribute SVGAnimatedLengthList dx;
// FIXME: [SameObject] readonly attribute SVGAnimatedLengthList dy;
// FIXME: [SameObject] readonly attribute SVGAnimatedNumberList rotate;
[FIXME, SameObject] readonly attribute SVGAnimatedLengthList x;
[FIXME, SameObject] readonly attribute SVGAnimatedLengthList y;
[FIXME, SameObject] readonly attribute SVGAnimatedLengthList dx;
[FIXME, SameObject] readonly attribute SVGAnimatedLengthList dy;
[FIXME, SameObject] readonly attribute SVGAnimatedNumberList rotate;
};

View file

@ -11,10 +11,10 @@ interface SVGTransform {
const unsigned short SVG_TRANSFORM_SKEWY = 6;
readonly attribute unsigned short type;
// FIXME: [SameObject] readonly attribute DOMMatrix matrix;
[FIXME, SameObject] readonly attribute DOMMatrix matrix;
readonly attribute float angle;
// FIXME: undefined setMatrix(optional DOMMatrix2DInit matrix = {});
[FIXME] undefined setMatrix(optional DOMMatrix2DInit matrix = {});
undefined setTranslate(float tx, float ty);
undefined setScale(float sx, float sy);
undefined setRotate(float angle, float cx, float cy);

View file

@ -3,19 +3,19 @@
// https://svgwg.org/svg2-draft/single-page.html#coords-InterfaceSVGTransformList
[Exposed=Window]
interface SVGTransformList {
// FIXME: readonly attribute unsigned long length;
// FIXME: readonly attribute unsigned long numberOfItems;
[FIXME] readonly attribute unsigned long length;
[FIXME] readonly attribute unsigned long numberOfItems;
// FIXME: undefined clear();
[FIXME] undefined clear();
// FIXME: SVGTransform initialize(SVGTransform newItem);
getter SVGTransform getItem(unsigned long index);
// FIXME: SVGTransform insertItemBefore(SVGTransform newItem, unsigned long index);
// FIXME: SVGTransform replaceItem(SVGTransform newItem, unsigned long index);
// FIXME: SVGTransform removeItem(unsigned long index);
[FIXME] SVGTransform insertItemBefore(SVGTransform newItem, unsigned long index);
[FIXME] SVGTransform replaceItem(SVGTransform newItem, unsigned long index);
[FIXME] SVGTransform removeItem(unsigned long index);
SVGTransform appendItem(SVGTransform newItem);
// FIXME: setter undefined (unsigned long index, SVGTransform newItem);
// Additional methods not common to other list interfaces.
// FIXME: SVGTransform createSVGTransformFromMatrix(optional DOMMatrix2DInit matrix = {});
// FIXME: SVGTransform? consolidate();
[FIXME] SVGTransform createSVGTransformFromMatrix(optional DOMMatrix2DInit matrix = {});
[FIXME] SVGTransform? consolidate();
};

View file

@ -29,7 +29,7 @@ dictionary ReadableStreamGetReaderOptions {
interface ReadableStream {
constructor(optional object underlyingSource, optional QueuingStrategy strategy = {});
// FIXME: static ReadableStream from(any asyncIterable);
[FIXME] static ReadableStream from(any asyncIterable);
readonly attribute boolean locked;

View file

@ -29,7 +29,7 @@ interface MouseEvent : UIEvent {
readonly attribute short button;
readonly attribute unsigned short buttons;
// FIXME: readonly attribute EventTarget? relatedTarget;
[FIXME] readonly attribute EventTarget? relatedTarget;
boolean getModifierState(DOMString keyArg);
};

View file

@ -33,6 +33,6 @@ interface PointerEvent : MouseEvent {
readonly attribute double azimuthAngle;
readonly attribute DOMString pointerType;
readonly attribute boolean isPrimary;
// FIXME: [SecureContext] sequence<PointerEvent> getCoalescedEvents();
// FIXME: sequence<PointerEvent> getPredictedEvents();
[FIXME, SecureContext] sequence<PointerEvent> getCoalescedEvents();
[FIXME] sequence<PointerEvent> getPredictedEvents();
};

View file

@ -21,7 +21,7 @@ dictionary ModuleImportDescriptor {
interface Module {
constructor(BufferSource bytes);
// FIXME: static sequence<ModuleExportDescriptor> exports(Module moduleObject);
// FIXME: static sequence<ModuleImportDescriptor> imports(Module moduleObject);
// FIXME: static sequence<ArrayBuffer> customSections(Module moduleObject, DOMString sectionName);
[FIXME] static sequence<ModuleExportDescriptor> exports(Module moduleObject);
[FIXME] static sequence<ModuleImportDescriptor> imports(Module moduleObject);
[FIXME] static sequence<ArrayBuffer> customSections(Module moduleObject, DOMString sectionName);
};

View file

@ -13,10 +13,10 @@ interface AudioContext : BaseAudioContext {
Promise<undefined> resume ();
Promise<undefined> suspend ();
Promise<undefined> close ();
// FIXME: MediaElementAudioSourceNode createMediaElementSource (HTMLMediaElement mediaElement);
// FIXME: MediaStreamAudioSourceNode createMediaStreamSource (MediaStream mediaStream);
// FIXME: MediaStreamTrackAudioSourceNode createMediaStreamTrackSource (MediaStreamTrack mediaStreamTrack);
// FIXME: MediaStreamAudioDestinationNode createMediaStreamDestination ();
[FIXME] MediaElementAudioSourceNode createMediaElementSource (HTMLMediaElement mediaElement);
[FIXME] MediaStreamAudioSourceNode createMediaStreamSource (MediaStream mediaStream);
[FIXME] MediaStreamTrackAudioSourceNode createMediaStreamTrackSource (MediaStreamTrack mediaStreamTrack);
[FIXME] MediaStreamAudioDestinationNode createMediaStreamDestination ();
};
dictionary AudioContextOptions {

View file

@ -38,8 +38,8 @@ interface AudioNode : EventTarget {
undefined disconnect(AudioParam destinationParam);
undefined disconnect(AudioParam destinationParam, unsigned long output);
readonly attribute BaseAudioContext context;
// FIXME: readonly attribute unsigned long numberOfInputs;
// FIXME: readonly attribute unsigned long numberOfOutputs;
[FIXME] readonly attribute unsigned long numberOfInputs;
[FIXME] readonly attribute unsigned long numberOfOutputs;
// FIXME: attribute unsigned long channelCount;
// FIXME: attribute ChannelCountMode channelCountMode;
// FIXME: attribute ChannelInterpretation channelInterpretation;

View file

@ -16,30 +16,30 @@ interface BaseAudioContext : EventTarget {
// FIXME: readonly attribute AudioDestinationNode destination;
readonly attribute float sampleRate;
readonly attribute double currentTime;
// FIXME: readonly attribute AudioListener listener;
[FIXME] readonly attribute AudioListener listener;
readonly attribute AudioContextState state;
// FIXME: [SameObject, SecureContext]
// readonly attribute AudioWorklet audioWorklet;
[FIXME] readonly attribute AudioWorklet audioWorklet;
attribute EventHandler onstatechange;
// FIXME: AnalyserNode createAnalyser ();
// FIXME: BiquadFilterNode createBiquadFilter ();
// FIXME: AudioBuffer createBuffer (unsigned long numberOfChannels, unsigned long length, float sampleRate);
// FIXME: AudioBufferSourceNode createBufferSource ();
// FIXME: ChannelMergerNode createChannelMerger (optional unsigned long numberOfInputs = 6);
// FIXME: ChannelSplitterNode createChannelSplitter (optional unsigned long numberOfOutputs = 6);
// FIXME: ConstantSourceNode createConstantSource ();
// FIXME: ConvolverNode createConvolver ();
// FIXME: DelayNode createDelay (optional double maxDelayTime = 1.0);
[FIXME] AnalyserNode createAnalyser ();
[FIXME] BiquadFilterNode createBiquadFilter ();
[FIXME] AudioBuffer createBuffer (unsigned long numberOfChannels, unsigned long length, float sampleRate);
[FIXME] AudioBufferSourceNode createBufferSource ();
[FIXME] ChannelMergerNode createChannelMerger (optional unsigned long numberOfInputs = 6);
[FIXME] ChannelSplitterNode createChannelSplitter (optional unsigned long numberOfOutputs = 6);
[FIXME] ConstantSourceNode createConstantSource ();
[FIXME] ConvolverNode createConvolver ();
[FIXME] DelayNode createDelay (optional double maxDelayTime = 1.0);
DynamicsCompressorNode createDynamicsCompressor();
// FIXME: GainNode createGain ();
// FIXME: IIRFilterNode createIIRFilter (sequence<double> feedforward, sequence<double> feedback);
[FIXME] GainNode createGain ();
[FIXME] IIRFilterNode createIIRFilter (sequence<double> feedforward, sequence<double> feedback);
OscillatorNode createOscillator();
// FIXME: PannerNode createPanner ();
// FIXME: PeriodicWave createPeriodicWave (sequence<float> real, sequence<float> imag, optional PeriodicWaveConstraints constraints = {});
// FIXME: ScriptProcessorNode createScriptProcessor(optional unsigned long bufferSize = 0, optional unsigned long numberOfInputChannels = 2, optional unsigned long numberOfOutputChannels = 2);
// FIXME: StereoPannerNode createStereoPanner ();
// FIXME: WaveShaperNode createWaveShaper ();
[FIXME] PannerNode createPanner ();
[FIXME] PeriodicWave createPeriodicWave (sequence<float> real, sequence<float> imag, optional PeriodicWaveConstraints constraints = {});
[FIXME] ScriptProcessorNode createScriptProcessor(optional unsigned long bufferSize = 0, optional unsigned long numberOfInputChannels = 2, optional unsigned long numberOfOutputChannels = 2);
[FIXME] StereoPannerNode createStereoPanner ();
[FIXME] WaveShaperNode createWaveShaper ();
// FIXME: Promise<AudioBuffer> decodeAudioData (ArrayBuffer audioData, optional DecodeSuccessCallback? successCallback, optional DecodeErrorCallback? errorCallback);
[FIXME] Promise<AudioBuffer> decodeAudioData (ArrayBuffer audioData, optional DecodeSuccessCallback? successCallback, optional DecodeErrorCallback? errorCallback);
};

View file

@ -24,6 +24,6 @@ interface OscillatorNode : AudioScheduledSourceNode {
constructor(BaseAudioContext context, optional OscillatorOptions options = {});
attribute OscillatorType type;
readonly attribute AudioParam frequency;
// FIXME: readonly attribute AudioParam detune;
// FIXME: undefined setPeriodicWave(PeriodicWave periodicWave);
[FIXME] readonly attribute AudioParam detune;
[FIXME] undefined setPeriodicWave(PeriodicWave periodicWave);
};

View file

@ -16,7 +16,7 @@ interface WebSocket : EventTarget {
const unsigned short CLOSING = 2;
const unsigned short CLOSED = 3;
readonly attribute unsigned short readyState;
// FIXME: readonly attribute unsigned long long bufferedAmount;
[FIXME] readonly attribute unsigned long long bufferedAmount;
// networking
attribute EventHandler onopen;