Index: Source/core/html/shadow/SliderThumbElement.cpp |
diff --git a/Source/core/html/shadow/SliderThumbElement.cpp b/Source/core/html/shadow/SliderThumbElement.cpp |
index c8f8d0a1b4e3050cc9fa384f74e6c79d8cafe9e0..fc4cee11c5647708a16a2cfc538435dde50bb3c1 100644 |
--- a/Source/core/html/shadow/SliderThumbElement.cpp |
+++ b/Source/core/html/shadow/SliderThumbElement.cpp |
@@ -34,6 +34,7 @@ |
#include "core/html/shadow/SliderThumbElement.h" |
#include "core/events/Event.h" |
+#include "core/events/KeyboardEvent.h" |
#include "core/events/MouseEvent.h" |
#include "core/dom/shadow/ShadowRoot.h" |
#include "core/html/HTMLInputElement.h" |
@@ -305,7 +306,6 @@ void SliderThumbElement::setPositionFromPoint(const LayoutPoint& point) |
input->setValueFromRenderer(valueString); |
if (renderer()) |
renderer()->setNeedsLayout(); |
- input->dispatchFormControlChangeEvent(); |
} |
void SliderThumbElement::startDragging() |
@@ -330,6 +330,11 @@ void SliderThumbElement::stopDragging() |
void SliderThumbElement::defaultEventHandler(Event* event) |
{ |
+ HTMLInputElement* input = hostInput(); |
+ if (event->isKeyboardEvent()) { |
+ input->dispatchFormControlChangeEvent(); |
tkent
2014/01/14 01:00:51
I don't think this is necessary. RangeInputType::h
Habib Virji
2014/01/14 10:23:42
Done.
|
+ } |
+ |
if (!event->isMouseEvent()) { |
HTMLDivElement::defaultEventHandler(event); |
return; |
@@ -337,7 +342,6 @@ void SliderThumbElement::defaultEventHandler(Event* event) |
// FIXME: Should handle this readonly/disabled check in more general way. |
// Missing this kind of check is likely to occur elsewhere if adding it in each shadow element. |
- HTMLInputElement* input = hostInput(); |
if (!input || input->isDisabledOrReadOnly()) { |
stopDragging(); |
HTMLDivElement::defaultEventHandler(event); |
@@ -355,6 +359,7 @@ void SliderThumbElement::defaultEventHandler(Event* event) |
startDragging(); |
return; |
} else if (eventType == EventTypeNames::mouseup && isLeftButton) { |
+ input->dispatchFormControlChangeEvent(); |
tkent
2014/01/14 01:00:51
This should be *in* stopDragging() because we need
Habib Virji
2014/01/14 10:23:42
Done. Moved dispatchFormControlChangeEvent to stop
|
stopDragging(); |
return; |
} else if (eventType == EventTypeNames::mousemove) { |