#ifndef HTMLKeygenElement_h
#define HTMLKeygenElement_h
#include "core/html/HTMLFormControlElementWithState.h"
namespace WebCore {
class HTMLSelectElement;
class HTMLKeygenElement FINAL : public HTMLFormControlElementWithState {
public:
static PassRefPtr<HTMLKeygenElement> create(Document& document, HTMLFormElement* form)
{
return adoptRef(new HTMLKeygenElement(document, form));
}
virtual bool willValidate() const OVERRIDE { return false; }
private:
HTMLKeygenElement(Document&, HTMLFormElement*);
virtual bool areAuthorShadowsAllowed() const OVERRIDE { return false; }
virtual bool canStartSelection() const OVERRIDE { return false; }
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
virtual bool appendFormData(FormDataList&, bool) OVERRIDE;
virtual const AtomicString& formControlType() const OVERRIDE;
virtual bool isOptionalFormControl() const OVERRIDE { return false; }
virtual bool isEnumeratable() const OVERRIDE { return true; }
virtual bool isInteractiveContent() const OVERRIDE;
virtual bool supportsAutofocus() const OVERRIDE;
virtual bool supportLabels() const OVERRIDE { return true; }
virtual void resetImpl() OVERRIDE;
virtual bool shouldSaveAndRestoreFormControlState() const OVERRIDE { return false; }
virtual void didAddUserAgentShadowRoot(ShadowRoot&) OVERRIDE;
HTMLSelectElement* shadowSelect() const;
};
}
#endif