Title: [190933] releases/WebKitGTK/webkit-2.10
Revision
190933
Author
[email protected]
Date
2015-10-13 02:02:55 -0700 (Tue, 13 Oct 2015)

Log Message

Merge r190053 - [GTK] timeline is not updated after few seconds when mouse hovers on controls
https://bugs.webkit.org/show_bug.cgi?id=149111

Reviewed by Philippe Normand.

Source/WebCore:

Timeline is not updated if controlsAreHidden is true. The problem here is that
the function does not mean actually 'hidden' since it only checkes 'show' and 'hidden'
class existences. The panel's visibility are not only controlled by the two classes,
but also by video::-webkit-media-controls-panel:hover. The panel could be visible
by setting the pseudo hover class. So we need to check if panel is hovered as well in controlsAreHidden().

Test: media/media-controls-timeline-updates-when-hovered.html

* Modules/mediacontrols/mediaControlsBase.js:
(Controller.prototype.controlsAreHidden):

LayoutTests:

* media/media-controls-timeline-updates-when-hovered-expected.txt: Added.
* media/media-controls-timeline-updates-when-hovered.html: Added.

Modified Paths

Added Paths

Diff

Modified: releases/WebKitGTK/webkit-2.10/LayoutTests/ChangeLog (190932 => 190933)


--- releases/WebKitGTK/webkit-2.10/LayoutTests/ChangeLog	2015-10-13 09:01:21 UTC (rev 190932)
+++ releases/WebKitGTK/webkit-2.10/LayoutTests/ChangeLog	2015-10-13 09:02:55 UTC (rev 190933)
@@ -1,3 +1,13 @@
+2015-09-21  ChangSeok Oh  <[email protected]>
+
+        [GTK] timeline is not updated after few seconds when mouse hovers on controls
+        https://bugs.webkit.org/show_bug.cgi?id=149111
+
+        Reviewed by Philippe Normand.
+
+        * media/media-controls-timeline-updates-when-hovered-expected.txt: Added.
+        * media/media-controls-timeline-updates-when-hovered.html: Added.
+
 2015-09-18  Dean Jackson  <[email protected]>
 
         Null dereference loading Blink layout test svg/filters/feImage-failed-load-crash.html

Added: releases/WebKitGTK/webkit-2.10/LayoutTests/media/media-controls-timeline-updates-when-hovered-expected.txt (0 => 190933)


--- releases/WebKitGTK/webkit-2.10/LayoutTests/media/media-controls-timeline-updates-when-hovered-expected.txt	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.10/LayoutTests/media/media-controls-timeline-updates-when-hovered-expected.txt	2015-10-13 09:02:55 UTC (rev 190933)
@@ -0,0 +1,11 @@
+This tests if media controls timeline is properly updated when a cursor hovers the controls during playback.
+
+
+EVENT(canplaythrough)
+EXPECTED (timeLineValue() == '0') OK
+RUN(video.play())
+EVENT(play)
+EVENT(timeupdate)
+TEST(timeLineValue() >= 1) OK
+END OF TEST
+

Added: releases/WebKitGTK/webkit-2.10/LayoutTests/media/media-controls-timeline-updates-when-hovered.html (0 => 190933)


--- releases/WebKitGTK/webkit-2.10/LayoutTests/media/media-controls-timeline-updates-when-hovered.html	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.10/LayoutTests/media/media-controls-timeline-updates-when-hovered.html	2015-10-13 09:02:55 UTC (rev 190933)
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<p>This tests if media controls timeline is properly updated when a cursor hovers the controls during playback.</p>
+<video controls></video>
+<script src=""
+<script src=""
+<script src=""
+<script>
+function timeLineValue()
+{
+    var timeline = mediaControlsElement(internals.shadowRoot(video).firstChild.firstChild, '-webkit-media-controls-timeline');
+    if (!timeline)
+        throw "Failed to find -webkit-media-controls-timeline";
+
+    return timeline.value;
+}
+
+function canplaythrough()
+{
+    if (!window.testRunner) {
+        endTest();
+        return;
+    }
+
+    testExpected("timeLineValue()", 0);
+
+    var playButtonCoords;
+    try {
+        playButtonCoords = mediaControlsButtonCoordinates(video, "play-button");
+    } catch (exception) {
+        endTest();
+        return;
+    }
+    eventSender.mouseMoveTo(playButtonCoords[0], playButtonCoords[1]);
+
+    video.addEventListener("timeupdate", function() {
+         if (video.currentTime >= 1) {
+            consoleWrite("EVENT(timeupdate)");
+            test("timeLineValue() >= 1");
+            endTest();
+         }
+    });
+
+    run("video.play()");
+}
+
+var video;
+findMediaElement();
+video.src = "" "content/test");
+
+waitForEvent("canplaythrough", canplaythrough);
+waitForEvent("play");
+waitForEventAndFail("error");
+</script>

Modified: releases/WebKitGTK/webkit-2.10/Source/WebCore/ChangeLog (190932 => 190933)


--- releases/WebKitGTK/webkit-2.10/Source/WebCore/ChangeLog	2015-10-13 09:01:21 UTC (rev 190932)
+++ releases/WebKitGTK/webkit-2.10/Source/WebCore/ChangeLog	2015-10-13 09:02:55 UTC (rev 190933)
@@ -1,3 +1,21 @@
+2015-09-21  ChangSeok Oh  <[email protected]>
+
+        [GTK] timeline is not updated after few seconds when mouse hovers on controls
+        https://bugs.webkit.org/show_bug.cgi?id=149111
+
+        Reviewed by Philippe Normand.
+
+        Timeline is not updated if controlsAreHidden is true. The problem here is that
+        the function does not mean actually 'hidden' since it only checkes 'show' and 'hidden'
+        class existences. The panel's visibility are not only controlled by the two classes,
+        but also by video::-webkit-media-controls-panel:hover. The panel could be visible
+        by setting the pseudo hover class. So we need to check if panel is hovered as well in controlsAreHidden().
+
+        Test: media/media-controls-timeline-updates-when-hovered.html
+
+        * Modules/mediacontrols/mediaControlsBase.js:
+        (Controller.prototype.controlsAreHidden):
+
 2015-09-18  Dean Jackson  <[email protected]>
 
         Null dereference loading Blink layout test svg/filters/feImage-failed-load-crash.html

Modified: releases/WebKitGTK/webkit-2.10/Source/WebCore/Modules/mediacontrols/mediaControlsBase.js (190932 => 190933)


--- releases/WebKitGTK/webkit-2.10/Source/WebCore/Modules/mediacontrols/mediaControlsBase.js	2015-10-13 09:01:21 UTC (rev 190932)
+++ releases/WebKitGTK/webkit-2.10/Source/WebCore/Modules/mediacontrols/mediaControlsBase.js	2015-10-13 09:02:55 UTC (rev 190933)
@@ -1023,7 +1023,9 @@
 
     controlsAreHidden: function()
     {
-        return !this.controls.panel.classList.contains(this.ClassNames.show) || this.controls.panel.classList.contains(this.ClassNames.hidden);
+        var panel = this.controls.panel;
+        return (!panel.classList.contains(this.ClassNames.show) || panel.classList.contains(this.ClassNames.hidden))
+            && (panel.parentElement.querySelector(':hover') !== panel);
     },
 
     removeControls: function()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to