Title: [195703] branches/safari-601.1.46-branch

Diff

Modified: branches/safari-601.1.46-branch/LayoutTests/ChangeLog (195702 => 195703)


--- branches/safari-601.1.46-branch/LayoutTests/ChangeLog	2016-01-27 23:55:43 UTC (rev 195702)
+++ branches/safari-601.1.46-branch/LayoutTests/ChangeLog	2016-01-28 00:02:14 UTC (rev 195703)
@@ -1,3 +1,17 @@
+2016-01-27  Babak Shafiei  <[email protected]>
+
+        Merge r195671.
+
+    2016-01-26  Jer Noble  <[email protected]>
+
+            Calling video.controls=true during a scrub operation cancels scrub.
+            https://bugs.webkit.org/show_bug.cgi?id=153494
+
+            Reviewed by Eric Carlson.
+
+            * media/media-controls-drag-timeline-set-controls-property-expected.txt: Added.
+            * media/media-controls-drag-timeline-set-controls-property.html: Added.
+
 2016-01-20  Andy Estes  <[email protected]>
 
         Re-enable synchronous popstate event for safari-601-branch

Copied: branches/safari-601.1.46-branch/LayoutTests/media/media-controls-drag-timeline-set-controls-property-expected.txt (from rev 195671, trunk/LayoutTests/media/media-controls-drag-timeline-set-controls-property-expected.txt) (0 => 195703)


--- branches/safari-601.1.46-branch/LayoutTests/media/media-controls-drag-timeline-set-controls-property-expected.txt	                        (rev 0)
+++ branches/safari-601.1.46-branch/LayoutTests/media/media-controls-drag-timeline-set-controls-property-expected.txt	2016-01-28 00:02:14 UTC (rev 195703)
@@ -0,0 +1,10 @@
+Test that dragging the timeline slider after setting video.controls=true causes seeks.
+
+
+EVENT(playing)
+EVENT(pause)
+EVENT(seeked)
+EVENT(seeked)
+EVENT(seeked)
+END OF TEST
+

Copied: branches/safari-601.1.46-branch/LayoutTests/media/media-controls-drag-timeline-set-controls-property.html (from rev 195671, trunk/LayoutTests/media/media-controls-drag-timeline-set-controls-property.html) (0 => 195703)


--- branches/safari-601.1.46-branch/LayoutTests/media/media-controls-drag-timeline-set-controls-property.html	                        (rev 0)
+++ branches/safari-601.1.46-branch/LayoutTests/media/media-controls-drag-timeline-set-controls-property.html	2016-01-28 00:02:14 UTC (rev 195703)
@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <title>media-controls-timeline-set-controls-property</title>
+    <script src=""
+    <script src=""
+    <script src=""
+    <script>
+    var x;
+    var y;
+    var seekCount = 0;
+    var moveInterval;
+
+    function runTest()
+    {
+        findMediaElement();
+        waitForEvent('playing', beginScrubbing);
+        video.src = "" 'content/test');
+        video.play();
+    }
+
+    function beginScrubbing()
+    {
+        if (window.eventSender) {
+
+            var timelineCoordinate;
+            try {
+                timelineCoordinate = mediaControlsButtonCoordinates(video, 'timeline');
+            } catch (exception) {
+                failTest(exception.description);
+                return;
+            }
+            x = timelineCoordinate[0];
+            y = timelineCoordinate[1];
+
+            eventSender.dragMode = false;
+            eventSender.mouseMoveTo(x, y);
+            eventSender.mouseDown();
+        }
+        waitForEvent('pause', pause);
+        waitForEvent('seeked', seeked)
+    }
+
+    function pause()
+    {
+        video.controls = 'true';
+        moveInterval = setInterval(move, 100);
+    }
+
+    function move()
+    {
+        if (window.eventSender) {
+            x += 10;
+            eventSender.mouseMoveTo(x, y);
+        }
+    }
+
+
+    function seeked()
+    {
+        ++seekCount;
+        if (seekCount < 3)
+            return;
+
+        clearInterval(moveInterval);
+        if (window.eventSender)
+            eventSender.mouseUp();
+        endTest();
+    }
+
+    
+    </script>
+</head>
+
+<body _onload_="runTest()">
+    <p>Test that dragging the timeline slider after setting video.controls=true causes seeks.</p>
+    <video controls></video>
+</body>
+</html>
+

Modified: branches/safari-601.1.46-branch/Source/WebCore/ChangeLog (195702 => 195703)


--- branches/safari-601.1.46-branch/Source/WebCore/ChangeLog	2016-01-27 23:55:43 UTC (rev 195702)
+++ branches/safari-601.1.46-branch/Source/WebCore/ChangeLog	2016-01-28 00:02:14 UTC (rev 195703)
@@ -1,3 +1,23 @@
+2016-01-27  Babak Shafiei  <[email protected]>
+
+        Merge r195671.
+
+    2016-01-26  Jer Noble  <[email protected]>
+
+            Calling video.controls=true during a scrub operation cancels scrub.
+            https://bugs.webkit.org/show_bug.cgi?id=153494
+
+            Reviewed by Eric Carlson.
+
+            Test: media/media-controls-drag-timeline-set-controls-property.html
+
+            Verify that the video.controls attribute actually changed before tearing down and
+            re-adding the media controls to the Shadow DOM.
+
+            * Modules/mediacontrols/mediaControlsApple.js:
+            (Controller.prototype.handleControlsChange):
+            (Controller.prototype.hasControls):
+
 2016-01-26  Matthew Hanson  <[email protected]>
 
         Merge r195606. rdar://problem/24243317

Modified: branches/safari-601.1.46-branch/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js (195702 => 195703)


--- branches/safari-601.1.46-branch/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js	2016-01-27 23:55:43 UTC (rev 195702)
+++ branches/safari-601.1.46-branch/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js	2016-01-28 00:02:14 UTC (rev 195703)
@@ -1080,9 +1080,9 @@
         try {
             this.updateBase();
 
-            if (this.shouldHaveControls())
+            if (this.shouldHaveControls() && !this.hasControls())
                 this.addControls();
-            else
+            else if (!this.shouldHaveControls() && this.hasControls())
                 this.removeControls();
         } catch(e) {
             if (window.console)
@@ -1535,6 +1535,11 @@
         this.updateControls();
     },
 
+    hasControls: function()
+    {
+        return this.controls.panel.parentElement;
+    },
+
     updateTime: function()
     {
         var currentTime = this.video.currentTime;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to