mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 03:57:43 +00:00
LibWeb: Skip select element internal shadow tree update unless it exists
This fixes a crash seen on https://www.gaslightanthem.com/
This commit is contained in:
parent
6713ed483b
commit
58b5181364
3 changed files with 16 additions and 0 deletions
|
@ -0,0 +1 @@
|
|||
PASS
|
|
@ -0,0 +1,12 @@
|
|||
<script src="../include.js"></script>
|
||||
<script>
|
||||
test(() => {
|
||||
let select = document.createElement("select");
|
||||
let option = document.createElement("option");
|
||||
option.setAttribute("selected", "selected");
|
||||
option.setAttribute("value", "foo");
|
||||
select.appendChild(option);
|
||||
select.value = "foo";
|
||||
println("PASS"); // Didn't crash
|
||||
});
|
||||
</script>
|
|
@ -383,6 +383,9 @@ void HTMLSelectElement::create_shadow_tree_if_needed()
|
|||
|
||||
void HTMLSelectElement::update_inner_text_element()
|
||||
{
|
||||
if (!m_inner_text_element)
|
||||
return;
|
||||
|
||||
// Update inner text element to text content of selected option
|
||||
for (auto const& option_element : list_of_options()) {
|
||||
if (option_element->selected()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue