ladybird/Libraries/LibWeb/HTML/HTMLImageElement.idl
Tim Ledbetter e176871fdf LibWeb: Use [Reflect] to implement HTMLImageElement.decoding
This ensures the correct behavior when the value of the `decoding`
attribute is changed with `setAttribute()`.
2024-11-26 21:56:28 +00:00

53 lines
2.3 KiB
Text

#import <Fetch/Request.idl>
#import <HTML/HTMLElement.idl>
#import <HTML/Scripting/Fetching.idl>
// https://html.spec.whatwg.org/multipage/images.html#image-decoding-hint
[MissingValueDefault=auto, InvalidValueDefault=auto]
enum Decoding {
"sync",
"async",
"auto"
};
// https://html.spec.whatwg.org/multipage/embedded-content.html#htmlimageelement
[Exposed=Window, LegacyFactoryFunction=Image(optional unsigned long width, optional unsigned long height)]
interface HTMLImageElement : HTMLElement {
[HTMLConstructor] constructor();
[CEReactions, Reflect] attribute DOMString alt;
[CEReactions, Reflect, URL] attribute USVString src;
[CEReactions, Reflect] attribute DOMString srcset;
[CEReactions, Reflect] attribute DOMString sizes;
[CEReactions, Enumerated=CORSSettingsAttribute, Reflect=crossorigin] attribute DOMString? crossOrigin;
[CEReactions, Reflect=usemap] attribute DOMString useMap;
[CEReactions, Reflect=ismap] attribute boolean isMap;
[CEReactions] attribute unsigned long width;
[CEReactions] attribute unsigned long height;
readonly attribute unsigned long naturalWidth;
readonly attribute unsigned long naturalHeight;
readonly attribute boolean complete;
readonly attribute USVString currentSrc;
[CEReactions, Reflect=referrerpolicy, Enumerated=ReferrerPolicy] attribute DOMString referrerPolicy;
[CEReactions, Enumerated=Decoding, Reflect] attribute DOMString decoding;
[CEReactions, Enumerated=LazyLoadingAttribute, Reflect] attribute DOMString loading;
[CEReactions, Enumerated=FetchPriorityAttribute, Reflect=fetchpriority] attribute DOMString fetchPriority;
Promise<undefined> decode();
// Obsolete
[CEReactions, Reflect] attribute DOMString name;
[CEReactions, Reflect, URL] attribute USVString lowsrc;
[CEReactions, Reflect] attribute DOMString align;
[CEReactions, Reflect] attribute unsigned long hspace;
[CEReactions, Reflect] attribute unsigned long vspace;
[CEReactions, Reflect=longdesc, URL] attribute USVString longDesc;
[CEReactions, LegacyNullToEmptyString, Reflect] attribute DOMString border;
// https://drafts.csswg.org/cssom-view/#extensions-to-the-htmlimageelement-interface
[FIXME] readonly attribute long x;
[FIXME] readonly attribute long y;
};