Index: Source/core/html/shadow/SpinButtonElement.cpp |
diff --git a/Source/core/html/shadow/SpinButtonElement.cpp b/Source/core/html/shadow/SpinButtonElement.cpp |
index 22f4255e658a0f763186abbf5bdb8323c2437bd8..79d4e2297334e6da62050d282052340a3101a7a9 100644 |
--- a/Source/core/html/shadow/SpinButtonElement.cpp |
+++ b/Source/core/html/shadow/SpinButtonElement.cpp |
@@ -60,12 +60,6 @@ PassRefPtr<SpinButtonElement> SpinButtonElement::create(Document& document, Spin |
return element.release(); |
} |
-void SpinButtonElement::detach(const AttachContext& context) |
-{ |
- releaseCapture(); |
- HTMLDivElement::detach(context); |
-} |
- |
void SpinButtonElement::defaultEventHandler(Event* event) |
{ |
if (!event->isMouseEvent()) { |
@@ -111,7 +105,7 @@ void SpinButtonElement::defaultEventHandler(Event* event) |
event->setDefaultHandled(); |
} |
} else if (mouseEvent->type() == EventTypeNames::mouseup && mouseEvent->button() == LeftButton) { |
- stopRepeatingTimer(); |
+ releaseCapture(); |
} else if (event->type() == EventTypeNames::mousemove) { |
if (box->pixelSnappedBorderBoxRect().contains(local)) { |
if (!m_capturing) { |
@@ -198,6 +192,9 @@ void SpinButtonElement::releaseCapture() |
page->chrome().unregisterPopupOpeningObserver(this); |
} |
} |
+ if (m_spinButtonOwner) |
+ m_spinButtonOwner->spinButtonDidReleaseMouseCapture(); |
+ |
} |
bool SpinButtonElement::matchesReadOnlyPseudoClass() const |