LibWeb: Don't include SVG script element in HTMLOptionElement.text

We had an old FIXME for this from times before SVGScriptElement was
a thing in our codebase.
This commit is contained in:
Andreas Kling 2024-11-15 11:16:33 +01:00 committed by Andreas Kling
parent 4c2d4cdf50
commit 77d30a0cb7
Notes: github-actions[bot] 2024-11-15 11:55:40 +00:00
2 changed files with 4 additions and 5 deletions

View file

@ -17,6 +17,7 @@
#include <LibWeb/HTML/HTMLSelectElement.h>
#include <LibWeb/HighResolutionTime/TimeOrigin.h>
#include <LibWeb/Infra/Strings.h>
#include <LibWeb/SVG/SVGScriptElement.h>
namespace Web::HTML {
@ -88,8 +89,7 @@ WebIDL::ExceptionOr<void> HTMLOptionElement::set_value(String const& value)
static void concatenate_descendants_text_content(DOM::Node const* node, StringBuilder& builder)
{
// FIXME: SVGScriptElement should also be skipped, but it doesn't exist yet.
if (is<HTMLScriptElement>(node))
if (is<HTMLScriptElement>(node) || is<SVG::SVGScriptElement>(node))
return;
if (is<DOM::Text>(node))
builder.append(verify_cast<DOM::Text>(node)->data());

View file

@ -6,12 +6,11 @@ Rerun
Found 11 tests
10 Pass
1 Fail
11 Pass
Details
Result Test Name MessagePass option.text should recurse
Pass option.text should not recurse into HTML script elements
Fail option.text should not recurse into SVG script elements
Pass option.text should not recurse into SVG script elements
Pass option.text should recurse into MathML script elements
Pass option.text should recurse into null script elements
Pass option.text should work if a child of the option ends with a script