소스 검색

LibWeb: Combine the two sets of calc() operator enums

Sam Atkins 3 년 전
부모
커밋
b818d952d1
3개의 변경된 파일35개의 추가작업 그리고 42개의 파일을 삭제
  1. 12 12
      Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp
  2. 8 8
      Userland/Libraries/LibWeb/CSS/StyleValue.cpp
  3. 15 22
      Userland/Libraries/LibWeb/CSS/StyleValue.h

+ 12 - 12
Userland/Libraries/LibWeb/CSS/Parser/Parser.cpp

@@ -4188,7 +4188,7 @@ OwnPtr<CalculatedStyleValue::CalcProductPartWithOperator> Parser::parse_calc_pro
 {
     // Note: The default value is not used or passed around.
     auto product_with_operator = make<CalculatedStyleValue::CalcProductPartWithOperator>(
-        CalculatedStyleValue::CalcProductPartWithOperator::Multiply,
+        CalculatedStyleValue::ProductOperation::Multiply,
         CalculatedStyleValue::CalcNumberValue(0));
 
     tokens.skip_whitespace();
@@ -4201,7 +4201,7 @@ OwnPtr<CalculatedStyleValue::CalcProductPartWithOperator> Parser::parse_calc_pro
     if (op == "*"sv) {
         tokens.next_token();
         tokens.skip_whitespace();
-        product_with_operator->op = CalculatedStyleValue::CalcProductPartWithOperator::Multiply;
+        product_with_operator->op = CalculatedStyleValue::ProductOperation::Multiply;
         auto parsed_calc_value = parse_calc_value(tokens);
         if (!parsed_calc_value.has_value())
             return nullptr;
@@ -4210,7 +4210,7 @@ OwnPtr<CalculatedStyleValue::CalcProductPartWithOperator> Parser::parse_calc_pro
     } else if (op == "/"sv) {
         tokens.next_token();
         tokens.skip_whitespace();
-        product_with_operator->op = CalculatedStyleValue::CalcProductPartWithOperator::Divide;
+        product_with_operator->op = CalculatedStyleValue::ProductOperation::Divide;
         auto parsed_calc_number_value = parse_calc_number_value(tokens);
         if (!parsed_calc_number_value.has_value())
             return nullptr;
@@ -4226,7 +4226,7 @@ OwnPtr<CalculatedStyleValue::CalcNumberProductPartWithOperator> Parser::parse_ca
 {
     // Note: The default value is not used or passed around.
     auto number_product_with_operator = make<CalculatedStyleValue::CalcNumberProductPartWithOperator>(
-        CalculatedStyleValue::CalcNumberProductPartWithOperator::Multiply,
+        CalculatedStyleValue::ProductOperation::Multiply,
         CalculatedStyleValue::CalcNumberValue(0));
 
     tokens.skip_whitespace();
@@ -4239,11 +4239,11 @@ OwnPtr<CalculatedStyleValue::CalcNumberProductPartWithOperator> Parser::parse_ca
     if (op == "*"sv) {
         tokens.next_token();
         tokens.skip_whitespace();
-        number_product_with_operator->op = CalculatedStyleValue::CalcNumberProductPartWithOperator::Multiply;
+        number_product_with_operator->op = CalculatedStyleValue::ProductOperation::Multiply;
     } else if (op == "/"sv) {
         tokens.next_token();
         tokens.skip_whitespace();
-        number_product_with_operator->op = CalculatedStyleValue::CalcNumberProductPartWithOperator::Divide;
+        number_product_with_operator->op = CalculatedStyleValue::ProductOperation::Divide;
     } else {
         return nullptr;
     }
@@ -4287,12 +4287,12 @@ OwnPtr<CalculatedStyleValue::CalcNumberSumPartWithOperator> Parser::parse_calc_n
     auto& token = tokens.next_token();
     tokens.skip_whitespace();
 
-    CalculatedStyleValue::CalcNumberSumPartWithOperator::Operation op;
+    CalculatedStyleValue::SumOperation op;
     auto delim = token.token().delim();
     if (delim == "+"sv)
-        op = CalculatedStyleValue::CalcNumberSumPartWithOperator::Operation::Add;
+        op = CalculatedStyleValue::SumOperation::Add;
     else if (delim == "-"sv)
-        op = CalculatedStyleValue::CalcNumberSumPartWithOperator::Operation::Subtract;
+        op = CalculatedStyleValue::SumOperation::Subtract;
     else
         return nullptr;
 
@@ -4373,12 +4373,12 @@ OwnPtr<CalculatedStyleValue::CalcSumPartWithOperator> Parser::parse_calc_sum_par
     auto& token = tokens.next_token();
     tokens.skip_whitespace();
 
-    CalculatedStyleValue::CalcSumPartWithOperator::Operation op;
+    CalculatedStyleValue::SumOperation op;
     auto delim = token.token().delim();
     if (delim == "+"sv)
-        op = CalculatedStyleValue::CalcSumPartWithOperator::Operation::Add;
+        op = CalculatedStyleValue::SumOperation::Add;
     else if (delim == "-"sv)
-        op = CalculatedStyleValue::CalcSumPartWithOperator::Operation::Subtract;
+        op = CalculatedStyleValue::SumOperation::Subtract;
     else
         return nullptr;
 

+ 8 - 8
Userland/Libraries/LibWeb/CSS/StyleValue.cpp

@@ -309,9 +309,9 @@ static float resolve_calc_number_product(NonnullOwnPtr<CalculatedStyleValue::Cal
 
     for (auto& additional_number_value : calc_number_product->zero_or_more_additional_calc_number_values) {
         auto additional_value = resolve_calc_number_value(additional_number_value.value);
-        if (additional_number_value.op == CalculatedStyleValue::CalcNumberProductPartWithOperator::Multiply)
+        if (additional_number_value.op == CalculatedStyleValue::ProductOperation::Multiply)
             value *= additional_value;
-        else if (additional_number_value.op == CalculatedStyleValue::CalcNumberProductPartWithOperator::Divide)
+        else if (additional_number_value.op == CalculatedStyleValue::ProductOperation::Divide)
             value /= additional_value;
         else
             VERIFY_NOT_REACHED();
@@ -326,9 +326,9 @@ static float resolve_calc_number_sum(NonnullOwnPtr<CalculatedStyleValue::CalcNum
 
     for (auto& additional_product : calc_number_sum->zero_or_more_additional_calc_number_products) {
         auto additional_value = resolve_calc_number_product(additional_product.calc_number_product);
-        if (additional_product.op == CSS::CalculatedStyleValue::CalcNumberSumPartWithOperator::Add)
+        if (additional_product.op == CSS::CalculatedStyleValue::SumOperation::Add)
             value += additional_value;
-        else if (additional_product.op == CSS::CalculatedStyleValue::CalcNumberSumPartWithOperator::Subtract)
+        else if (additional_product.op == CSS::CalculatedStyleValue::SumOperation::Subtract)
             value -= additional_value;
         else
             VERIFY_NOT_REACHED();
@@ -353,13 +353,13 @@ static float resolve_calc_product(NonnullOwnPtr<CalculatedStyleValue::CalcProduc
     for (auto& additional_value : calc_product->zero_or_more_additional_calc_values) {
         additional_value.value.visit(
             [&](CalculatedStyleValue::CalcValue const& calc_value) {
-                if (additional_value.op != CalculatedStyleValue::CalcProductPartWithOperator::Multiply)
+                if (additional_value.op != CalculatedStyleValue::ProductOperation::Multiply)
                     VERIFY_NOT_REACHED();
                 auto resolved_value = resolve_calc_value(calc_value, layout_node);
                 value *= resolved_value;
             },
             [&](CalculatedStyleValue::CalcNumberValue const& calc_number_value) {
-                if (additional_value.op != CalculatedStyleValue::CalcProductPartWithOperator::Divide)
+                if (additional_value.op != CalculatedStyleValue::ProductOperation::Divide)
                     VERIFY_NOT_REACHED();
                 auto resolved_calc_number_value = resolve_calc_number_value(calc_number_value);
                 value /= resolved_calc_number_value;
@@ -375,9 +375,9 @@ static float resolve_calc_sum(NonnullOwnPtr<CalculatedStyleValue::CalcSum> const
 
     for (auto& additional_product : calc_sum->zero_or_more_additional_calc_products) {
         auto additional_value = resolve_calc_product(additional_product.calc_product, layout_node);
-        if (additional_product.op == CalculatedStyleValue::CalcSumPartWithOperator::Operation::Add)
+        if (additional_product.op == CalculatedStyleValue::SumOperation::Add)
             value += additional_value;
-        else if (additional_product.op == CalculatedStyleValue::CalcSumPartWithOperator::Operation::Subtract)
+        else if (additional_product.op == CalculatedStyleValue::SumOperation::Subtract)
             value -= additional_value;
         else
             VERIFY_NOT_REACHED();

+ 15 - 22
Userland/Libraries/LibWeb/CSS/StyleValue.h

@@ -666,6 +666,15 @@ public:
     using CalcNumberValue = Variant<float, NonnullOwnPtr<CalcNumberSum>>;
     using CalcValue = Variant<float, CSS::Length, NonnullOwnPtr<CalcSum>>;
 
+    enum class SumOperation {
+        Add,
+        Subtract,
+    };
+    enum class ProductOperation {
+        Multiply,
+        Divide,
+    };
+
     // This represents that: https://www.w3.org/TR/css-values-3/#calc-syntax
     struct CalcSum {
         CalcSum(NonnullOwnPtr<CalcProduct> first_calc_product, NonnullOwnPtrVector<CalcSumPartWithOperator> additional)
@@ -691,24 +700,16 @@ public:
     };
 
     struct CalcSumPartWithOperator {
-        enum Operation {
-            Add,
-            Subtract,
-        };
-
-        CalcSumPartWithOperator(Operation op, NonnullOwnPtr<CalcProduct> calc_product)
+        CalcSumPartWithOperator(SumOperation op, NonnullOwnPtr<CalcProduct> calc_product)
             : op(op)
             , calc_product(move(calc_product)) {};
 
-        Operation op;
+        SumOperation op;
         NonnullOwnPtr<CalcProduct> calc_product;
     };
 
     struct CalcProductPartWithOperator {
-        enum {
-            Multiply,
-            Divide,
-        } op;
+        ProductOperation op;
         Variant<CalcValue, CalcNumberValue> value;
     };
 
@@ -718,24 +719,16 @@ public:
     };
 
     struct CalcNumberProductPartWithOperator {
-        enum {
-            Multiply,
-            Divide,
-        } op;
+        ProductOperation op;
         CalcNumberValue value;
     };
 
     struct CalcNumberSumPartWithOperator {
-        enum Operation {
-            Add,
-            Subtract,
-        };
-
-        CalcNumberSumPartWithOperator(Operation op, NonnullOwnPtr<CalcNumberProduct> calc_number_product)
+        CalcNumberSumPartWithOperator(SumOperation op, NonnullOwnPtr<CalcNumberProduct> calc_number_product)
             : op(op)
             , calc_number_product(move(calc_number_product)) {};
 
-        Operation op;
+        SumOperation op;
         NonnullOwnPtr<CalcNumberProduct> calc_number_product;
     };