mirror of
https://github.com/SerenityOS/serenity
synced 2024-10-15 12:23:15 +00:00
LibWeb: Limit progress element attribute values to the correct ranges
The max attribute is now clamped to ensure it is limited to positive numbers and the value attribute is clamped to ensure it is non-negative.
This commit is contained in:
parent
ecbc686bc8
commit
3a7a84f39b
|
@ -6,3 +6,6 @@ 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
|
||||
value attribute after setting value attribute to -1: 0
|
||||
value attribute after setting max attribute to 0: 0
|
||||
max attribute after setting max attribute to 0: 1
|
||||
|
|
|
@ -16,5 +16,10 @@
|
|||
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}`);
|
||||
progressElement.value = -1;
|
||||
println(`value attribute after setting value attribute to -1: ${progressElement.value}`);
|
||||
progressElement.max = 0;
|
||||
println(`value attribute after setting max attribute to 0: ${progressElement.value}`);
|
||||
println(`max attribute after setting max attribute to 0: ${progressElement.max}`);
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -49,7 +49,7 @@ double HTMLProgressElement::value() const
|
|||
WebIDL::ExceptionOr<void> HTMLProgressElement::set_value(double value)
|
||||
{
|
||||
if (value < 0)
|
||||
return {};
|
||||
value = 0;
|
||||
|
||||
TRY(set_attribute(HTML::AttributeNames::value, MUST(String::number(value))));
|
||||
update_progress_value_element();
|
||||
|
@ -69,7 +69,7 @@ double HTMLProgressElement::max() const
|
|||
WebIDL::ExceptionOr<void> HTMLProgressElement::set_max(double value)
|
||||
{
|
||||
if (value <= 0)
|
||||
return {};
|
||||
value = 1;
|
||||
|
||||
TRY(set_attribute(HTML::AttributeNames::max, MUST(String::number(value))));
|
||||
update_progress_value_element();
|
||||
|
|
Loading…
Reference in a new issue