Title: [91333] trunk/Source/WebCore
- Revision
- 91333
- Author
- [email protected]
- Date
- 2011-07-19 21:46:35 -0700 (Tue, 19 Jul 2011)
Log Message
REGRESSION(r89004): Video pauses and never resumes playing if scrubbed during playback.
https://bugs.webkit.org/show_bug.cgi?id=64314
Reviewed by Sam Weinig.
No new tests because it's hard to make a non-flaky test for this behavior.
* html/RangeInputType.cpp:
(WebCore::RangeInputType::handleMouseDownEvent):
Don't call SliderThumbElement::dragFrom() for events on the thumb.
* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::defaultEventHandler):
Do not call setDefaultHandled() for mouse events in order to
propagate them to ancestor elements.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (91332 => 91333)
--- trunk/Source/WebCore/ChangeLog 2011-07-20 04:24:40 UTC (rev 91332)
+++ trunk/Source/WebCore/ChangeLog 2011-07-20 04:46:35 UTC (rev 91333)
@@ -1,3 +1,20 @@
+2011-07-19 Kent Tamura <[email protected]>
+
+ REGRESSION(r89004): Video pauses and never resumes playing if scrubbed during playback.
+ https://bugs.webkit.org/show_bug.cgi?id=64314
+
+ Reviewed by Sam Weinig.
+
+ No new tests because it's hard to make a non-flaky test for this behavior.
+
+ * html/RangeInputType.cpp:
+ (WebCore::RangeInputType::handleMouseDownEvent):
+ Don't call SliderThumbElement::dragFrom() for events on the thumb.
+ * html/shadow/SliderThumbElement.cpp:
+ (WebCore::SliderThumbElement::defaultEventHandler):
+ Do not call setDefaultHandled() for mouse events in order to
+ propagate them to ancestor elements.
+
2011-07-19 Matthew Delaney <[email protected]>
Add fast path for ImageBuffer::draw
Modified: trunk/Source/WebCore/html/RangeInputType.cpp (91332 => 91333)
--- trunk/Source/WebCore/html/RangeInputType.cpp 2011-07-20 04:24:40 UTC (rev 91332)
+++ trunk/Source/WebCore/html/RangeInputType.cpp 2011-07-20 04:46:35 UTC (rev 91333)
@@ -156,10 +156,10 @@
Node* targetNode = event->target()->toNode();
if (event->button() != LeftButton || !targetNode || (targetNode != element() && !targetNode->isDescendantOf(element()->shadowRoot())))
return;
-
SliderThumbElement* thumb = sliderThumbElementOf(element());
+ if (targetNode == thumb)
+ return;
thumb->dragFrom(event->absoluteLocation());
- event->setDefaultHandled();
}
void RangeInputType::handleKeydownEvent(KeyboardEvent* event)
Modified: trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp (91332 => 91333)
--- trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp 2011-07-20 04:24:40 UTC (rev 91332)
+++ trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp 2011-07-20 04:46:35 UTC (rev 91333)
@@ -279,18 +279,18 @@
bool isLeftButton = mouseEvent->button() == LeftButton;
const AtomicString& eventType = event->type();
+ // We intentionally do not call event->setDefaultHandled() here because
+ // MediaControlTimelineElement::defaultEventHandler() wants to handle these
+ // mouse events.
if (eventType == eventNames().mousedownEvent && isLeftButton) {
startDragging();
- event->setDefaultHandled();
return;
} else if (eventType == eventNames().mouseupEvent && isLeftButton) {
stopDragging();
- event->setDefaultHandled();
return;
} else if (eventType == eventNames().mousemoveEvent) {
if (m_inDragMode)
setPositionFromPoint(mouseEvent->absoluteLocation());
- event->setDefaultHandled();
return;
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes