LibWeb: Allow progress element value to be set higher than the max value

Previously, we returned from the value setter if the specified value
was above the max value. This is not required, as the getter clamps the
returned value to the max value.
This commit is contained in:
Tim Ledbetter 2024-03-18 06:13:01 +00:00 committed by Andreas Kling
parent e795c24fdd
commit ecbc686bc8
Notes: sideshowbarker 2024-07-18 00:34:07 +09:00
3 changed files with 29 additions and 1 deletions

View File

@ -0,0 +1,8 @@
value attribute initial value: 0
max attribute initial value: 1
value attribute after setting value attribute to -1: 0
max attribute after setting max attribute to -1: 1
value attribute after setting value attribute to 50: 1
value attribute after setting max attribute to 100: 50
max attribute after setting max attribute to 100: 100
value attribute after setting max attribute to 101: 100

View File

@ -0,0 +1,20 @@
<!DOCTYPE html>
<script src="../include.js"></script>
<script>
test(() => {
const progressElement = document.createElement("progress");
println(`value attribute initial value: ${progressElement.value}`);
println(`max attribute initial value: ${progressElement.max}`);
progressElement.value = -1;
println(`value attribute after setting value attribute to -1: ${progressElement.value}`);
progressElement.max = -1;
println(`max attribute after setting max attribute to -1: ${progressElement.max}`);
progressElement.value = 50;
println(`value attribute after setting value attribute to 50: ${progressElement.value}`);
progressElement.max = 100;
println(`value attribute after setting max attribute to 100: ${progressElement.value}`);
println(`max attribute after setting max attribute to 100: ${progressElement.max}`);
progressElement.value = 101;
println(`value attribute after setting max attribute to 101: ${progressElement.value}`);
});
</script>

View File

@ -48,7 +48,7 @@ double HTMLProgressElement::value() const
WebIDL::ExceptionOr<void> HTMLProgressElement::set_value(double value)
{
if (value < 0 || value > max())
if (value < 0)
return {};
TRY(set_attribute(HTML::AttributeNames::value, MUST(String::number(value))));