From 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Tue, 27 Jun 2017 06:07:23 +0000 Subject: webkitgtk-2.16.5 --- Source/WebCore/html/HTMLFieldSetElement.h | 52 ++++++++++++++++++------------- 1 file changed, 30 insertions(+), 22 deletions(-) (limited to 'Source/WebCore/html/HTMLFieldSetElement.h') diff --git a/Source/WebCore/html/HTMLFieldSetElement.h b/Source/WebCore/html/HTMLFieldSetElement.h index 0cf0d0ed2..441a218b4 100644 --- a/Source/WebCore/html/HTMLFieldSetElement.h +++ b/Source/WebCore/html/HTMLFieldSetElement.h @@ -21,50 +21,58 @@ * */ -#ifndef HTMLFieldSetElement_h -#define HTMLFieldSetElement_h +#pragma once #include "HTMLFormControlElement.h" +#include namespace WebCore { class FormAssociatedElement; -class HTMLCollection; +class HTMLFormControlsCollection; +class RenderFieldSet; class HTMLFieldSetElement final : public HTMLFormControlElement { public: - static PassRefPtr create(const QualifiedName&, Document&, HTMLFormElement*); + static Ref create(const QualifiedName&, Document&, HTMLFormElement*); HTMLLegendElement* legend() const; - PassRefPtr elements(); + + Ref elements(); + Ref elementsForNativeBindings(); const Vector& associatedElements() const; unsigned length() const; -protected: - virtual void disabledAttributeChanged() override; + void addInvalidDescendant(const HTMLFormControlElement&); + void removeInvalidDescendant(const HTMLFormControlElement&); + + RenderFieldSet* renderer() const; private: HTMLFieldSetElement(const QualifiedName&, Document&, HTMLFormElement*); + ~HTMLFieldSetElement(); + + bool isEnumeratable() const final { return true; } + bool supportsFocus() const final; + RenderPtr 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) final; - virtual bool isEnumeratable() const override { return true; } - virtual bool supportsFocus() const override; - virtual RenderPtr createElementRenderer(PassRef) override; - virtual const AtomicString& formControlType() const override; - virtual bool recalcWillValidate() const override { return false; } - virtual void childrenChanged(const ChildChange&) override; - virtual bool areAuthorShadowsAllowed() const override { return false; } + bool matchesValidPseudoClass() const final; + bool matchesInvalidPseudoClass() const final; - static void invalidateDisabledStateUnder(Element*); - void refreshElementsIfNeeded() const; + void updateAssociatedElements() const; mutable Vector m_associatedElements; - // When dom tree is modified, we have to refresh the m_associatedElements array. - mutable uint64_t m_documentVersion; + // When the DOM tree is modified, we have to refresh the m_associatedElements array. + mutable uint64_t m_documentVersion { 0 }; + HashSet m_invalidDescendants; + bool m_hasDisabledAttribute { false }; }; -NODE_TYPE_CASTS(HTMLFieldSetElement) - } // namespace - -#endif -- cgit v1.2.1