Title: [104303] trunk
Revision
104303
Author
jer.no...@apple.com
Date
2012-01-06 11:13:02 -0800 (Fri, 06 Jan 2012)

Log Message

Media Element: scrubbing in full-screen mode breaks playback.
https://bugs.webkit.org/show_bug.cgi?id=75650

Reviewed by John Sullivan.

Source/WebCore:

Test: fullscreen/video-controls-timeline.html

Only begin scrubbing if the panel itself is the mousedown event target.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::defaultEventHandler):

LayoutTests:

* fullscreen/video-controls-timeline-expected.txt: Added.
* fullscreen/video-controls-timeline.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (104302 => 104303)


--- trunk/LayoutTests/ChangeLog	2012-01-06 19:03:04 UTC (rev 104302)
+++ trunk/LayoutTests/ChangeLog	2012-01-06 19:13:02 UTC (rev 104303)
@@ -1,3 +1,13 @@
+2012-01-05  Jer Noble  <jer.no...@apple.com>
+
+        Media Element: scrubbing in full-screen mode breaks playback.
+        https://bugs.webkit.org/show_bug.cgi?id=75650
+
+        Reviewed by John Sullivan.
+
+        * fullscreen/video-controls-timeline-expected.txt: Added.
+        * fullscreen/video-controls-timeline.html: Added.
+
 2012-01-06  Jer Noble  <jer.no...@apple.com>
 
         Add new (failing) test to Chromium test_expectations.  Fix tracked by

Added: trunk/LayoutTests/fullscreen/video-controls-timeline-expected.txt (0 => 104303)


--- trunk/LayoutTests/fullscreen/video-controls-timeline-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fullscreen/video-controls-timeline-expected.txt	2012-01-06 19:13:02 UTC (rev 104303)
@@ -0,0 +1,8 @@
+This tests that the video element's timeline controls are draggable in full screen. Press any key to continue.
+
+EVENT(canplaythrough)
+EVENT(webkitfullscreenchange)
+EVENT(mousedown)
+EVENT(mouseup)
+END OF TEST
+

Added: trunk/LayoutTests/fullscreen/video-controls-timeline.html (0 => 104303)


--- trunk/LayoutTests/fullscreen/video-controls-timeline.html	                        (rev 0)
+++ trunk/LayoutTests/fullscreen/video-controls-timeline.html	2012-01-06 19:13:02 UTC (rev 104303)
@@ -0,0 +1,34 @@
+<body>
+    <p>This tests that the video element's timeline controls are draggable in full screen.  Press any key to continue.</p>
+    <video id="video" width="300" controls></video>
+    <script src=""
+    <script src=""
+    <script src=""
+    <script>
+        var video = document.getElementById('video');
+        var timeline;
+
+        waitForEvent(document, 'webkitfullscreenchange', function() {
+            if (window.internals) {
+                timeline = mediaControlsElement(internals.shadowRoot(video).firstChild, '-webkit-media-controls-timeline');
+                var box = internals.boundingBox(timeline);
+
+                eventSender.mouseMoveTo(box.left + 5, box.top + 5);
+
+                waitForEvent(timeline, 'mousedown');
+                eventSender.mouseDown();
+
+                waitForEventAndEnd(timeline, 'mouseup');
+                eventSender.mouseUp();
+            }
+            else
+                logResult(false, "window.internals == undefined");
+        });
+
+        waitForEvent(video, 'canplaythrough', function() {
+            runWithKeyDown(function(){video.webkitRequestFullScreen()});
+        });
+
+        video.src = "" '../media/content/test');
+    </script>
+</body>

Modified: trunk/Source/WebCore/ChangeLog (104302 => 104303)


--- trunk/Source/WebCore/ChangeLog	2012-01-06 19:03:04 UTC (rev 104302)
+++ trunk/Source/WebCore/ChangeLog	2012-01-06 19:13:02 UTC (rev 104303)
@@ -1,5 +1,19 @@
 2012-01-05  Jer Noble  <jer.no...@apple.com>
 
+        Media Element: scrubbing in full-screen mode breaks playback.
+        https://bugs.webkit.org/show_bug.cgi?id=75650
+
+        Reviewed by John Sullivan.
+
+        Test: fullscreen/video-controls-timeline.html
+
+        Only begin scrubbing if the panel itself is the mousedown event target.
+
+        * html/shadow/MediaControlElements.cpp:
+        (WebCore::MediaControlPanelElement::defaultEventHandler):
+
+2012-01-05  Jer Noble  <jer.no...@apple.com>
+
         REGRESSION (r90797): Full screen video HUD cannot be dragged horizontally
         https://bugs.webkit.org/show_bug.cgi?id=75200
 

Modified: trunk/Source/WebCore/html/shadow/MediaControlElements.cpp (104302 => 104303)


--- trunk/Source/WebCore/html/shadow/MediaControlElements.cpp	2012-01-06 19:03:04 UTC (rev 104302)
+++ trunk/Source/WebCore/html/shadow/MediaControlElements.cpp	2012-01-06 19:13:02 UTC (rev 104303)
@@ -236,12 +236,12 @@
 
     if (event->isMouseEvent()) {
         LayoutPoint location = static_cast<MouseEvent*>(event)->absoluteLocation();
-        if (event->type() == eventNames().mousedownEvent) {
+        if (event->type() == eventNames().mousedownEvent && event->target() == this) {
             startDrag(location);
             event->setDefaultHandled();
-        } else if (event->type() == eventNames().mousemoveEvent)
+        } else if (event->type() == eventNames().mousemoveEvent && m_isBeingDragged)
             continueDrag(location);
-        else if (event->type() == eventNames().mouseupEvent) {
+        else if (event->type() == eventNames().mouseupEvent && m_isBeingDragged) {
             continueDrag(location);
             endDrag();
             event->setDefaultHandled();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to