mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-29 08:11:13 +00:00
HTMLImageElement: Improve decoding stub
Add an enum and warn when setting to sync/async.
This commit is contained in:
parent
03f9915054
commit
977e77bd4a
Notes:
github-actions[bot]
2024-09-04 07:56:27 +00:00
Author: https://github.com/jdahlin 🔰 Commit: https://github.com/LadybirdBrowser/ladybird/commit/977e77bd4a0 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/1250
|
@ -1145,4 +1145,30 @@ void HTMLImageElement::animate()
|
|||
paintable()->set_needs_display();
|
||||
}
|
||||
|
||||
StringView HTMLImageElement::decoding() const
|
||||
{
|
||||
switch (m_decoding_hint) {
|
||||
case ImageDecodingHint::Sync:
|
||||
return "sync"sv;
|
||||
case ImageDecodingHint::Async:
|
||||
return "async"sv;
|
||||
case ImageDecodingHint::Auto:
|
||||
return "auto"sv;
|
||||
default:
|
||||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
}
|
||||
|
||||
void HTMLImageElement::set_decoding(String decoding)
|
||||
{
|
||||
if (decoding == "sync"sv) {
|
||||
dbgln("FIXME: HTMLImageElement.decoding = 'sync' is not implemented yet");
|
||||
m_decoding_hint = ImageDecodingHint::Sync;
|
||||
} else if (decoding == "async"sv) {
|
||||
dbgln("FIXME: HTMLImageElement.decoding = 'async' is not implemented yet");
|
||||
m_decoding_hint = ImageDecodingHint::Async;
|
||||
} else
|
||||
m_decoding_hint = ImageDecodingHint::Auto;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -80,6 +80,10 @@ public:
|
|||
// https://html.spec.whatwg.org/multipage/images.html#select-an-image-source
|
||||
[[nodiscard]] Optional<ImageSourceAndPixelDensity> select_an_image_source();
|
||||
|
||||
StringView decoding() const;
|
||||
|
||||
void set_decoding(String);
|
||||
|
||||
void set_source_set(SourceSet);
|
||||
|
||||
ImageRequest& current_request() { return *m_current_request; }
|
||||
|
@ -147,6 +151,15 @@ private:
|
|||
SourceSet m_source_set;
|
||||
|
||||
CSSPixelSize m_last_seen_viewport_size;
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/images.html#image-decoding-hint
|
||||
enum class ImageDecodingHint {
|
||||
Auto,
|
||||
Sync,
|
||||
Async
|
||||
};
|
||||
|
||||
ImageDecodingHint m_decoding_hint = ImageDecodingHint::Auto;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ interface HTMLImageElement : HTMLElement {
|
|||
readonly attribute boolean complete;
|
||||
readonly attribute USVString currentSrc;
|
||||
[CEReactions, Reflect=referrerpolicy, Enumerated=ReferrerPolicy] attribute DOMString referrerPolicy;
|
||||
[FIXME, CEReactions] attribute DOMString decoding;
|
||||
[CEReactions] attribute DOMString decoding;
|
||||
[CEReactions, Enumerated=LazyLoadingAttribute, Reflect] attribute DOMString loading;
|
||||
[CEReactions, Enumerated=FetchPriorityAttribute, Reflect=fetchpriority] attribute DOMString fetchPriority;
|
||||
|
||||
|
|
Loading…
Reference in a new issue