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(); }
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(); }