mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-01 05:39:11 +00:00
LibWeb/HTML: Implement HTMLImageElement::allows_auto_sizes()
This commit is contained in:
parent
2671820ace
commit
99718653e2
Notes:
github-actions[bot]
2024-09-12 05:40:13 +00:00
Author: https://github.com/AtkinsSJ
Commit: 99718653e2
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/1374
2 changed files with 16 additions and 0 deletions
|
@ -1171,4 +1171,17 @@ void HTMLImageElement::set_decoding(String decoding)
|
||||||
m_decoding_hint = ImageDecodingHint::Auto;
|
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));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,6 +94,9 @@ public:
|
||||||
// https://html.spec.whatwg.org/multipage/images.html#upgrade-the-pending-request-to-the-current-request
|
// https://html.spec.whatwg.org/multipage/images.html#upgrade-the-pending-request-to-the-current-request
|
||||||
void upgrade_pending_request_to_current_request();
|
void upgrade_pending_request_to_current_request();
|
||||||
|
|
||||||
|
// https://html.spec.whatwg.org/multipage/embedded-content.html#allows-auto-sizes
|
||||||
|
bool allows_auto_sizes() const;
|
||||||
|
|
||||||
// ^Layout::ImageProvider
|
// ^Layout::ImageProvider
|
||||||
virtual bool is_image_available() const override;
|
virtual bool is_image_available() const override;
|
||||||
virtual Optional<CSSPixels> intrinsic_width() const override;
|
virtual Optional<CSSPixels> intrinsic_width() const override;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue