LibWeb/HTML: Implement HTMLImageElement::allows_auto_sizes()

This commit is contained in:
Sam Atkins 2024-09-11 14:06:08 +01:00 committed by Andreas Kling
parent 2671820ace
commit 99718653e2
Notes: github-actions[bot] 2024-09-12 05:40:13 +00:00
2 changed files with 16 additions and 0 deletions

View file

@ -1171,4 +1171,17 @@ void HTMLImageElement::set_decoding(String decoding)
m_decoding_hint = ImageDecodingHint::Auto;
}
bool HTMLImageElement::allows_auto_sizes() const
{
// An img element allows auto-sizes if:
// - its loading attribute is in the Lazy state, and
// - its sizes attribute's value is "auto" (ASCII case-insensitive), or starts with "auto," (ASCII case-insensitive).
if (lazy_loading_attribute() != LazyLoading::Lazy)
return false;
auto sizes = attribute(HTML::AttributeNames::sizes);
return sizes.has_value()
&& (sizes->equals_ignoring_ascii_case("auto"sv)
|| sizes->starts_with_bytes("auto,"sv, AK::CaseSensitivity::CaseInsensitive));
}
}