HTMLFieldSetElement.h [plain text]
#pragma once
#include "HTMLFormControlElement.h"
#include <wtf/HashSet.h>
namespace WebCore {
class FormAssociatedElement;
class HTMLFormControlsCollection;
class HTMLFieldSetElement final : public HTMLFormControlElement {
WTF_MAKE_ISO_ALLOCATED(HTMLFieldSetElement);
public:
static Ref<HTMLFieldSetElement> create(const QualifiedName&, Document&, HTMLFormElement*);
HTMLLegendElement* legend() const;
Ref<HTMLCollection> elements();
void addInvalidDescendant(const HTMLFormControlElement&);
void removeInvalidDescendant(const HTMLFormControlElement&);
private:
HTMLFieldSetElement(const QualifiedName&, Document&, HTMLFormElement*);
~HTMLFieldSetElement();
bool isEnumeratable() const final { return true; }
bool supportsFocus() const final;
RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) final;
const AtomicString& formControlType() const final;
bool computeWillValidate() const final { return false; }
void disabledAttributeChanged() final;
void disabledStateChanged() final;
void childrenChanged(const ChildChange&) final;
void didMoveToNewDocument(Document& oldDocument, Document& newDocument) final;
bool matchesValidPseudoClass() const final;
bool matchesInvalidPseudoClass() const final;
HashSet<const HTMLFormControlElement*> m_invalidDescendants;
bool m_hasDisabledAttribute { false };
};
}