From c75dda8f8bc58ab617cdcd7e4f4a1357962d3850 Mon Sep 17 00:00:00 2001 From: Psychpsyo Date: Fri, 22 Nov 2024 13:05:10 +0100 Subject: [PATCH] LibWeb: Stop radio buttons firing change events when losing focus --- Libraries/LibWeb/HTML/HTMLInputElement.cpp | 1 + ...adio-button-focus-lost-no-change-event.txt | 1 + ...dio-button-focus-lost-no-change-event.html | 23 +++++++++++++++++++ 3 files changed, 25 insertions(+) create mode 100644 Tests/LibWeb/Text/expected/radio-button-focus-lost-no-change-event.txt create mode 100644 Tests/LibWeb/Text/input/radio-button-focus-lost-no-change-event.html diff --git a/Libraries/LibWeb/HTML/HTMLInputElement.cpp b/Libraries/LibWeb/HTML/HTMLInputElement.cpp index 7ea12b8d7c4..0b6ef85e02a 100644 --- a/Libraries/LibWeb/HTML/HTMLInputElement.cpp +++ b/Libraries/LibWeb/HTML/HTMLInputElement.cpp @@ -638,6 +638,7 @@ void HTMLInputElement::commit_pending_changes() case TypeAttributeState::Text: case TypeAttributeState::URL: case TypeAttributeState::Checkbox: + case TypeAttributeState::RadioButton: if (!m_has_uncommitted_changes) return; break; diff --git a/Tests/LibWeb/Text/expected/radio-button-focus-lost-no-change-event.txt b/Tests/LibWeb/Text/expected/radio-button-focus-lost-no-change-event.txt new file mode 100644 index 00000000000..5a854a88dc7 --- /dev/null +++ b/Tests/LibWeb/Text/expected/radio-button-focus-lost-no-change-event.txt @@ -0,0 +1 @@ +PASS: Change event was not fired diff --git a/Tests/LibWeb/Text/input/radio-button-focus-lost-no-change-event.html b/Tests/LibWeb/Text/input/radio-button-focus-lost-no-change-event.html new file mode 100644 index 00000000000..5a38b7a1cf7 --- /dev/null +++ b/Tests/LibWeb/Text/input/radio-button-focus-lost-no-change-event.html @@ -0,0 +1,23 @@ + + + +