#ifndef NumberInputType_h
#define NumberInputType_h
#include "TextFieldInputType.h"
namespace WebCore {
class NumberInputType : public TextFieldInputType {
public:
static PassOwnPtr<InputType> create(HTMLInputElement*);
protected:
NumberInputType(HTMLInputElement* element) : TextFieldInputType(element) { }
private:
virtual const AtomicString& formControlType() const OVERRIDE;
virtual double valueAsNumber() const OVERRIDE;
virtual void setValueAsNumber(double, TextFieldEventBehavior, ExceptionCode&) const OVERRIDE;
virtual bool typeMismatchFor(const String&) const OVERRIDE;
virtual bool typeMismatch() const OVERRIDE;
virtual bool rangeUnderflow(const String&) const OVERRIDE;
virtual bool rangeOverflow(const String&) const OVERRIDE;
virtual bool supportsRangeLimitation() const OVERRIDE;
virtual double minimum() const OVERRIDE;
virtual double maximum() const OVERRIDE;
virtual bool sizeShouldIncludeDecoration(int defaultSize, int& preferredSize) const OVERRIDE;
virtual bool isSteppable() const OVERRIDE;
virtual bool stepMismatch(const String&, double) const OVERRIDE;
virtual double stepBase() const OVERRIDE;
virtual double stepBaseWithDecimalPlaces(unsigned*) const OVERRIDE;
virtual double defaultStep() const OVERRIDE;
virtual double stepScaleFactor() const OVERRIDE;
virtual void handleKeydownEvent(KeyboardEvent*) OVERRIDE;
virtual void handleWheelEvent(WheelEvent*) OVERRIDE;
virtual double parseToDouble(const String&, double) const OVERRIDE;
virtual double parseToDoubleWithDecimalPlaces(const String&, double, unsigned*) const OVERRIDE;
virtual String serialize(double) const OVERRIDE;
virtual double acceptableError(double) const OVERRIDE;
virtual void handleBlurEvent() OVERRIDE;
virtual String visibleValue() const OVERRIDE;
virtual String convertFromVisibleValue(const String&) const OVERRIDE;
virtual bool isAcceptableValue(const String&) OVERRIDE;
virtual String sanitizeValue(const String&) const OVERRIDE;
virtual bool hasUnacceptableValue() 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