#ifndef NumberInputType_h
#define NumberInputType_h
#include "TextFieldInputType.h"
namespace WebCore {
class NumberInputType : public TextFieldInputType {
public:
explicit NumberInputType(HTMLInputElement& element) : TextFieldInputType(element) { }
private:
virtual const AtomicString& formControlType() const override;
virtual void setValue(const String&, bool valueChanged, TextFieldEventBehavior) override;
virtual double valueAsDouble() const override;
virtual void setValueAsDouble(double, TextFieldEventBehavior, ExceptionCode&) const override;
virtual void setValueAsDecimal(const Decimal&, TextFieldEventBehavior, ExceptionCode&) const override;
virtual bool typeMismatchFor(const String&) const override;
virtual bool typeMismatch() const override;
virtual bool sizeShouldIncludeDecoration(int defaultSize, int& preferredSize) const override;
virtual float decorationWidth() const override;
virtual bool isSteppable() const override;
virtual StepRange createStepRange(AnyStepHandling) const override;
virtual void handleKeydownEvent(KeyboardEvent*) override;
virtual Decimal parseToNumber(const String&, const Decimal&) const override;
virtual String serialize(const Decimal&) const override;
virtual String localizeValue(const String&) const override;
virtual String visibleValue() const override;
virtual String convertFromVisibleValue(const String&) const override;
virtual String sanitizeValue(const String&) const override;
virtual bool hasBadInput() const override;
virtual String badInputText() const override;
virtual bool shouldRespectSpeechAttribute() override;
virtual bool supportsPlaceholder() const override;
virtual bool isNumberField() const override;
virtual void minOrMaxAttributeChanged() override;
virtual void stepAttributeChanged() override;
};
}
#endif // NumberInputType_h