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
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));
}
}