mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 15:28:11 +00:00
LibWeb: Bring HTMLImageElement closer to spec
This commit is contained in:
parent
682a4a347a
commit
e5d978af9f
3 changed files with 29 additions and 0 deletions
|
@ -138,4 +138,28 @@ void HTMLImageElement::set_height(unsigned height)
|
||||||
set_attribute(HTML::AttributeNames::height, String::number(height));
|
set_attribute(HTML::AttributeNames::height, String::number(height));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-naturalwidth
|
||||||
|
unsigned HTMLImageElement::natural_width() const
|
||||||
|
{
|
||||||
|
// Return the density-corrected intrinsic width of the image, in CSS pixels,
|
||||||
|
// if the image has intrinsic dimensions and is available.
|
||||||
|
if (m_image_loader.has_image())
|
||||||
|
return m_image_loader.width();
|
||||||
|
|
||||||
|
// ...or else 0.
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-naturalheight
|
||||||
|
unsigned HTMLImageElement::natural_height() const
|
||||||
|
{
|
||||||
|
// Return the density-corrected intrinsic height of the image, in CSS pixels,
|
||||||
|
// if the image has intrinsic dimensions and is available.
|
||||||
|
if (m_image_loader.has_image())
|
||||||
|
return m_image_loader.height();
|
||||||
|
|
||||||
|
// ...or else 0.
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,6 +39,9 @@ public:
|
||||||
unsigned height() const;
|
unsigned height() const;
|
||||||
void set_height(unsigned);
|
void set_height(unsigned);
|
||||||
|
|
||||||
|
unsigned natural_width() const;
|
||||||
|
unsigned natural_height() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
virtual void apply_presentational_hints(CSS::StyleProperties&) const override;
|
virtual void apply_presentational_hints(CSS::StyleProperties&) const override;
|
||||||
|
|
||||||
|
|
|
@ -15,5 +15,7 @@ interface HTMLImageElement : HTMLElement {
|
||||||
|
|
||||||
[CEReactions] attribute unsigned long width;
|
[CEReactions] attribute unsigned long width;
|
||||||
[CEReactions] attribute unsigned long height;
|
[CEReactions] attribute unsigned long height;
|
||||||
|
readonly attribute unsigned long naturalWidth;
|
||||||
|
readonly attribute unsigned long naturalHeight;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue