diff --git a/Tests/LibWeb/Text/expected/DOM/getElementById-multiple.txt b/Tests/LibWeb/Text/expected/DOM/getElementById-multiple.txt new file mode 100644 index 00000000000..d5a3531f4ba --- /dev/null +++ b/Tests/LibWeb/Text/expected/DOM/getElementById-multiple.txt @@ -0,0 +1 @@ + getElementById('foo') => 1 diff --git a/Tests/LibWeb/Text/input/DOM/getElementById-multiple.html b/Tests/LibWeb/Text/input/DOM/getElementById-multiple.html new file mode 100644 index 00000000000..adcc0b3b9ec --- /dev/null +++ b/Tests/LibWeb/Text/input/DOM/getElementById-multiple.html @@ -0,0 +1,7 @@ +
+ + diff --git a/Userland/Libraries/LibWeb/DOM/NonElementParentNode.h b/Userland/Libraries/LibWeb/DOM/NonElementParentNode.h index 4c834250bf1..e2d09d0510c 100644 --- a/Userland/Libraries/LibWeb/DOM/NonElementParentNode.h +++ b/Userland/Libraries/LibWeb/DOM/NonElementParentNode.h @@ -18,10 +18,10 @@ namespace Web::DOM { template class NonElementParentNode { public: - JS::GCPtr get_element_by_id(FlyString const& id) const + JS::GCPtr get_element_by_id(FlyString const& id) const { - JS::GCPtr found_element; - static_cast(this)->template for_each_in_inclusive_subtree_of_type([&](auto& element) { + JS::GCPtr found_element; + const_cast(static_cast(this))->template for_each_in_inclusive_subtree_of_type([&](auto& element) { if (element.id() == id) { found_element = &element; return TraversalDecision::Break; @@ -31,19 +31,6 @@ public: return found_element; } - JS::GCPtr get_element_by_id(FlyString const& id) - { - JS::GCPtr found_element; - static_cast(this)->template for_each_in_inclusive_subtree_of_type([&](auto& element) { - if (element.id() == id) { - found_element = &element; - return TraversalDecision::Continue; - } - return TraversalDecision::Continue; - }); - return found_element; - } - protected: NonElementParentNode() = default; };