#ifndef NumberInputType_h
#define NumberInputType_h
#include "core/html/forms/TextFieldInputType.h"
namespace WebCore {
class ExceptionState;
class NumberInputType FINAL : public TextFieldInputType {
public:
static PassRefPtr<InputType> create(HTMLInputElement&);
private:
NumberInputType(HTMLInputElement& element) : TextFieldInputType(element) { }
virtual void countUsage() OVERRIDE;
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, ExceptionState&) const OVERRIDE;
virtual void setValueAsDecimal(const Decimal&, TextFieldEventBehavior, ExceptionState&) const OVERRIDE;
virtual bool typeMismatchFor(const String&) const OVERRIDE;
virtual bool typeMismatch() const OVERRIDE;
virtual bool sizeShouldIncludeDecoration(int defaultSize, int& preferredSize) 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 String rangeOverflowText(const Decimal& maxmum) const OVERRIDE;
virtual String rangeUnderflowText(const Decimal& minimum) const OVERRIDE;
virtual bool shouldRespectSpeechAttribute() OVERRIDE;
virtual bool supportsPlaceholder() const OVERRIDE;
virtual bool isNumberField() const OVERRIDE;
virtual void minOrMaxAttributeChanged() OVERRIDE;
virtual void stepAttributeChanged() OVERRIDE;
virtual bool supportsSelectionAPI() const OVERRIDE;
};
}
#endif