HTMLFormControlElementWithState.h [plain text]
#pragma once
#include "HTMLFormControlElement.h"
namespace WebCore {
using FormControlState = Vector<String>;
class HTMLFormControlElementWithState : public HTMLFormControlElement {
WTF_MAKE_ISO_ALLOCATED(HTMLFormControlElementWithState);
public:
virtual ~HTMLFormControlElementWithState();
virtual bool shouldSaveAndRestoreFormControlState() const;
virtual FormControlState saveFormControlState() const;
virtual void restoreFormControlState(const FormControlState&) { }
protected:
HTMLFormControlElementWithState(const QualifiedName& tagName, Document&, HTMLFormElement*);
virtual bool shouldAutocomplete() const;
bool canContainRangeEndPoint() const override { return false; }
void finishParsingChildren() override;
InsertedIntoAncestorResult insertedIntoAncestor(InsertionType, ContainerNode&) override;
void removedFromAncestor(RemovalType, ContainerNode&) override;
private:
bool isFormControlElementWithState() const final;
};
}
SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::HTMLFormControlElementWithState)
static bool isType(const WebCore::FormAssociatedElement& element) { return element.isFormControlElementWithState(); }
SPECIALIZE_TYPE_TRAITS_END()