Example #1
0
void RangeInputType::setValue(const String& value, bool valueChanged, TextFieldEventBehavior eventBehavior)
{
    InputType::setValue(value, valueChanged, eventBehavior);

    if (!valueChanged)
        return;

    typedSliderThumbElement().setPositionFromValue();
}
void RangeInputType::minOrMaxAttributeChanged()
{
    InputType::minOrMaxAttributeChanged();

    // Sanitize the value.
    if (element().hasDirtyValue())
        element().setValue(element().value());

    typedSliderThumbElement().setPositionFromValue();
}
Example #3
0
void RangeInputType::handleTouchEvent(TouchEvent* event)
{
#if PLATFORM(IOS)
    typedSliderThumbElement().handleTouchEvent(event);
#elif ENABLE(TOUCH_SLIDER)
    if (element().isDisabledOrReadOnly())
        return;

    if (event->type() == eventNames().touchendEvent) {
        event->setDefaultHandled();
        return;
    }

    TouchList* touches = event->targetTouches();
    if (touches->length() == 1) {
        typedSliderThumbElement().setPositionFromPoint(touches->item(0)->absoluteLocation());
        event->setDefaultHandled();
    }
#endif
}
void RangeInputType::setValue(const String& value, bool valueChanged, TextFieldEventBehavior eventBehavior)
{
    InputType::setValue(value, valueChanged, eventBehavior);

    if (!valueChanged)
        return;

    if (eventBehavior == DispatchNoEvent)
        element().setTextAsOfLastFormControlChangeEvent(value);

    typedSliderThumbElement().setPositionFromValue();
}
void RangeInputType::handleMouseDownEvent(MouseEvent* event)
{
    if (element().isDisabledOrReadOnly())
        return;

    Node* targetNode = event->target()->toNode();
    if (event->button() != LeftButton || !targetNode)
        return;
    ASSERT(element().shadowRoot());
    if (targetNode != &element() && !targetNode->isDescendantOf(element().userAgentShadowRoot()))
        return;
    SliderThumbElement& thumb = typedSliderThumbElement();
    if (targetNode == &thumb)
        return;
    thumb.dragFrom(event->absoluteLocation());
}
HTMLElement* RangeInputType::sliderThumbElement() const
{
    return &typedSliderThumbElement();
}
void RangeInputType::disabledAttributeChanged()
{
    typedSliderThumbElement().disabledAttributeChanged();
}