diff --git a/Libraries/LibWeb/CSS/Interpolation.cpp b/Libraries/LibWeb/CSS/Interpolation.cpp index 042e0461b90..74188858db8 100644 --- a/Libraries/LibWeb/CSS/Interpolation.cpp +++ b/Libraries/LibWeb/CSS/Interpolation.cpp @@ -537,7 +537,7 @@ NonnullRefPtr interpolate_value(DOM::Element& element, Calc } }; - static auto to_calculation_node = [calculation_context](CSSStyleValue const& value) -> NonnullRefPtr { + static auto to_calculation_node = [calculation_context](CSSStyleValue const& value) -> NonnullRefPtr { switch (value.type()) { case CSSStyleValue::Type::Angle: return NumericCalculationNode::create(value.as_angle().angle(), calculation_context); @@ -566,7 +566,7 @@ NonnullRefPtr interpolate_value(DOM::Element& element, Calc auto interpolated_from = interpolate_value(element, calculation_context, from, from_base_type_and_default->default_value, delta); auto interpolated_to = interpolate_value(element, calculation_context, to_base_type_and_default->default_value, to, delta); - Vector> values; + Vector> values; values.ensure_capacity(2); values.unchecked_append(to_calculation_node(interpolated_from)); values.unchecked_append(to_calculation_node(interpolated_to)); diff --git a/Libraries/LibWeb/CSS/Parser/Parser.h b/Libraries/LibWeb/CSS/Parser/Parser.h index cb2e13badd8..93e4a65009d 100644 --- a/Libraries/LibWeb/CSS/Parser/Parser.h +++ b/Libraries/LibWeb/CSS/Parser/Parser.h @@ -308,8 +308,8 @@ private: Optional parse_custom_ident(TokenStream&, ReadonlySpan blacklist); RefPtr parse_custom_ident_value(TokenStream&, ReadonlySpan blacklist); // NOTE: Implemented in generated code. (GenerateCSSMathFunctions.cpp) - RefPtr parse_math_function(Function const&, CalculationContext const&); - RefPtr parse_a_calc_function_node(Function const&, CalculationContext const&); + RefPtr parse_math_function(Function const&, CalculationContext const&); + RefPtr parse_a_calc_function_node(Function const&, CalculationContext const&); RefPtr parse_keyword_value(TokenStream&); RefPtr parse_hue_none_value(TokenStream&); RefPtr parse_solidus_and_alpha_value(TokenStream&); @@ -430,8 +430,8 @@ private: RefPtr parse_grid_area_shorthand_value(TokenStream&); RefPtr parse_grid_shorthand_value(TokenStream&); - RefPtr convert_to_calculation_node(CalcParsing::Node const&, CalculationContext const&); - RefPtr parse_a_calculation(Vector const&, CalculationContext const&); + RefPtr convert_to_calculation_node(CalcParsing::Node const&, CalculationContext const&); + RefPtr parse_a_calculation(Vector const&, CalculationContext const&); ParseErrorOr> parse_complex_selector(TokenStream&, SelectorType); ParseErrorOr> parse_compound_selector(TokenStream&); diff --git a/Libraries/LibWeb/CSS/Parser/ValueParsing.cpp b/Libraries/LibWeb/CSS/Parser/ValueParsing.cpp index 4dcccc53359..84534d9bfe5 100644 --- a/Libraries/LibWeb/CSS/Parser/ValueParsing.cpp +++ b/Libraries/LibWeb/CSS/Parser/ValueParsing.cpp @@ -3373,7 +3373,7 @@ RefPtr Parser::parse_calculated_value(ComponentValue const& return CalculatedStyleValue::create(function_node.release_nonnull(), function_type.release_value(), context); } -RefPtr Parser::parse_a_calc_function_node(Function const& function, CalculationContext const& context) +RefPtr Parser::parse_a_calc_function_node(Function const& function, CalculationContext const& context) { auto context_guard = push_temporary_value_parsing_context(FunctionContext { function.name }); @@ -3386,11 +3386,11 @@ RefPtr Parser::parse_a_calc_function_node(Function const& funct return nullptr; } -RefPtr Parser::convert_to_calculation_node(CalcParsing::Node const& node, CalculationContext const& context) +RefPtr Parser::convert_to_calculation_node(CalcParsing::Node const& node, CalculationContext const& context) { return node.visit( - [this, &context](NonnullOwnPtr const& product_node) -> RefPtr { - Vector> children; + [this, &context](NonnullOwnPtr const& product_node) -> RefPtr { + Vector> children; children.ensure_capacity(product_node->children.size()); for (auto const& child : product_node->children) { @@ -3403,8 +3403,8 @@ RefPtr Parser::convert_to_calculation_node(CalcParsing::Node co return ProductCalculationNode::create(move(children)); }, - [this, &context](NonnullOwnPtr const& sum_node) -> RefPtr { - Vector> children; + [this, &context](NonnullOwnPtr const& sum_node) -> RefPtr { + Vector> children; children.ensure_capacity(sum_node->children.size()); for (auto const& child : sum_node->children) { @@ -3417,17 +3417,17 @@ RefPtr Parser::convert_to_calculation_node(CalcParsing::Node co return SumCalculationNode::create(move(children)); }, - [this, &context](NonnullOwnPtr const& invert_node) -> RefPtr { + [this, &context](NonnullOwnPtr const& invert_node) -> RefPtr { if (auto child_as_node = convert_to_calculation_node(invert_node->child, context)) return InvertCalculationNode::create(child_as_node.release_nonnull()); return nullptr; }, - [this, &context](NonnullOwnPtr const& negate_node) -> RefPtr { + [this, &context](NonnullOwnPtr const& negate_node) -> RefPtr { if (auto child_as_node = convert_to_calculation_node(negate_node->child, context)) return NegateCalculationNode::create(child_as_node.release_nonnull()); return nullptr; }, - [this, &context](NonnullRawPtr const& component_value) -> RefPtr { + [this, &context](NonnullRawPtr const& component_value) -> RefPtr { // NOTE: This is the "process the leaf nodes" part of step 5 of https://drafts.csswg.org/css-values-4/#parse-a-calculation // We divert a little from the spec: Rather than modify an existing tree of values, we construct a new one from that source tree. // This lets us make CalculationNodes immutable. @@ -3504,14 +3504,14 @@ RefPtr Parser::convert_to_calculation_node(CalcParsing::Node co dbgln_if(CSS_PARSER_DEBUG, "Leftover ComponentValue in calc tree! That probably means the syntax is invalid, but maybe we just didn't implement `{}` yet.", component_value->to_debug_string()); return nullptr; }, - [](CalcParsing::Operator const& op) -> RefPtr { + [](CalcParsing::Operator const& op) -> RefPtr { dbgln_if(CSS_PARSER_DEBUG, "Leftover Operator {} in calc tree!", op.delim); return nullptr; }); } // https://drafts.csswg.org/css-values-4/#parse-a-calculation -RefPtr Parser::parse_a_calculation(Vector const& original_values, CalculationContext const& context) +RefPtr Parser::parse_a_calculation(Vector const& original_values, CalculationContext const& context) { // 1. Discard any s from values. // 2. An item in values is an “operator” if it’s a with the value "+", "-", "*", or "/". Otherwise, it’s a “value”. diff --git a/Libraries/LibWeb/CSS/StyleValues/CalculatedStyleValue.cpp b/Libraries/LibWeb/CSS/StyleValues/CalculatedStyleValue.cpp index 22777b67d20..42a8dd3f44c 100644 --- a/Libraries/LibWeb/CSS/StyleValues/CalculatedStyleValue.cpp +++ b/Libraries/LibWeb/CSS/StyleValues/CalculatedStyleValue.cpp @@ -24,7 +24,7 @@ namespace Web::CSS { -static Optional add_the_types(Vector> const& nodes) +static Optional add_the_types(Vector> const& nodes) { Optional left_type; for (auto const& value : nodes) { @@ -69,7 +69,7 @@ static Optional add_the_types(CalculationNode const& a, Calculat return a_and_b_type->added_to(*c_type); } -static Optional multiply_the_types(Vector> const& nodes) +static Optional multiply_the_types(Vector> const& nodes) { // At a * sub-expression, multiply the types of the left and right arguments. // The sub-expression’s type is the returned result. @@ -93,9 +93,9 @@ static Optional multiply_the_types(Vector -static NonnullRefPtr simplify_children_vector(T const& original, CalculationContext const& context, CalculationResolutionContext const& resolution_context) +static NonnullRefPtr simplify_children_vector(T const& original, CalculationContext const& context, CalculationResolutionContext const& resolution_context) { - Vector> simplified_children; + Vector> simplified_children; simplified_children.ensure_capacity(original.children().size()); bool any_changed = false; @@ -112,7 +112,7 @@ static NonnullRefPtr simplify_children_vector(T const& original } template -static NonnullRefPtr simplify_child(T const& original, NonnullRefPtr const& child, CalculationContext const& context, CalculationResolutionContext const& resolution_context) +static NonnullRefPtr simplify_child(T const& original, NonnullRefPtr const& child, CalculationContext const& context, CalculationResolutionContext const& resolution_context) { auto simplified = simplify_a_calculation_tree(child, context, resolution_context); if (simplified != child) @@ -121,7 +121,7 @@ static NonnullRefPtr simplify_child(T const& original, NonnullR } template -static NonnullRefPtr simplify_2_children(T const& original, NonnullRefPtr const& child_1, NonnullRefPtr const& child_2, CalculationContext const& context, CalculationResolutionContext const& resolution_context) +static NonnullRefPtr simplify_2_children(T const& original, NonnullRefPtr const& child_1, NonnullRefPtr const& child_2, CalculationContext const& context, CalculationResolutionContext const& resolution_context) { auto simplified_1 = simplify_a_calculation_tree(child_1, context, resolution_context); auto simplified_2 = simplify_a_calculation_tree(child_2, context, resolution_context); @@ -147,7 +147,7 @@ static String serialize_a_math_function(CalculationNode const& fn, CalculationCo // 2. If fn represents an infinite or NaN value: if (fn.type() == CalculationNode::Type::Numeric) { - auto& numeric_node = static_cast(fn); + auto const& numeric_node = static_cast(fn); if (auto infinite_or_nan = numeric_node.infinite_or_nan_value(); infinite_or_nan.has_value()) { // 1. Let s be the string "calc(". StringBuilder builder; @@ -241,13 +241,13 @@ static String serialize_a_math_function(CalculationNode const& fn, CalculationCo } // https://drafts.csswg.org/css-values-4/#sort-a-calculations-children -static Vector> sort_a_calculations_children(Vector> nodes) +static Vector> sort_a_calculations_children(Vector> nodes) { // 1. Let ret be an empty list. - Vector> ret; + Vector> ret; // 2. If nodes contains a number, remove it from nodes and append it to ret. - auto index_of_number = nodes.find_first_index_if([](NonnullRefPtr const& node) { + auto index_of_number = nodes.find_first_index_if([](NonnullRefPtr const& node) { if (node->type() != CalculationNode::Type::Numeric) return false; return static_cast(*node).value().has(); @@ -257,7 +257,7 @@ static Vector> sort_a_calculations_children(Vecto } // 3. If nodes contains a percentage, remove it from nodes and append it to ret. - auto index_of_percentage = nodes.find_first_index_if([](NonnullRefPtr const& node) { + auto index_of_percentage = nodes.find_first_index_if([](NonnullRefPtr const& node) { if (node->type() != CalculationNode::Type::Numeric) return false; return static_cast(*node).value().has(); @@ -268,11 +268,11 @@ static Vector> sort_a_calculations_children(Vecto // 4. If nodes contains any dimensions, remove them from nodes, sort them by their units, ordered ASCII // case-insensitively, and append them to ret. - Vector> dimensions; + Vector> dimensions; dimensions.ensure_capacity(nodes.size()); auto next_dimension_index = [&nodes]() { - return nodes.find_first_index_if([](NonnullRefPtr const& node) { + return nodes.find_first_index_if([](NonnullRefPtr const& node) { if (node->type() != CalculationNode::Type::Numeric) return false; return static_cast(*node).value().visit( @@ -286,8 +286,8 @@ static Vector> sort_a_calculations_children(Vecto dimensions.append(nodes.take(*index_of_dimension)); } - quick_sort(dimensions, [](NonnullRefPtr const& a, NonnullRefPtr const& b) { - auto get_unit = [](NonnullRefPtr const& node) -> StringView { + quick_sort(dimensions, [](NonnullRefPtr const& a, NonnullRefPtr const& b) { + auto get_unit = [](NonnullRefPtr const& node) -> StringView { auto const& numeric_node = static_cast(*node); return numeric_node.value().visit( [](Number const&) -> StringView { VERIFY_NOT_REACHED(); }, @@ -556,13 +556,13 @@ static CSSNumericType numeric_type_from_calculated_style_value(CalculatedStyleVa }); } -NonnullRefPtr NumericCalculationNode::create(NumericValue value, CalculationContext const& context) +NonnullRefPtr NumericCalculationNode::create(NumericValue value, CalculationContext const& context) { auto numeric_type = numeric_type_from_calculated_style_value(value, context); return adopt_ref(*new (nothrow) NumericCalculationNode(move(value), numeric_type)); } -RefPtr NumericCalculationNode::from_keyword(Keyword keyword, CalculationContext const& context) +RefPtr NumericCalculationNode::from_keyword(Keyword keyword, CalculationContext const& context) { switch (keyword) { case Keyword::E: @@ -714,7 +714,7 @@ bool NumericCalculationNode::is_negative() const [](auto const& dimension) { return dimension.raw_value() < 0; }); } -NonnullRefPtr NumericCalculationNode::negated(CalculationContext const& context) const +NonnullRefPtr NumericCalculationNode::negated(CalculationContext const& context) const { return value().visit( [&](Percentage const& percentage) { @@ -742,7 +742,7 @@ bool NumericCalculationNode::equals(CalculationNode const& other) const return m_value == static_cast(other).m_value; } -NonnullRefPtr SumCalculationNode::create(Vector> values) +NonnullRefPtr SumCalculationNode::create(Vector> values) { // https://www.w3.org/TR/css-values-4/#determine-the-type-of-a-calculation // At a + or - sub-expression, attempt to add the types of the left and right arguments. @@ -752,7 +752,7 @@ NonnullRefPtr SumCalculationNode::create(Vector> values, Optional numeric_type) +SumCalculationNode::SumCalculationNode(Vector> values, Optional numeric_type) : CalculationNode(Type::Sum, move(numeric_type)) , m_values(move(values)) { @@ -786,7 +786,7 @@ CalculatedStyleValue::CalculationResult SumCalculationNode::resolve(CalculationR return total.value(); } -NonnullRefPtr SumCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr SumCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_children_vector(*this, context, resolution_context); } @@ -813,7 +813,7 @@ bool SumCalculationNode::equals(CalculationNode const& other) const return true; } -NonnullRefPtr ProductCalculationNode::create(Vector> values) +NonnullRefPtr ProductCalculationNode::create(Vector> values) { // https://drafts.csswg.org/css-values-4/#determine-the-type-of-a-calculation // At a * sub-expression, multiply the types of the left and right arguments. @@ -822,7 +822,7 @@ NonnullRefPtr ProductCalculationNode::create(Vector> values, Optional numeric_type) +ProductCalculationNode::ProductCalculationNode(Vector> values, Optional numeric_type) : CalculationNode(Type::Product, move(numeric_type)) , m_values(move(values)) { @@ -856,7 +856,7 @@ CalculatedStyleValue::CalculationResult ProductCalculationNode::resolve(Calculat return total.value(); } -NonnullRefPtr ProductCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr ProductCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_children_vector(*this, context, resolution_context); } @@ -883,12 +883,12 @@ bool ProductCalculationNode::equals(CalculationNode const& other) const return true; } -NonnullRefPtr NegateCalculationNode::create(NonnullRefPtr value) +NonnullRefPtr NegateCalculationNode::create(NonnullRefPtr value) { return adopt_ref(*new (nothrow) NegateCalculationNode(move(value))); } -NegateCalculationNode::NegateCalculationNode(NonnullRefPtr value) +NegateCalculationNode::NegateCalculationNode(NonnullRefPtr value) // NOTE: `- foo` doesn't change the type : CalculationNode(Type::Negate, value->numeric_type()) , m_value(move(value)) @@ -909,7 +909,7 @@ CalculatedStyleValue::CalculationResult NegateCalculationNode::resolve(Calculati return child_value; } -NonnullRefPtr NegateCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr NegateCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_child(*this, m_value, context, resolution_context); } @@ -929,7 +929,7 @@ bool NegateCalculationNode::equals(CalculationNode const& other) const return m_value->equals(*static_cast(other).m_value); } -NonnullRefPtr InvertCalculationNode::create(NonnullRefPtr value) +NonnullRefPtr InvertCalculationNode::create(NonnullRefPtr value) { // https://drafts.csswg.org/css-values-4/#determine-the-type-of-a-calculation // At a / sub-expression, let left type be the result of finding the types of its left argument, @@ -941,7 +941,7 @@ NonnullRefPtr InvertCalculationNode::create(NonnullRefPtr return adopt_ref(*new (nothrow) InvertCalculationNode(move(value), move(numeric_type))); } -InvertCalculationNode::InvertCalculationNode(NonnullRefPtr value, Optional numeric_type) +InvertCalculationNode::InvertCalculationNode(NonnullRefPtr value, Optional numeric_type) : CalculationNode(Type::Invert, move(numeric_type)) , m_value(move(value)) { @@ -961,7 +961,7 @@ CalculatedStyleValue::CalculationResult InvertCalculationNode::resolve(Calculati return child_value; } -NonnullRefPtr InvertCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr InvertCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_child(*this, m_value, context, resolution_context); } @@ -981,7 +981,7 @@ bool InvertCalculationNode::equals(CalculationNode const& other) const return m_value->equals(*static_cast(other).m_value); } -NonnullRefPtr MinCalculationNode::create(Vector> values) +NonnullRefPtr MinCalculationNode::create(Vector> values) { // https://drafts.csswg.org/css-values-4/#determine-the-type-of-a-calculation // The result of adding the types of its comma-separated calculations. @@ -989,7 +989,7 @@ NonnullRefPtr MinCalculationNode::create(Vector> values, Optional numeric_type) +MinCalculationNode::MinCalculationNode(Vector> values, Optional numeric_type) : CalculationNode(Type::Min, move(numeric_type)) , m_values(move(values)) { @@ -1025,7 +1025,7 @@ CalculatedStyleValue::CalculationResult MinCalculationNode::resolve(CalculationR return smallest_node; } -NonnullRefPtr MinCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr MinCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_children_vector(*this, context, resolution_context); } @@ -1035,7 +1035,7 @@ enum class MinOrMax { Min, Max, }; -static Optional run_min_or_max_operation_if_possible(Vector> const& children, CalculationContext const& context, CalculationResolutionContext const& resolution_context, MinOrMax min_or_max) +static Optional run_min_or_max_operation_if_possible(Vector> const& children, CalculationContext const& context, CalculationResolutionContext const& resolution_context, MinOrMax min_or_max) { // The min() or max() functions contain one or more comma-separated calculations, and represent the smallest // (most negative) or largest (most positive) of them, respectively. @@ -1098,7 +1098,7 @@ bool MinCalculationNode::equals(CalculationNode const& other) const return true; } -NonnullRefPtr MaxCalculationNode::create(Vector> values) +NonnullRefPtr MaxCalculationNode::create(Vector> values) { // https://drafts.csswg.org/css-values-4/#determine-the-type-of-a-calculation // The result of adding the types of its comma-separated calculations. @@ -1106,7 +1106,7 @@ NonnullRefPtr MaxCalculationNode::create(Vector> values, Optional numeric_type) +MaxCalculationNode::MaxCalculationNode(Vector> values, Optional numeric_type) : CalculationNode(Type::Max, move(numeric_type)) , m_values(move(values)) { @@ -1142,7 +1142,7 @@ CalculatedStyleValue::CalculationResult MaxCalculationNode::resolve(CalculationR return largest_node; } -NonnullRefPtr MaxCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr MaxCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_children_vector(*this, context, resolution_context); } @@ -1175,7 +1175,7 @@ bool MaxCalculationNode::equals(CalculationNode const& other) const return true; } -NonnullRefPtr ClampCalculationNode::create(NonnullRefPtr min, NonnullRefPtr center, NonnullRefPtr max) +NonnullRefPtr ClampCalculationNode::create(NonnullRefPtr min, NonnullRefPtr center, NonnullRefPtr max) { // https://drafts.csswg.org/css-values-4/#determine-the-type-of-a-calculation // The result of adding the types of its comma-separated calculations. @@ -1183,7 +1183,7 @@ NonnullRefPtr ClampCalculationNode::create(NonnullRefPtr min, NonnullRefPtr center, NonnullRefPtr max, Optional numeric_type) +ClampCalculationNode::ClampCalculationNode(NonnullRefPtr min, NonnullRefPtr center, NonnullRefPtr max, Optional numeric_type) : CalculationNode(Type::Clamp, move(numeric_type)) , m_min_value(move(min)) , m_center_value(move(center)) @@ -1220,7 +1220,7 @@ CalculatedStyleValue::CalculationResult ClampCalculationNode::resolve(Calculatio VERIFY_NOT_REACHED(); } -NonnullRefPtr ClampCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr ClampCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { auto simplified_min = simplify_a_calculation_tree(m_min_value, context, resolution_context); auto simplified_center = simplify_a_calculation_tree(m_center_value, context, resolution_context); @@ -1284,12 +1284,12 @@ bool ClampCalculationNode::equals(CalculationNode const& other) const && m_max_value->equals(*static_cast(other).m_max_value); } -NonnullRefPtr AbsCalculationNode::create(NonnullRefPtr value) +NonnullRefPtr AbsCalculationNode::create(NonnullRefPtr value) { return adopt_ref(*new (nothrow) AbsCalculationNode(move(value))); } -AbsCalculationNode::AbsCalculationNode(NonnullRefPtr value) +AbsCalculationNode::AbsCalculationNode(NonnullRefPtr value) // https://www.w3.org/TR/css-values-4/#determine-the-type-of-a-calculation // The type of its contained calculation. : CalculationNode(Type::Abs, value->numeric_type()) @@ -1312,7 +1312,7 @@ CalculatedStyleValue::CalculationResult AbsCalculationNode::resolve(CalculationR return node_a; } -NonnullRefPtr AbsCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr AbsCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_child(*this, m_value, context, resolution_context); } @@ -1343,12 +1343,12 @@ bool AbsCalculationNode::equals(CalculationNode const& other) const return m_value->equals(*static_cast(other).m_value); } -NonnullRefPtr SignCalculationNode::create(NonnullRefPtr value) +NonnullRefPtr SignCalculationNode::create(NonnullRefPtr value) { return adopt_ref(*new (nothrow) SignCalculationNode(move(value))); } -SignCalculationNode::SignCalculationNode(NonnullRefPtr value) +SignCalculationNode::SignCalculationNode(NonnullRefPtr value) // https://www.w3.org/TR/css-values-4/#determine-the-type-of-a-calculation // «[ ]» (empty map). : CalculationNode(Type::Sign, CSSNumericType {}) @@ -1377,7 +1377,7 @@ CalculatedStyleValue::CalculationResult SignCalculationNode::resolve(Calculation return { 0, CSSNumericType {} }; } -NonnullRefPtr SignCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr SignCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_child(*this, m_value, context, resolution_context); } @@ -1420,12 +1420,12 @@ bool SignCalculationNode::equals(CalculationNode const& other) const return m_value->equals(*static_cast(other).m_value); } -NonnullRefPtr SinCalculationNode::create(NonnullRefPtr value) +NonnullRefPtr SinCalculationNode::create(NonnullRefPtr value) { return adopt_ref(*new (nothrow) SinCalculationNode(move(value))); } -SinCalculationNode::SinCalculationNode(NonnullRefPtr value) +SinCalculationNode::SinCalculationNode(NonnullRefPtr value) // «[ ]» (empty map). : CalculationNode(Type::Sin, CSSNumericType {}) , m_value(move(value)) @@ -1448,7 +1448,7 @@ CalculatedStyleValue::CalculationResult SinCalculationNode::resolve(CalculationR return { result, CSSNumericType {} }; } -NonnullRefPtr SinCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr SinCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_child(*this, m_value, context, resolution_context); } @@ -1513,12 +1513,12 @@ bool SinCalculationNode::equals(CalculationNode const& other) const return m_value->equals(*static_cast(other).m_value); } -NonnullRefPtr CosCalculationNode::create(NonnullRefPtr value) +NonnullRefPtr CosCalculationNode::create(NonnullRefPtr value) { return adopt_ref(*new (nothrow) CosCalculationNode(move(value))); } -CosCalculationNode::CosCalculationNode(NonnullRefPtr value) +CosCalculationNode::CosCalculationNode(NonnullRefPtr value) // https://www.w3.org/TR/css-values-4/#determine-the-type-of-a-calculation // «[ ]» (empty map). : CalculationNode(Type::Cos, CSSNumericType {}) @@ -1542,7 +1542,7 @@ CalculatedStyleValue::CalculationResult CosCalculationNode::resolve(CalculationR return { result, CSSNumericType {} }; } -NonnullRefPtr CosCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr CosCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_child(*this, m_value, context, resolution_context); } @@ -1568,12 +1568,12 @@ bool CosCalculationNode::equals(CalculationNode const& other) const return m_value->equals(*static_cast(other).m_value); } -NonnullRefPtr TanCalculationNode::create(NonnullRefPtr value) +NonnullRefPtr TanCalculationNode::create(NonnullRefPtr value) { return adopt_ref(*new (nothrow) TanCalculationNode(move(value))); } -TanCalculationNode::TanCalculationNode(NonnullRefPtr value) +TanCalculationNode::TanCalculationNode(NonnullRefPtr value) // https://www.w3.org/TR/css-values-4/#determine-the-type-of-a-calculation // «[ ]» (empty map). : CalculationNode(Type::Tan, CSSNumericType {}) @@ -1597,7 +1597,7 @@ CalculatedStyleValue::CalculationResult TanCalculationNode::resolve(CalculationR return { result, CSSNumericType {} }; } -NonnullRefPtr TanCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr TanCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_child(*this, m_value, context, resolution_context); } @@ -1623,12 +1623,12 @@ bool TanCalculationNode::equals(CalculationNode const& other) const return m_value->equals(*static_cast(other).m_value); } -NonnullRefPtr AsinCalculationNode::create(NonnullRefPtr value) +NonnullRefPtr AsinCalculationNode::create(NonnullRefPtr value) { return adopt_ref(*new (nothrow) AsinCalculationNode(move(value))); } -AsinCalculationNode::AsinCalculationNode(NonnullRefPtr value) +AsinCalculationNode::AsinCalculationNode(NonnullRefPtr value) // https://www.w3.org/TR/css-values-4/#determine-the-type-of-a-calculation // «[ "angle" → 1 ]». : CalculationNode(Type::Asin, CSSNumericType { CSSNumericType::BaseType::Angle, 1 }) @@ -1650,7 +1650,7 @@ CalculatedStyleValue::CalculationResult AsinCalculationNode::resolve(Calculation return { result, CSSNumericType { CSSNumericType::BaseType::Angle, 1 } }; } -NonnullRefPtr AsinCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr AsinCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_child(*this, m_value, context, resolution_context); } @@ -1720,12 +1720,12 @@ bool AsinCalculationNode::equals(CalculationNode const& other) const return m_value->equals(*static_cast(other).m_value); } -NonnullRefPtr AcosCalculationNode::create(NonnullRefPtr value) +NonnullRefPtr AcosCalculationNode::create(NonnullRefPtr value) { return adopt_ref(*new (nothrow) AcosCalculationNode(move(value))); } -AcosCalculationNode::AcosCalculationNode(NonnullRefPtr value) +AcosCalculationNode::AcosCalculationNode(NonnullRefPtr value) // https://www.w3.org/TR/css-values-4/#determine-the-type-of-a-calculation // «[ "angle" → 1 ]». : CalculationNode(Type::Acos, CSSNumericType { CSSNumericType::BaseType::Angle, 1 }) @@ -1747,7 +1747,7 @@ CalculatedStyleValue::CalculationResult AcosCalculationNode::resolve(Calculation return { result, CSSNumericType { CSSNumericType::BaseType::Angle, 1 } }; } -NonnullRefPtr AcosCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr AcosCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_child(*this, m_value, context, resolution_context); } @@ -1773,12 +1773,12 @@ bool AcosCalculationNode::equals(CalculationNode const& other) const return m_value->equals(*static_cast(other).m_value); } -NonnullRefPtr AtanCalculationNode::create(NonnullRefPtr value) +NonnullRefPtr AtanCalculationNode::create(NonnullRefPtr value) { return adopt_ref(*new (nothrow) AtanCalculationNode(move(value))); } -AtanCalculationNode::AtanCalculationNode(NonnullRefPtr value) +AtanCalculationNode::AtanCalculationNode(NonnullRefPtr value) // https://www.w3.org/TR/css-values-4/#determine-the-type-of-a-calculation // «[ "angle" → 1 ]». : CalculationNode(Type::Atan, CSSNumericType { CSSNumericType::BaseType::Angle, 1 }) @@ -1800,7 +1800,7 @@ CalculatedStyleValue::CalculationResult AtanCalculationNode::resolve(Calculation return { result, CSSNumericType { CSSNumericType::BaseType::Angle, 1 } }; } -NonnullRefPtr AtanCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr AtanCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_child(*this, m_value, context, resolution_context); } @@ -1826,12 +1826,12 @@ bool AtanCalculationNode::equals(CalculationNode const& other) const return m_value->equals(*static_cast(other).m_value); } -NonnullRefPtr Atan2CalculationNode::create(NonnullRefPtr y, NonnullRefPtr x) +NonnullRefPtr Atan2CalculationNode::create(NonnullRefPtr y, NonnullRefPtr x) { return adopt_ref(*new (nothrow) Atan2CalculationNode(move(y), move(x))); } -Atan2CalculationNode::Atan2CalculationNode(NonnullRefPtr y, NonnullRefPtr x) +Atan2CalculationNode::Atan2CalculationNode(NonnullRefPtr y, NonnullRefPtr x) // https://www.w3.org/TR/css-values-4/#determine-the-type-of-a-calculation // «[ "angle" → 1 ]». : CalculationNode(Type::Atan2, CSSNumericType { CSSNumericType::BaseType::Angle, 1 }) @@ -1855,7 +1855,7 @@ CalculatedStyleValue::CalculationResult Atan2CalculationNode::resolve(Calculatio return { result, CSSNumericType { CSSNumericType::BaseType::Angle, 1 } }; } -NonnullRefPtr Atan2CalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr Atan2CalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_2_children(*this, m_x, m_y, context, resolution_context); } @@ -1905,12 +1905,12 @@ bool Atan2CalculationNode::equals(CalculationNode const& other) const && m_y->equals(*static_cast(other).m_y); } -NonnullRefPtr PowCalculationNode::create(NonnullRefPtr x, NonnullRefPtr y) +NonnullRefPtr PowCalculationNode::create(NonnullRefPtr x, NonnullRefPtr y) { return adopt_ref(*new (nothrow) PowCalculationNode(move(x), move(y))); } -PowCalculationNode::PowCalculationNode(NonnullRefPtr x, NonnullRefPtr y) +PowCalculationNode::PowCalculationNode(NonnullRefPtr x, NonnullRefPtr y) // https://www.w3.org/TR/css-values-4/#determine-the-type-of-a-calculation // «[ ]» (empty map). : CalculationNode(Type::Pow, CSSNumericType {}) @@ -1929,7 +1929,7 @@ CalculatedStyleValue::CalculationResult PowCalculationNode::resolve(CalculationR return { result, CSSNumericType {} }; } -NonnullRefPtr PowCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr PowCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_2_children(*this, m_x, m_y, context, resolution_context); } @@ -1969,12 +1969,12 @@ bool PowCalculationNode::equals(CalculationNode const& other) const && m_y->equals(*static_cast(other).m_y); } -NonnullRefPtr SqrtCalculationNode::create(NonnullRefPtr value) +NonnullRefPtr SqrtCalculationNode::create(NonnullRefPtr value) { return adopt_ref(*new (nothrow) SqrtCalculationNode(move(value))); } -SqrtCalculationNode::SqrtCalculationNode(NonnullRefPtr value) +SqrtCalculationNode::SqrtCalculationNode(NonnullRefPtr value) // https://www.w3.org/TR/css-values-4/#determine-the-type-of-a-calculation // «[ ]» (empty map). : CalculationNode(Type::Sqrt, CSSNumericType {}) @@ -1991,7 +1991,7 @@ CalculatedStyleValue::CalculationResult SqrtCalculationNode::resolve(Calculation return { result, CSSNumericType {} }; } -NonnullRefPtr SqrtCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr SqrtCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_child(*this, m_value, context, resolution_context); } @@ -2029,7 +2029,7 @@ bool SqrtCalculationNode::equals(CalculationNode const& other) const return m_value->equals(*static_cast(other).m_value); } -NonnullRefPtr HypotCalculationNode::create(Vector> values) +NonnullRefPtr HypotCalculationNode::create(Vector> values) { // https://drafts.csswg.org/css-values-4/#determine-the-type-of-a-calculation // The result of adding the types of its comma-separated calculations. @@ -2037,7 +2037,7 @@ NonnullRefPtr HypotCalculationNode::create(Vector> values, Optional numeric_type) +HypotCalculationNode::HypotCalculationNode(Vector> values, Optional numeric_type) : CalculationNode(Type::Hypot, move(numeric_type)) , m_values(move(values)) { @@ -2076,7 +2076,7 @@ CalculatedStyleValue::CalculationResult HypotCalculationNode::resolve(Calculatio return { result, result_type }; } -NonnullRefPtr HypotCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr HypotCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_children_vector(*this, context, resolution_context); } @@ -2129,12 +2129,12 @@ bool HypotCalculationNode::equals(CalculationNode const& other) const return true; } -NonnullRefPtr LogCalculationNode::create(NonnullRefPtr x, NonnullRefPtr y) +NonnullRefPtr LogCalculationNode::create(NonnullRefPtr x, NonnullRefPtr y) { return adopt_ref(*new (nothrow) LogCalculationNode(move(x), move(y))); } -LogCalculationNode::LogCalculationNode(NonnullRefPtr x, NonnullRefPtr y) +LogCalculationNode::LogCalculationNode(NonnullRefPtr x, NonnullRefPtr y) // https://www.w3.org/TR/css-values-4/#determine-the-type-of-a-calculation // «[ ]» (empty map). : CalculationNode(Type::Log, CSSNumericType {}) @@ -2153,7 +2153,7 @@ CalculatedStyleValue::CalculationResult LogCalculationNode::resolve(CalculationR return { result, CSSNumericType {} }; } -NonnullRefPtr LogCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr LogCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_2_children(*this, m_x, m_y, context, resolution_context); } @@ -2194,12 +2194,12 @@ bool LogCalculationNode::equals(CalculationNode const& other) const && m_y->equals(*static_cast(other).m_y); } -NonnullRefPtr ExpCalculationNode::create(NonnullRefPtr value) +NonnullRefPtr ExpCalculationNode::create(NonnullRefPtr value) { return adopt_ref(*new (nothrow) ExpCalculationNode(move(value))); } -ExpCalculationNode::ExpCalculationNode(NonnullRefPtr value) +ExpCalculationNode::ExpCalculationNode(NonnullRefPtr value) // https://www.w3.org/TR/css-values-4/#determine-the-type-of-a-calculation // «[ ]» (empty map). : CalculationNode(Type::Exp, CSSNumericType {}) @@ -2216,7 +2216,7 @@ CalculatedStyleValue::CalculationResult ExpCalculationNode::resolve(CalculationR return { result, CSSNumericType {} }; } -NonnullRefPtr ExpCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr ExpCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_child(*this, m_value, context, resolution_context); } @@ -2253,7 +2253,7 @@ bool ExpCalculationNode::equals(CalculationNode const& other) const return m_value->equals(*static_cast(other).m_value); } -NonnullRefPtr RoundCalculationNode::create(RoundingStrategy strategy, NonnullRefPtr x, NonnullRefPtr y) +NonnullRefPtr RoundCalculationNode::create(RoundingStrategy strategy, NonnullRefPtr x, NonnullRefPtr y) { // https://www.w3.org/TR/css-values-4/#determine-the-type-of-a-calculation // The result of adding the types of its comma-separated calculations. @@ -2261,7 +2261,7 @@ NonnullRefPtr RoundCalculationNode::create(RoundingStrateg return adopt_ref(*new (nothrow) RoundCalculationNode(strategy, move(x), move(y), move(numeric_type))); } -RoundCalculationNode::RoundCalculationNode(RoundingStrategy mode, NonnullRefPtr x, NonnullRefPtr y, Optional numeric_type) +RoundCalculationNode::RoundCalculationNode(RoundingStrategy mode, NonnullRefPtr x, NonnullRefPtr y, Optional numeric_type) : CalculationNode(Type::Round, move(numeric_type)) , m_strategy(mode) , m_x(move(x)) @@ -2314,7 +2314,7 @@ CalculatedStyleValue::CalculationResult RoundCalculationNode::resolve(Calculatio VERIFY_NOT_REACHED(); } -NonnullRefPtr RoundCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr RoundCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { auto simplified_x = simplify_a_calculation_tree(m_x, context, resolution_context); auto simplified_y = simplify_a_calculation_tree(m_y, context, resolution_context); @@ -2414,7 +2414,7 @@ bool RoundCalculationNode::equals(CalculationNode const& other) const && m_y->equals(*static_cast(other).m_y); } -NonnullRefPtr ModCalculationNode::create(NonnullRefPtr x, NonnullRefPtr y) +NonnullRefPtr ModCalculationNode::create(NonnullRefPtr x, NonnullRefPtr y) { // https://www.w3.org/TR/css-values-4/#determine-the-type-of-a-calculation // The result of adding the types of its comma-separated calculations. @@ -2422,7 +2422,7 @@ NonnullRefPtr ModCalculationNode::create(NonnullRefPtr x, NonnullRefPtr y, Optional numeric_type) +ModCalculationNode::ModCalculationNode(NonnullRefPtr x, NonnullRefPtr y, Optional numeric_type) : CalculationNode(Type::Mod, move(numeric_type)) , m_x(move(x)) , m_y(move(y)) @@ -2449,7 +2449,7 @@ CalculatedStyleValue::CalculationResult ModCalculationNode::resolve(CalculationR return { value, node_a.type() }; } -NonnullRefPtr ModCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr ModCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_2_children(*this, m_x, m_y, context, resolution_context); } @@ -2517,7 +2517,7 @@ bool ModCalculationNode::equals(CalculationNode const& other) const && m_y->equals(*static_cast(other).m_y); } -NonnullRefPtr RemCalculationNode::create(NonnullRefPtr x, NonnullRefPtr y) +NonnullRefPtr RemCalculationNode::create(NonnullRefPtr x, NonnullRefPtr y) { // https://www.w3.org/TR/css-values-4/#determine-the-type-of-a-calculation // The result of adding the types of its comma-separated calculations. @@ -2525,7 +2525,7 @@ NonnullRefPtr RemCalculationNode::create(NonnullRefPtr x, NonnullRefPtr y, Optional numeric_type) +RemCalculationNode::RemCalculationNode(NonnullRefPtr x, NonnullRefPtr y, Optional numeric_type) : CalculationNode(Type::Rem, move(numeric_type)) , m_x(move(x)) , m_y(move(y)) @@ -2547,7 +2547,7 @@ CalculatedStyleValue::CalculationResult RemCalculationNode::resolve(CalculationR return { value, node_a.type() }; } -NonnullRefPtr RemCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const +NonnullRefPtr RemCalculationNode::with_simplified_children(CalculationContext const& context, CalculationResolutionContext const& resolution_context) const { return simplify_2_children(*this, m_x, m_y, context, resolution_context); } @@ -2749,10 +2749,10 @@ String CalculatedStyleValue::dump() const } struct NumericChildAndIndex { - NonnullRefPtr child; + NonnullRefPtr child; size_t index; }; -static Optional find_numeric_child_with_same_unit(Vector> children, NumericCalculationNode const& target) +static Optional find_numeric_child_with_same_unit(Vector> children, NumericCalculationNode const& target) { for (auto i = 0u; i < children.size(); ++i) { auto& child = children[i]; @@ -2783,7 +2783,7 @@ static Optional find_numeric_child_with_same_unit(Vector make_calculation_node(CalculatedStyleValue::CalculationResult const& calculation_result, CalculationContext const& context) +static RefPtr make_calculation_node(CalculatedStyleValue::CalculationResult const& calculation_result, CalculationContext const& context) { auto const& accumulated_type = calculation_result.type().value(); if (accumulated_type.matches_number(context.percentages_resolve_as)) @@ -2807,11 +2807,11 @@ static RefPtr make_calculation_node(CalculatedStyleValue } // https://drafts.csswg.org/css-values-4/#calc-simplification -NonnullRefPtr simplify_a_calculation_tree(CalculationNode const& original_root, CalculationContext const& context, CalculationResolutionContext const& resolution_context) +NonnullRefPtr simplify_a_calculation_tree(CalculationNode const& original_root, CalculationContext const& context, CalculationResolutionContext const& resolution_context) { // To simplify a calculation tree root: // FIXME: If needed, we could detect that nothing has changed and then return the original `root`, in more places. - NonnullRefPtr root = original_root; + NonnullRefPtr root = original_root; // 1. If root is a numeric value: if (root->type() == CalculationNode::Type::Numeric) { @@ -2822,21 +2822,21 @@ NonnullRefPtr simplify_a_calculation_tree(CalculationNode const // Return the value. if (auto const* percentage = root_numeric.value().get_pointer(); percentage && context.percentages_resolve_as.has_value()) { // NOTE: We use nullptr here to signify "use the original". - RefPtr resolved = resolution_context.percentage_basis.visit( - [](Empty const&) -> RefPtr { return nullptr; }, - [&](Angle const& angle) -> RefPtr { + RefPtr resolved = resolution_context.percentage_basis.visit( + [](Empty const&) -> RefPtr { return nullptr; }, + [&](Angle const& angle) -> RefPtr { VERIFY(context.percentages_resolve_as == ValueType::Angle); if (angle.type() == Angle::Type::Deg) return nullptr; return NumericCalculationNode::create(Angle::make_degrees(angle.to_degrees()).percentage_of(*percentage), context); }, - [&](Frequency const& frequency) -> RefPtr { + [&](Frequency const& frequency) -> RefPtr { VERIFY(context.percentages_resolve_as == ValueType::Frequency); if (frequency.type() == Frequency::Type::Hz) return nullptr; return NumericCalculationNode::create(Frequency::make_hertz(frequency.to_hertz()).percentage_of(*percentage), context); }, - [&](Length const& length) -> RefPtr { + [&](Length const& length) -> RefPtr { VERIFY(context.percentages_resolve_as == ValueType::Length); if (length.type() == Length::Type::Px) return nullptr; @@ -2846,7 +2846,7 @@ NonnullRefPtr simplify_a_calculation_tree(CalculationNode const return NumericCalculationNode::create(Length::make_px(length.to_px(resolution_context.length_resolution_context.value())), context); return nullptr; }, - [&](Time const& time) -> RefPtr { + [&](Time const& time) -> RefPtr { VERIFY(context.percentages_resolve_as == ValueType::Time); if (time.type() == Time::Type::S) return nullptr; @@ -2861,23 +2861,23 @@ NonnullRefPtr simplify_a_calculation_tree(CalculationNode const // to convert it to the canonical unit, do so, and return the value. else { // NOTE: We use nullptr here to signify "use the original". - RefPtr resolved = root_numeric.value().visit( - [&](Angle const& angle) -> RefPtr { + RefPtr resolved = root_numeric.value().visit( + [&](Angle const& angle) -> RefPtr { if (angle.type() == Angle::Type::Deg) return nullptr; return NumericCalculationNode::create(Angle::make_degrees(angle.to_degrees()), context); }, - [&](Flex const& flex) -> RefPtr { + [&](Flex const& flex) -> RefPtr { if (flex.type() == Flex::Type::Fr) return nullptr; return NumericCalculationNode::create(Flex::make_fr(flex.to_fr()), context); }, - [&](Frequency const& frequency) -> RefPtr { + [&](Frequency const& frequency) -> RefPtr { if (frequency.type() == Frequency::Type::Hz) return nullptr; return NumericCalculationNode::create(Frequency::make_hertz(frequency.to_hertz()), context); }, - [&](Length const& length) -> RefPtr { + [&](Length const& length) -> RefPtr { if (length.type() == Length::Type::Px) return nullptr; if (length.is_absolute()) @@ -2886,18 +2886,18 @@ NonnullRefPtr simplify_a_calculation_tree(CalculationNode const return NumericCalculationNode::create(Length::make_px(length.to_px(resolution_context.length_resolution_context.value())), context); return nullptr; }, - [&](Number const&) -> RefPtr { + [&](Number const&) -> RefPtr { return nullptr; }, - [&](Percentage const&) -> RefPtr { + [&](Percentage const&) -> RefPtr { return nullptr; }, - [&](Resolution const& resolution) -> RefPtr { + [&](Resolution const& resolution) -> RefPtr { if (resolution.type() == Resolution::Type::Dppx) return nullptr; return NumericCalculationNode::create(Resolution::make_dots_per_pixel(resolution.to_dots_per_pixel()), context); }, - [&](Time const& time) -> RefPtr { + [&](Time const& time) -> RefPtr { if (time.type() == Time::Type::S) return nullptr; return NumericCalculationNode::create(Time::make_seconds(time.to_seconds()), context); @@ -2940,7 +2940,7 @@ NonnullRefPtr simplify_a_calculation_tree(CalculationNode const // unit (see note in previous step), and there are other children of root that are numeric values with the // same unit, combine all such children with the appropriate operator per root, and replace child with the // result, removing all other child nodes involved. - Vector> simplified_children; + Vector> simplified_children; simplified_children.ensure_capacity(children.size()); for (auto const& child : children) { if (child->type() != CalculationNode::Type::Numeric || simplified_children.is_empty()) { @@ -3039,7 +3039,7 @@ NonnullRefPtr simplify_a_calculation_tree(CalculationNode const if (root->type() == CalculationNode::Type::Sum) { auto const& root_sum = as(*root); - Vector> flattened_children; + Vector> flattened_children; flattened_children.ensure_capacity(root_sum.children().size()); // 1. For each of root’s children that are Sum nodes, replace them with their children. for (auto const& child : root_sum.children()) { @@ -3055,7 +3055,7 @@ NonnullRefPtr simplify_a_calculation_tree(CalculationNode const // (E.g. combine numbers, combine percentages, combine px values, etc.) // NOTE: For each child, scan this summed_children list for the first one that has the same type, then replace that with the new summed value. - Vector> summed_children; + Vector> summed_children; for (auto const& child : flattened_children) { if (child->type() != CalculationNode::Type::Numeric) { summed_children.append(child); @@ -3093,7 +3093,7 @@ NonnullRefPtr simplify_a_calculation_tree(CalculationNode const if (root->type() == CalculationNode::Type::Product) { auto const& root_product = as(*root); - Vector> children; + Vector> children; children.ensure_capacity(root_product.children().size()); // 1. For each of root’s children that are Product nodes, replace them with their children. @@ -3130,7 +3130,7 @@ NonnullRefPtr simplify_a_calculation_tree(CalculationNode const auto const& child_2 = children[1]; Optional multiplier; - RefPtr sum; + RefPtr sum; if (child_1->type() == CalculationNode::Type::Numeric && child_2->type() == CalculationNode::Type::Sum) { if (auto const* maybe_multiplier = as(*child_1).value().get_pointer()) { @@ -3146,7 +3146,7 @@ NonnullRefPtr simplify_a_calculation_tree(CalculationNode const } if (multiplier.has_value() && sum) { - Vector> multiplied_children; + Vector> multiplied_children; multiplied_children.ensure_capacity(sum->children().size()); bool all_numeric = true; diff --git a/Libraries/LibWeb/CSS/StyleValues/CalculatedStyleValue.h b/Libraries/LibWeb/CSS/StyleValues/CalculatedStyleValue.h index 15a2e26d68b..54a5ea8602b 100644 --- a/Libraries/LibWeb/CSS/StyleValues/CalculatedStyleValue.h +++ b/Libraries/LibWeb/CSS/StyleValues/CalculatedStyleValue.h @@ -67,7 +67,7 @@ public: Optional m_type; }; - static ValueComparingNonnullRefPtr create(NonnullRefPtr calculation, CSSNumericType resolved_type, CalculationContext context) + static ValueComparingNonnullRefPtr create(NonnullRefPtr calculation, CSSNumericType resolved_type, CalculationContext context) { return adopt_ref(*new (nothrow) CalculatedStyleValue(move(calculation), move(resolved_type), move(context))); } @@ -111,7 +111,7 @@ public: String dump() const; private: - explicit CalculatedStyleValue(NonnullRefPtr calculation, CSSNumericType resolved_type, CalculationContext context) + explicit CalculatedStyleValue(NonnullRefPtr calculation, CSSNumericType resolved_type, CalculationContext context) : CSSStyleValue(Type::Calculated) , m_resolved_type(move(resolved_type)) , m_calculation(move(calculation)) @@ -122,7 +122,7 @@ private: Optional percentage_resolved_type() const; CSSNumericType m_resolved_type; - NonnullRefPtr m_calculation; + NonnullRefPtr m_calculation; CalculationContext m_context; }; @@ -225,13 +225,13 @@ public: } StringView name() const; - virtual Vector> children() const = 0; + virtual Vector> children() const = 0; Optional const& numeric_type() const { return m_numeric_type; } virtual bool contains_percentage() const = 0; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const = 0; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const = 0; - // Step 4 of simplify_a_calculation_tree(). Only valid for math-function nodes. + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const = 0; + // Step 4 of simpliRfy_a_calculation_tree(). Only valid for math-function nodes. virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const { VERIFY_NOT_REACHED(); } virtual void dump(StringBuilder&, int indent) const = 0; @@ -253,24 +253,24 @@ enum class NonFiniteValue { class NumericCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(NumericValue, CalculationContext const&); - static RefPtr from_keyword(Keyword, CalculationContext const&); + static NonnullRefPtr create(NumericValue, CalculationContext const&); + static RefPtr from_keyword(Keyword, CalculationContext const&); ~NumericCalculationNode(); virtual bool contains_percentage() const override; bool is_in_canonical_unit() const; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override { return *this; } + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override { return *this; } RefPtr to_style_value(CalculationContext const&) const; - virtual Vector> children() const override { return {}; } + virtual Vector> children() const override { return {}; } NumericValue const& value() const { return m_value; } String value_to_string() const; Optional infinite_or_nan_value() const; bool is_negative() const; - NonnullRefPtr negated(CalculationContext const&) const; + NonnullRefPtr negated(CalculationContext const&) const; virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; @@ -282,494 +282,494 @@ private: class SumCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(Vector>); + static NonnullRefPtr create(Vector>); ~SumCalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return m_values; } + virtual Vector> children() const override { return m_values; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - SumCalculationNode(Vector>, Optional); - Vector> m_values; + SumCalculationNode(Vector>, Optional); + Vector> m_values; }; class ProductCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(Vector>); + static NonnullRefPtr create(Vector>); ~ProductCalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return m_values; } + virtual Vector> children() const override { return m_values; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - ProductCalculationNode(Vector>, Optional); - Vector> m_values; + ProductCalculationNode(Vector>, Optional); + Vector> m_values; }; class NegateCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(NonnullRefPtr); + static NonnullRefPtr create(NonnullRefPtr); ~NegateCalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return { { m_value } }; } + virtual Vector> children() const override { return { { m_value } }; } CalculationNode const& child() const { return m_value; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - NegateCalculationNode(NonnullRefPtr); - NonnullRefPtr m_value; + explicit NegateCalculationNode(NonnullRefPtr); + NonnullRefPtr m_value; }; class InvertCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(NonnullRefPtr); + static NonnullRefPtr create(NonnullRefPtr); ~InvertCalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return { { m_value } }; } + virtual Vector> children() const override { return { { m_value } }; } CalculationNode const& child() const { return m_value; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - InvertCalculationNode(NonnullRefPtr, Optional); - NonnullRefPtr m_value; + InvertCalculationNode(NonnullRefPtr, Optional); + NonnullRefPtr m_value; }; class MinCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(Vector>); + static NonnullRefPtr create(Vector>); ~MinCalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return m_values; } + virtual Vector> children() const override { return m_values; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - MinCalculationNode(Vector>, Optional); - Vector> m_values; + MinCalculationNode(Vector>, Optional); + Vector> m_values; }; class MaxCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(Vector>); + static NonnullRefPtr create(Vector>); ~MaxCalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return m_values; } + virtual Vector> children() const override { return m_values; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - MaxCalculationNode(Vector>, Optional); - Vector> m_values; + MaxCalculationNode(Vector>, Optional); + Vector> m_values; }; class ClampCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(NonnullRefPtr, NonnullRefPtr, NonnullRefPtr); + static NonnullRefPtr create(NonnullRefPtr, NonnullRefPtr, NonnullRefPtr); ~ClampCalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return { { m_min_value, m_center_value, m_max_value } }; } + virtual Vector> children() const override { return { { m_min_value, m_center_value, m_max_value } }; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - ClampCalculationNode(NonnullRefPtr, NonnullRefPtr, NonnullRefPtr, Optional); - NonnullRefPtr m_min_value; - NonnullRefPtr m_center_value; - NonnullRefPtr m_max_value; + ClampCalculationNode(NonnullRefPtr, NonnullRefPtr, NonnullRefPtr, Optional); + NonnullRefPtr m_min_value; + NonnullRefPtr m_center_value; + NonnullRefPtr m_max_value; }; class AbsCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(NonnullRefPtr); + static NonnullRefPtr create(NonnullRefPtr); ~AbsCalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return { { m_value } }; } + virtual Vector> children() const override { return { { m_value } }; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - AbsCalculationNode(NonnullRefPtr); - NonnullRefPtr m_value; + explicit AbsCalculationNode(NonnullRefPtr); + NonnullRefPtr m_value; }; class SignCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(NonnullRefPtr); + static NonnullRefPtr create(NonnullRefPtr); ~SignCalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return { { m_value } }; } + virtual Vector> children() const override { return { { m_value } }; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - SignCalculationNode(NonnullRefPtr); - NonnullRefPtr m_value; + explicit SignCalculationNode(NonnullRefPtr); + NonnullRefPtr m_value; }; class SinCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(NonnullRefPtr); + static NonnullRefPtr create(NonnullRefPtr); ~SinCalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return { { m_value } }; } + virtual Vector> children() const override { return { { m_value } }; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - SinCalculationNode(NonnullRefPtr); - NonnullRefPtr m_value; + explicit SinCalculationNode(NonnullRefPtr); + NonnullRefPtr m_value; }; class CosCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(NonnullRefPtr); + static NonnullRefPtr create(NonnullRefPtr); ~CosCalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return { { m_value } }; } + virtual Vector> children() const override { return { { m_value } }; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - CosCalculationNode(NonnullRefPtr); - NonnullRefPtr m_value; + explicit CosCalculationNode(NonnullRefPtr); + NonnullRefPtr m_value; }; class TanCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(NonnullRefPtr); + static NonnullRefPtr create(NonnullRefPtr); ~TanCalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return { { m_value } }; } + virtual Vector> children() const override { return { { m_value } }; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - TanCalculationNode(NonnullRefPtr); - NonnullRefPtr m_value; + explicit TanCalculationNode(NonnullRefPtr); + NonnullRefPtr m_value; }; class AsinCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(NonnullRefPtr); + static NonnullRefPtr create(NonnullRefPtr); ~AsinCalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return { { m_value } }; } + virtual Vector> children() const override { return { { m_value } }; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - AsinCalculationNode(NonnullRefPtr); - NonnullRefPtr m_value; + explicit AsinCalculationNode(NonnullRefPtr); + NonnullRefPtr m_value; }; class AcosCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(NonnullRefPtr); + static NonnullRefPtr create(NonnullRefPtr); ~AcosCalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return { { m_value } }; } + virtual Vector> children() const override { return { { m_value } }; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - AcosCalculationNode(NonnullRefPtr); - NonnullRefPtr m_value; + explicit AcosCalculationNode(NonnullRefPtr); + NonnullRefPtr m_value; }; class AtanCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(NonnullRefPtr); + static NonnullRefPtr create(NonnullRefPtr); ~AtanCalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return { { m_value } }; } + virtual Vector> children() const override { return { { m_value } }; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - AtanCalculationNode(NonnullRefPtr); - NonnullRefPtr m_value; + explicit AtanCalculationNode(NonnullRefPtr); + NonnullRefPtr m_value; }; class Atan2CalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(NonnullRefPtr, NonnullRefPtr); + static NonnullRefPtr create(NonnullRefPtr, NonnullRefPtr); ~Atan2CalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return { { m_y, m_x } }; } + virtual Vector> children() const override { return { { m_y, m_x } }; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - Atan2CalculationNode(NonnullRefPtr, NonnullRefPtr); - NonnullRefPtr m_y; - NonnullRefPtr m_x; + Atan2CalculationNode(NonnullRefPtr, NonnullRefPtr); + NonnullRefPtr m_y; + NonnullRefPtr m_x; }; class PowCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(NonnullRefPtr, NonnullRefPtr); + static NonnullRefPtr create(NonnullRefPtr, NonnullRefPtr); ~PowCalculationNode(); virtual bool contains_percentage() const override { return false; } virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return { { m_x, m_y } }; } + virtual Vector> children() const override { return { { m_x, m_y } }; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - PowCalculationNode(NonnullRefPtr, NonnullRefPtr); - NonnullRefPtr m_x; - NonnullRefPtr m_y; + PowCalculationNode(NonnullRefPtr, NonnullRefPtr); + NonnullRefPtr m_x; + NonnullRefPtr m_y; }; class SqrtCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(NonnullRefPtr); + static NonnullRefPtr create(NonnullRefPtr); ~SqrtCalculationNode(); virtual bool contains_percentage() const override { return false; } virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return { { m_value } }; } + virtual Vector> children() const override { return { { m_value } }; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - SqrtCalculationNode(NonnullRefPtr); - NonnullRefPtr m_value; + explicit SqrtCalculationNode(NonnullRefPtr); + NonnullRefPtr m_value; }; class HypotCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(Vector>); + static NonnullRefPtr create(Vector>); ~HypotCalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return m_values; } + virtual Vector> children() const override { return m_values; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - HypotCalculationNode(Vector>, Optional); - Vector> m_values; + HypotCalculationNode(Vector>, Optional); + Vector> m_values; }; class LogCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(NonnullRefPtr, NonnullRefPtr); + static NonnullRefPtr create(NonnullRefPtr, NonnullRefPtr); ~LogCalculationNode(); virtual bool contains_percentage() const override { return false; } virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return { { m_x, m_y } }; } + virtual Vector> children() const override { return { { m_x, m_y } }; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - LogCalculationNode(NonnullRefPtr, NonnullRefPtr); - NonnullRefPtr m_x; - NonnullRefPtr m_y; + LogCalculationNode(NonnullRefPtr, NonnullRefPtr); + NonnullRefPtr m_x; + NonnullRefPtr m_y; }; class ExpCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(NonnullRefPtr); + static NonnullRefPtr create(NonnullRefPtr); ~ExpCalculationNode(); virtual bool contains_percentage() const override { return false; } virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return { { m_value } }; } + virtual Vector> children() const override { return { { m_value } }; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - ExpCalculationNode(NonnullRefPtr); - NonnullRefPtr m_value; + explicit ExpCalculationNode(NonnullRefPtr); + NonnullRefPtr m_value; }; class RoundCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(RoundingStrategy, NonnullRefPtr, NonnullRefPtr); + static NonnullRefPtr create(RoundingStrategy, NonnullRefPtr, NonnullRefPtr); ~RoundCalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; // NOTE: This excludes the rounding strategy! RoundingStrategy rounding_strategy() const { return m_strategy; } - virtual Vector> children() const override { return { { m_x, m_y } }; } + virtual Vector> children() const override { return { { m_x, m_y } }; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - RoundCalculationNode(RoundingStrategy, NonnullRefPtr, NonnullRefPtr, Optional); + RoundCalculationNode(RoundingStrategy, NonnullRefPtr, NonnullRefPtr, Optional); RoundingStrategy m_strategy; - NonnullRefPtr m_x; - NonnullRefPtr m_y; + NonnullRefPtr m_x; + NonnullRefPtr m_y; }; class ModCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(NonnullRefPtr, NonnullRefPtr); + static NonnullRefPtr create(NonnullRefPtr, NonnullRefPtr); ~ModCalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return { { m_x, m_y } }; } + virtual Vector> children() const override { return { { m_x, m_y } }; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - ModCalculationNode(NonnullRefPtr, NonnullRefPtr, Optional); - NonnullRefPtr m_x; - NonnullRefPtr m_y; + ModCalculationNode(NonnullRefPtr, NonnullRefPtr, Optional); + NonnullRefPtr m_x; + NonnullRefPtr m_y; }; class RemCalculationNode final : public CalculationNode { public: - static NonnullRefPtr create(NonnullRefPtr, NonnullRefPtr); + static NonnullRefPtr create(NonnullRefPtr, NonnullRefPtr); ~RemCalculationNode(); virtual bool contains_percentage() const override; virtual CalculatedStyleValue::CalculationResult resolve(CalculationResolutionContext const&) const override; - virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; + virtual NonnullRefPtr with_simplified_children(CalculationContext const&, CalculationResolutionContext const&) const override; virtual Optional run_operation_if_possible(CalculationContext const&, CalculationResolutionContext const&) const override; - virtual Vector> children() const override { return { { m_x, m_y } }; } + virtual Vector> children() const override { return { { m_x, m_y } }; } virtual void dump(StringBuilder&, int indent) const override; virtual bool equals(CalculationNode const&) const override; private: - RemCalculationNode(NonnullRefPtr, NonnullRefPtr, Optional); - NonnullRefPtr m_x; - NonnullRefPtr m_y; + RemCalculationNode(NonnullRefPtr, NonnullRefPtr, Optional); + NonnullRefPtr m_x; + NonnullRefPtr m_y; }; // https://drafts.csswg.org/css-values-4/#calc-simplification -NonnullRefPtr simplify_a_calculation_tree(CalculationNode const& root, CalculationContext const& context, CalculationResolutionContext const& resolution_context); +NonnullRefPtr simplify_a_calculation_tree(CalculationNode const& root, CalculationContext const& context, CalculationResolutionContext const& resolution_context); } diff --git a/Libraries/LibWeb/CSS/StyleValues/EdgeStyleValue.cpp b/Libraries/LibWeb/CSS/StyleValues/EdgeStyleValue.cpp index 8d6e9de5584..265d8530b2d 100644 --- a/Libraries/LibWeb/CSS/StyleValues/EdgeStyleValue.cpp +++ b/Libraries/LibWeb/CSS/StyleValues/EdgeStyleValue.cpp @@ -20,7 +20,7 @@ String EdgeStyleValue::to_string(SerializationMode mode) const // FIXME: Figure out how to get the proper calculation context here CalculationContext context = {}; - Vector> sum_parts; + Vector> sum_parts; sum_parts.append(NumericCalculationNode::create(Percentage(100), context)); if (offset().is_length()) { sum_parts.append(NegateCalculationNode::create(NumericCalculationNode::create(offset().length(), context))); diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSMathFunctions.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSMathFunctions.cpp index a92b1d488b4..f0588a7b785 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSMathFunctions.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateCSSMathFunctions.cpp @@ -116,7 +116,7 @@ static Optional parse_rounding_strategy(Vector return keyword_to_rounding_strategy(maybe_keyword.value()); } -RefPtr Parser::parse_math_function(Function const& function, CalculationContext const& context) +RefPtr Parser::parse_math_function(Function const& function, CalculationContext const& context) { TokenStream stream { function.value }; auto arguments = parse_a_comma_separated_list_of_component_values(stream); @@ -137,7 +137,7 @@ RefPtr Parser::parse_math_function(Function const& function, Ca // Variadic function function_generator.append(R"~~~( Optional determined_argument_type; - Vector> parsed_arguments; + Vector> parsed_arguments; parsed_arguments.ensure_capacity(arguments.size()); for (auto& argument : arguments) { @@ -243,7 +243,7 @@ RefPtr Parser::parse_math_function(Function const& function, Ca } else { // NOTE: This assumes everything not handled above is a calculation node of some kind. parameter_is_calculation = true; - parameter_generator.set("parameter_type", "RefPtr"_string); + parameter_generator.set("parameter_type", "RefPtr"_string); parameter_generator.set("parse_function", "parse_a_calculation(arguments[argument_index], context)"_string); parameter_generator.set("check_function", " != nullptr"_string); parameter_generator.set("release_function", ".release_nonnull()"_string);