diff --git a/Libraries/LibWeb/DOM/NonDocumentTypeChildNode.h b/Libraries/LibWeb/DOM/NonDocumentTypeChildNode.h index 720edd2429..2e3b3996d9 100644 --- a/Libraries/LibWeb/DOM/NonDocumentTypeChildNode.h +++ b/Libraries/LibWeb/DOM/NonDocumentTypeChildNode.h @@ -53,8 +53,18 @@ public: return nullptr; } + Element* next_element_in_pre_order() + { + for (auto* node = static_cast(this)->next_in_pre_order(); node; node = node->next_in_pre_order()) { + if (is(*node)) + return downcast(node); + } + return nullptr; + } + const Element* previous_element_sibling() const { return const_cast(this)->previous_element_sibling(); } const Element* next_element_sibling() const { return const_cast(this)->next_element_sibling(); } + const Element* next_element_in_pre_order() const { return const_cast(this)->next_element_in_pre_order(); } protected: NonDocumentTypeChildNode() { }