mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 21:47:46 +00:00
LibWeb/CSS: Resolve NumericCalculationNode to percentage when requested
When the caller of NumericCalculationNode::resolve() does not provide a percentage_basis, it expects the method to return a raw percentage value. Fixes crashing on https://discord.com/login
This commit is contained in:
parent
1593ff2d4c
commit
225ed58f7e
3 changed files with 15 additions and 1 deletions
|
@ -220,9 +220,11 @@ bool NumericCalculationNode::contains_percentage() const
|
|||
CalculatedStyleValue::CalculationResult NumericCalculationNode::resolve(Optional<Length::ResolutionContext const&>, CalculatedStyleValue::PercentageBasis const& percentage_basis) const
|
||||
{
|
||||
if (m_value.has<Percentage>()) {
|
||||
// NOTE: Depending on whether percentage_basis is set, the caller of resolve() is expecting a raw percentage or
|
||||
// resolved length.
|
||||
return percentage_basis.visit(
|
||||
[&](Empty const&) -> CalculatedStyleValue::CalculationResult {
|
||||
VERIFY_NOT_REACHED();
|
||||
return m_value;
|
||||
},
|
||||
[&](auto const& value) {
|
||||
return CalculatedStyleValue::CalculationResult(value.percentage_of(m_value.get<Percentage>()));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue