diff --git a/Tests/LibWeb/Text/expected/HTML/HTMLProgressElement-set-attributes.txt b/Tests/LibWeb/Text/expected/HTML/HTMLProgressElement-set-attributes.txt index a693297379e..6af4a53740e 100644 --- a/Tests/LibWeb/Text/expected/HTML/HTMLProgressElement-set-attributes.txt +++ b/Tests/LibWeb/Text/expected/HTML/HTMLProgressElement-set-attributes.txt @@ -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 diff --git a/Tests/LibWeb/Text/input/HTML/HTMLProgressElement-set-attributes.html b/Tests/LibWeb/Text/input/HTML/HTMLProgressElement-set-attributes.html index 8a7be1d6dd7..98905b0d2f0 100644 --- a/Tests/LibWeb/Text/input/HTML/HTMLProgressElement-set-attributes.html +++ b/Tests/LibWeb/Text/input/HTML/HTMLProgressElement-set-attributes.html @@ -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}`); }); diff --git a/Userland/Libraries/LibWeb/HTML/HTMLProgressElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLProgressElement.cpp index a205c55d132..648e1674170 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLProgressElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLProgressElement.cpp @@ -49,7 +49,7 @@ double HTMLProgressElement::value() const WebIDL::ExceptionOr 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 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();