#ifndef RangeInputType_h
#define RangeInputType_h
#include "InputType.h"
namespace WebCore {
class SliderThumbElement;
class RangeInputType : public InputType {
public:
static PassOwnPtr<InputType> create(HTMLInputElement*);
private:
RangeInputType(HTMLInputElement* element) : InputType(element) { }
virtual bool isRangeControl() const OVERRIDE;
virtual const AtomicString& formControlType() const OVERRIDE;
virtual double valueAsNumber() const OVERRIDE;
virtual void setValueAsNumber(double, TextFieldEventBehavior, ExceptionCode&) const OVERRIDE;
virtual bool supportsRequired() 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 isSteppable() const OVERRIDE;
virtual bool stepMismatch(const String&, double) const OVERRIDE;
virtual double stepBase() const OVERRIDE;
virtual double defaultStep() const OVERRIDE;
virtual double stepScaleFactor() const OVERRIDE;
virtual void handleMouseDownEvent(MouseEvent*) OVERRIDE;
virtual void handleKeydownEvent(KeyboardEvent*) OVERRIDE;
virtual RenderObject* createRenderer(RenderArena*, RenderStyle*) const OVERRIDE;
virtual void createShadowSubtree() OVERRIDE;
virtual double parseToDouble(const String&, double) const OVERRIDE;
virtual String serialize(double) const OVERRIDE;
virtual void accessKeyAction(bool sendMouseEvents) OVERRIDE;
virtual void minOrMaxAttributeChanged() OVERRIDE;
virtual void setValue(const String&, bool valueChanged, TextFieldEventBehavior) OVERRIDE;
virtual String fallbackValue() const OVERRIDE;
virtual String sanitizeValue(const String& proposedValue) const OVERRIDE;
virtual bool shouldRespectListAttribute() OVERRIDE;
};
}
#endif // RangeInputType_h