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