LibWeb: Improve HTMLImageElement::{width,height}()

With this change, it will correctly return the width/height when the
image element has an assigned width/height attribute.
This commit is contained in:
Igor Pissolati 2022-04-12 13:28:52 -03:00 committed by Andreas Kling
parent e5d978af9f
commit ae519c6fef
Notes: sideshowbarker 2024-07-17 11:53:35 +09:00

View file

@ -101,6 +101,11 @@ unsigned HTMLImageElement::width() const
if (auto* paint_box = this->paint_box())
return paint_box->content_width();
// NOTE: This step seems to not be in the spec, but all browsers do it.
auto width_attr = get_attribute(HTML::AttributeNames::width);
if (auto converted = width_attr.to_uint(); converted.has_value())
return *converted;
// ...or else the density-corrected intrinsic width and height of the image, in CSS pixels,
// if the image has intrinsic dimensions and is available but not being rendered.
if (m_image_loader.has_image())
@ -124,6 +129,11 @@ unsigned HTMLImageElement::height() const
if (auto* paint_box = this->paint_box())
return paint_box->content_height();
// NOTE: This step seems to not be in the spec, but all browsers do it.
auto height_attr = get_attribute(HTML::AttributeNames::height);
if (auto converted = height_attr.to_uint(); converted.has_value())
return *converted;
// ...or else the density-corrected intrinsic height and height of the image, in CSS pixels,
// if the image has intrinsic dimensions and is available but not being rendered.
if (m_image_loader.has_image())