Explorar o código

LibWeb: Correct HTMLMeterElement color selection

The logic of the comment "the region between the high boundary and the
maximum value must be treated as the optimum region" is correct.
However, the code below covered only two cases, the optimum case was
missing.
Fixes #473
simonkrauter hai 1 ano
pai
achega
a676bd97a7
Modificáronse 1 ficheiros con 3 adicións e 1 borrados
  1. 3 1
      Userland/Libraries/LibWeb/HTML/HTMLMeterElement.cpp

+ 3 - 1
Userland/Libraries/LibWeb/HTML/HTMLMeterElement.cpp

@@ -223,7 +223,9 @@ void HTMLMeterElement::update_meter_value_element()
     }
     // Finally, if the optimum point is higher than the high boundary, then the situation is reversed; the region between the high boundary and the maximum value must be treated as the optimum region, the region from the high boundary down to the low boundary must be treated as a suboptimal region, and the remaining region must be treated as an even less good region.
     else {
-        if (value >= low && value <= high)
+        if (value >= high && value <= max)
+            m_meter_value_element->set_use_pseudo_element(CSS::Selector::PseudoElement::Type::MeterOptimumValue);
+        else if (value >= low && value <= high)
             m_meter_value_element->set_use_pseudo_element(CSS::Selector::PseudoElement::Type::MeterSuboptimumValue);
         else
             m_meter_value_element->set_use_pseudo_element(CSS::Selector::PseudoElement::Type::MeterEvenLessGoodValue);