1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 20:37:35 +00:00

LibWeb: Make FormAssociatedElement inherit from HTMLElement

The new event target implementation requires us to downcast an
EventTarget to a FormAssociatedElement to check if the current Element
EventTarget has a form owner to setup a with scope for the form owner.

This also makes all form associated elements inherit from
FormAssociatedElement where it was previously missing.

https://html.spec.whatwg.org/#form-associated-element
This commit is contained in:
Luke Wilde 2021-10-14 16:18:49 +01:00 committed by Linus Groh
parent f71f404e0c
commit 3bb5c6207f
18 changed files with 31 additions and 38 deletions

View file

@ -8,10 +8,11 @@
#include <AK/WeakPtr.h>
#include <LibWeb/Forward.h>
#include <LibWeb/HTML/HTMLElement.h>
namespace Web::HTML {
class FormAssociatedElement {
class FormAssociatedElement : public HTMLElement {
public:
HTMLFormElement* form() { return m_form; }
HTMLFormElement const* form() const { return m_form; }
@ -19,10 +20,12 @@ public:
void set_form(HTMLFormElement*);
protected:
FormAssociatedElement() = default;
virtual ~FormAssociatedElement() = default;
FormAssociatedElement(DOM::Document& document, QualifiedName qualified_name)
: HTMLElement(document, move(qualified_name))
{
}
virtual HTMLElement& form_associated_element_to_html_element() = 0;
virtual ~FormAssociatedElement() = default;
private:
WeakPtr<HTMLFormElement> m_form;