Title: [195809] trunk
Revision
195809
Author
[email protected]
Date
2016-01-29 01:58:02 -0800 (Fri, 29 Jan 2016)

Log Message

[GStreamer] built-in media player doesn't update
https://bugs.webkit.org/show_bug.cgi?id=151816

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

The timeline of audio controls in media document is not properly updated since it is assumed
that the controls are hidden as soon as playing. However, such full page audio always has
opacity : 1 declared by video:-webkit-full-page-media::-webkit-media-controls-panel.no-video.
i.e. it is not actually hidden. We can fix this by simply returning false for no-video media
in controlsAreHidden();

Test: media/audio-controls-timeline-in-media-document.html

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

LayoutTests:

* media/audio-controls-timeline-in-media-document-expected.txt: Added.
* media/audio-controls-timeline-in-media-document.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (195808 => 195809)


--- trunk/LayoutTests/ChangeLog	2016-01-29 09:22:28 UTC (rev 195808)
+++ trunk/LayoutTests/ChangeLog	2016-01-29 09:58:02 UTC (rev 195809)
@@ -1,3 +1,13 @@
+2016-01-29  ChangSeok Oh  <[email protected]>
+
+        [GStreamer] built-in media player doesn't update
+        https://bugs.webkit.org/show_bug.cgi?id=151816
+
+        Reviewed by Xabier Rodriguez-Calvar.
+
+        * media/audio-controls-timeline-in-media-document-expected.txt: Added.
+        * media/audio-controls-timeline-in-media-document.html: Added.
+
 2016-01-28  Brady Eidson  <[email protected]>
 
         Modern IDB: SQLite backend mismanages key generator values.

Added: trunk/LayoutTests/media/audio-controls-timeline-in-media-document-expected.txt (0 => 195809)


--- trunk/LayoutTests/media/audio-controls-timeline-in-media-document-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/audio-controls-timeline-in-media-document-expected.txt	2016-01-29 09:58:02 UTC (rev 195809)
@@ -0,0 +1,6 @@
+Pass if the timeline of audio in a media document is properly updated during playback.
+
+EVENT(timeupdate)
+TEST(timeLineValue() > 0) OK
+END OF TEST
+

Added: trunk/LayoutTests/media/audio-controls-timeline-in-media-document.html (0 => 195809)


--- trunk/LayoutTests/media/audio-controls-timeline-in-media-document.html	                        (rev 0)
+++ trunk/LayoutTests/media/audio-controls-timeline-in-media-document.html	2016-01-29 09:58:02 UTC (rev 195809)
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<p>Pass if the timeline of audio in a media document is properly updated during playback.</p>
+<script src=""
+<script src=""
+<script src=""
+<script>
+function timeLineValue()
+{
+    const 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 iframeLoaded()
+{
+    video = iframe.contentDocument.querySelector("video");
+    video.addEventListener("timeupdate", function() {
+        consoleWrite("EVENT(timeupdate)");
+        testAndEnd("timeLineValue() > 0");
+    });
+}
+
+var video;
+const iframe = document.createElement("iframe");
+iframe._onload_ = iframeLoaded;
+iframe.src = "" "content/test");
+
+document.body.appendChild(iframe);
+</script>

Modified: trunk/Source/WebCore/ChangeLog (195808 => 195809)


--- trunk/Source/WebCore/ChangeLog	2016-01-29 09:22:28 UTC (rev 195808)
+++ trunk/Source/WebCore/ChangeLog	2016-01-29 09:58:02 UTC (rev 195809)
@@ -1,3 +1,22 @@
+2016-01-29  ChangSeok Oh  <[email protected]>
+
+        [GStreamer] built-in media player doesn't update
+        https://bugs.webkit.org/show_bug.cgi?id=151816
+
+        Reviewed by Xabier Rodriguez-Calvar.
+
+        The timeline of audio controls in media document is not properly updated since it is assumed
+        that the controls are hidden as soon as playing. However, such full page audio always has
+        opacity : 1 declared by video:-webkit-full-page-media::-webkit-media-controls-panel.no-video.
+        i.e. it is not actually hidden. We can fix this by simply returning false for no-video media
+        in controlsAreHidden();
+
+        Test: media/audio-controls-timeline-in-media-document.html
+
+        * Modules/mediacontrols/mediaControlsBase.js:
+        (Controller.prototype.controlsAreAlwaysVisible):
+        (Controller.prototype.controlsAreHidden):
+
 2016-01-29  Manuel Rego Casasnovas  <[email protected]>
 
         [css-grid] Store lines instead of tracks in GridResolvedPosition

Modified: trunk/Source/WebCore/Modules/mediacontrols/mediaControlsBase.js (195808 => 195809)


--- trunk/Source/WebCore/Modules/mediacontrols/mediaControlsBase.js	2016-01-29 09:22:28 UTC (rev 195808)
+++ trunk/Source/WebCore/Modules/mediacontrols/mediaControlsBase.js	2016-01-29 09:58:02 UTC (rev 195809)
@@ -1024,8 +1024,16 @@
         this.controls.panel.classList.remove(this.ClassNames.show);
     },
 
+    controlsAreAlwaysVisible: function()
+    {
+        return this.controls.panel.classList.contains(this.ClassNames.noVideo);
+    },
+
     controlsAreHidden: function()
     {
+        if (this.controlsAreAlwaysVisible())
+            return false;
+
         var panel = this.controls.panel;
         return (!panel.classList.contains(this.ClassNames.show) || panel.classList.contains(this.ClassNames.hidden))
             && (panel.parentElement.querySelector(':hover') !== panel);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to