mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 04:57:44 +00:00
LibWeb: Return empty Optional<StyleProperty> for shorthand properties
This is a stopgap until we implement shorthand -> longhand conversion.
This commit is contained in:
parent
377eb09492
commit
5e2b41175c
3 changed files with 13 additions and 1 deletions
|
@ -520,9 +520,15 @@ Optional<StyleProperty> ResolvedCSSStyleDeclaration::property(PropertyID propert
|
||||||
|
|
||||||
if (!m_element->layout_node()) {
|
if (!m_element->layout_node()) {
|
||||||
auto style = m_element->document().style_computer().compute_style(const_cast<DOM::Element&>(*m_element));
|
auto style = m_element->document().style_computer().compute_style(const_cast<DOM::Element&>(*m_element));
|
||||||
|
// FIXME: This is a stopgap until we implement shorthand -> longhand conversion.
|
||||||
|
auto value = style->maybe_null_property(property_id);
|
||||||
|
if (!value) {
|
||||||
|
dbgln("FIXME: ResolvedCSSStyleDeclaration::property(property_id=0x{:x}) No value for property ID in newly computed style case.", to_underlying(property_id));
|
||||||
|
return {};
|
||||||
|
}
|
||||||
return StyleProperty {
|
return StyleProperty {
|
||||||
.property_id = property_id,
|
.property_id = property_id,
|
||||||
.value = style->property(property_id),
|
.value = value.release_nonnull(),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,6 +44,11 @@ NonnullRefPtr<StyleValue> StyleProperties::property(CSS::PropertyID property_id)
|
||||||
return value.release_nonnull();
|
return value.release_nonnull();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RefPtr<StyleValue> StyleProperties::maybe_null_property(CSS::PropertyID property_id) const
|
||||||
|
{
|
||||||
|
return m_property_values[to_underlying(property_id)];
|
||||||
|
}
|
||||||
|
|
||||||
CSS::Size StyleProperties::size_value(CSS::PropertyID id) const
|
CSS::Size StyleProperties::size_value(CSS::PropertyID id) const
|
||||||
{
|
{
|
||||||
auto value = property(id);
|
auto value = property(id);
|
||||||
|
|
|
@ -40,6 +40,7 @@ public:
|
||||||
|
|
||||||
void set_property(CSS::PropertyID, NonnullRefPtr<StyleValue> value);
|
void set_property(CSS::PropertyID, NonnullRefPtr<StyleValue> value);
|
||||||
NonnullRefPtr<StyleValue> property(CSS::PropertyID) const;
|
NonnullRefPtr<StyleValue> property(CSS::PropertyID) const;
|
||||||
|
RefPtr<StyleValue> maybe_null_property(CSS::PropertyID) const;
|
||||||
|
|
||||||
CSS::Size size_value(CSS::PropertyID) const;
|
CSS::Size size_value(CSS::PropertyID) const;
|
||||||
Length length_or_fallback(CSS::PropertyID, Length const& fallback) const;
|
Length length_or_fallback(CSS::PropertyID, Length const& fallback) const;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue