Title: [228010] trunk
Revision
228010
Author
commit-qu...@webkit.org
Date
2018-02-02 08:30:13 -0800 (Fri, 02 Feb 2018)

Log Message

[Modern Media Controls] Turn media/modern-media-controls/tracks-panel and media/modern-media-controls/tracks-support back on
https://bugs.webkit.org/show_bug.cgi?id=182426

Patch by Antoine Quint <grao...@apple.com> on 2018-02-02
Reviewed by Dean Jackson.

Source/WebCore:

Ensure that the tracks panel isn't dismissed by updating the layout.

* Modules/modern-media-controls/controls/inline-media-controls.js:
(InlineMediaControls.prototype.layout):

LayoutTests:

Update tests to match the modern-media-controls design and expectations. One test fails currently due to an issue with the
auto-hide behavior, it is tracked in webkit.org/b/182425.

* media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it-expected.txt:
* media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it.html:
* media/modern-media-controls/tracks-panel/tracks-panel-position-and-size-expected.txt:
* media/modern-media-controls/tracks-panel/tracks-panel-position-and-size.html:
* media/modern-media-controls/tracks-panel/tracks-panel-prevent-controls-bar-from-fading-expected.txt:
* media/modern-media-controls/tracks-panel/tracks-panel-prevent-controls-bar-from-fading.html:
* media/modern-media-controls/tracks-support/tracks-support-audio-tracks-expected.txt:
* media/modern-media-controls/tracks-support/tracks-support-audio-tracks.html:
* media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar-expected.txt:
* media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar.html:
* media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt:
* media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html:
* media/modern-media-controls/tracks-support/tracks-support-text-tracks-expected.txt:
* media/modern-media-controls/tracks-support/tracks-support-text-tracks.html:
* platform/mac/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (228009 => 228010)


--- trunk/LayoutTests/ChangeLog	2018-02-02 15:24:11 UTC (rev 228009)
+++ trunk/LayoutTests/ChangeLog	2018-02-02 16:30:13 UTC (rev 228010)
@@ -1,3 +1,29 @@
+2018-02-02  Antoine Quint  <grao...@apple.com>
+
+        [Modern Media Controls] Turn media/modern-media-controls/tracks-panel and media/modern-media-controls/tracks-support back on
+        https://bugs.webkit.org/show_bug.cgi?id=182426
+
+        Reviewed by Dean Jackson.
+
+        Update tests to match the modern-media-controls design and expectations. One test fails currently due to an issue with the
+        auto-hide behavior, it is tracked in webkit.org/b/182425.
+
+        * media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it-expected.txt:
+        * media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it.html:
+        * media/modern-media-controls/tracks-panel/tracks-panel-position-and-size-expected.txt:
+        * media/modern-media-controls/tracks-panel/tracks-panel-position-and-size.html:
+        * media/modern-media-controls/tracks-panel/tracks-panel-prevent-controls-bar-from-fading-expected.txt:
+        * media/modern-media-controls/tracks-panel/tracks-panel-prevent-controls-bar-from-fading.html:
+        * media/modern-media-controls/tracks-support/tracks-support-audio-tracks-expected.txt:
+        * media/modern-media-controls/tracks-support/tracks-support-audio-tracks.html:
+        * media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar-expected.txt:
+        * media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar.html:
+        * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt:
+        * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html:
+        * media/modern-media-controls/tracks-support/tracks-support-text-tracks-expected.txt:
+        * media/modern-media-controls/tracks-support/tracks-support-text-tracks.html:
+        * platform/mac/TestExpectations:
+
 2018-02-02  Ms2ger  <ms2...@igalia.com>
 
         imagebitmap gardening

Modified: trunk/LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it-expected.txt (228009 => 228010)


--- trunk/LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it-expected.txt	2018-02-02 15:24:11 UTC (rev 228009)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it-expected.txt	2018-02-02 16:30:13 UTC (rev 228010)
@@ -3,16 +3,16 @@
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-mediaControls.showTracksPanel()
-PASS mediaControls.tracksPanel.element.parentNode became mediaControls.element
+PASS shadowRoot.querySelector('button.tracks').getBoundingClientRect().width > 0 became true
+PASS shadowRoot.contains(shadowRoot.querySelector('.tracks-panel')) became true
+PASS media.currentTime > 0.250 became true
 
-We've waited long enough so that the controls bar should be faded should the tracks panel not be visible
-PASS mediaControls.controlsBar.faded is false
+We've waited long enough so that the controls bar should be faded should the tracks panel not be visible.
+PASS shadowRoot.querySelector('.media-controls').classList.contains('faded') is false
 
-Click on the controls bar to dismiss the panel, the controls bar should remain visible
-PASS mediaControls.controlsBar.faded is false
-PASS mediaControls.tracksPanel.presented is false
-
+Click on the controls bar to dismiss the panel, the controls bar should remain visible.
+PASS shadowRoot.contains(shadowRoot.querySelector('.tracks-panel')) became false
+PASS shadowRoot.querySelector('.media-controls').classList.contains('faded') is false
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it.html (228009 => 228010)


--- trunk/LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it.html	2018-02-02 15:24:11 UTC (rev 228009)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it.html	2018-02-02 16:30:13 UTC (rev 228010)
@@ -1,15 +1,8 @@
 <script src=""
 <script src="" type="text/_javascript_"></script>
+<script src="" type="text/_javascript_"></script>
 <body>
-<style type="text/css" media="screen">
-    
-    .media-controls {
-        position: absolute;
-        top: 0;
-        left: 0;
-    }
-    
-</style>
+<video src="" style="position: absolute; left: 0; top: 0; width: 640px; height: 360px;" controls autoplay data-auto-hide-delay="250"></video>
 <script type="text/_javascript_">
 
 window.jsTestIsAsync = true;
@@ -16,38 +9,33 @@
 
 description("Clicking on the controls bar to dismiss the tracks panel should not hide the controls bar, only the track panel.");
 
-const mediaControls = new MacOSInlineMediaControls({ width: 680, height: 300 });
+const media = document.querySelector("video");
+const shadowRoot = window.internals.shadowRoot(media);
 
-document.body.appendChild(mediaControls.element);
+shouldBecomeEqual("shadowRoot.querySelector('button.tracks').getBoundingClientRect().width > 0", "true", () => {
+    pressOnElement(shadowRoot.querySelector("button.tracks"), () => {
+        shouldBecomeEqual("shadowRoot.contains(shadowRoot.querySelector('.tracks-panel'))", "true", () => {
+            shouldBecomeEqual("media.currentTime > 0.250", "true", () => {
 
-let trackElement;
+                debug("");
+                debug("We've waited long enough so that the controls bar should be faded should the tracks panel not be visible.");
+                shouldBeFalse("shadowRoot.querySelector('.media-controls').classList.contains('faded')");
 
-mediaControls.controlsBar.autoHideDelay = 250;
-mediaControls.controlsBar.fadesWhileIdle = true;
+                debug("");
+                debug("Click on the controls bar to dismiss the panel, the controls bar should remain visible.");
+                eventSender.mouseMoveTo(632, 339);
+                eventSender.mouseDown();
+                eventSender.mouseUp();
 
-debug("mediaControls.showTracksPanel()");
-mediaControls.showTracksPanel();
+                shouldBecomeEqual("shadowRoot.contains(shadowRoot.querySelector('.tracks-panel'))", "false", () => {
+                    shouldBeFalse("shadowRoot.querySelector('.media-controls').classList.contains('faded')");
+                    media.remove();
+                    finishJSTest();
+                });
 
-shouldBecomeEqual("mediaControls.tracksPanel.element.parentNode", "mediaControls.element", () => {
-    // Let's wait a while to see that the controls bar is still visible.
-    setTimeout(() => {
-        debug("");
-        debug("We've waited long enough so that the controls bar should be faded should the tracks panel not be visible");
-        shouldBeFalse("mediaControls.controlsBar.faded");
-
-        debug("");
-        debug("Click on the controls bar to dismiss the panel, the controls bar should remain visible");
-        eventSender.mouseMoveTo(670, 290);
-        eventSender.mouseDown();
-        eventSender.mouseUp();
-
-        shouldBeFalse("mediaControls.controlsBar.faded");
-        shouldBeFalse("mediaControls.tracksPanel.presented");
-
-        debug("");
-        mediaControls.element.remove();
-        finishJSTest();
-    }, mediaControls.controlsBar.autoHideDelay);
+            });
+        });
+    });
 });
 
 </script>

Modified: trunk/LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-position-and-size-expected.txt (228009 => 228010)


--- trunk/LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-position-and-size-expected.txt	2018-02-02 15:24:11 UTC (rev 228009)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-position-and-size-expected.txt	2018-02-02 16:30:13 UTC (rev 228010)
@@ -5,10 +5,10 @@
 
 PASS mediaControls.tracksButton.element.getBoundingClientRect().right became different from 0
 mediaControls.showTracksPanel()
-PASS mediaControls.tracksPanel.element.style.right is "69px"
-PASS mediaControls.tracksPanel.element.style.bottom is "51px"
-PASS getComputedStyle(mediaControls.tracksPanel.element).height is "239px"
-PASS getComputedStyle(mediaControls.tracksPanel.element.lastElementChild).height is "239px"
+PASS mediaControls.tracksPanel.element.style.right is "22px"
+PASS mediaControls.tracksPanel.element.style.bottom is "38px"
+PASS getComputedStyle(mediaControls.tracksPanel.element).height is "252px"
+PASS getComputedStyle(mediaControls.tracksPanel.element.lastElementChild).height is "252px"
 PASS getComputedStyle(mediaControls.tracksPanel.element.lastElementChild).overflowY is "scroll"
 
 PASS successfullyParsed is true

Modified: trunk/LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-position-and-size.html (228009 => 228010)


--- trunk/LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-position-and-size.html	2018-02-02 15:24:11 UTC (rev 228009)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-position-and-size.html	2018-02-02 16:30:13 UTC (rev 228010)
@@ -51,10 +51,10 @@
     debug("mediaControls.showTracksPanel()");
     mediaControls.showTracksPanel();
     window.requestAnimationFrame(() => {
-        shouldBeEqualToString("mediaControls.tracksPanel.element.style.right", "69px");
-        shouldBeEqualToString("mediaControls.tracksPanel.element.style.bottom", "51px");
-        shouldBeEqualToString("getComputedStyle(mediaControls.tracksPanel.element).height", "239px");
-        shouldBeEqualToString("getComputedStyle(mediaControls.tracksPanel.element.lastElementChild).height", "239px");
+        shouldBeEqualToString("mediaControls.tracksPanel.element.style.right", "22px");
+        shouldBeEqualToString("mediaControls.tracksPanel.element.style.bottom", "38px");
+        shouldBeEqualToString("getComputedStyle(mediaControls.tracksPanel.element).height", "252px");
+        shouldBeEqualToString("getComputedStyle(mediaControls.tracksPanel.element.lastElementChild).height", "252px");
         shouldBeEqualToString("getComputedStyle(mediaControls.tracksPanel.element.lastElementChild).overflowY", "scroll");
         debug("");
         mediaControls.element.remove();

Modified: trunk/LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-prevent-controls-bar-from-fading-expected.txt (228009 => 228010)


--- trunk/LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-prevent-controls-bar-from-fading-expected.txt	2018-02-02 15:24:11 UTC (rev 228009)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-prevent-controls-bar-from-fading-expected.txt	2018-02-02 16:30:13 UTC (rev 228010)
@@ -7,13 +7,13 @@
 PASS mediaControls.tracksPanel.element.parentNode became mediaControls.element
 
 We've waited long enough so that the controls bar should be faded should the tracks panel not be visible
-PASS mediaControls.controlsBar.faded is false
+PASS mediaControls.faded is false
 
 Now enter and exit the media controls, the controls bar should remain visible
-PASS mediaControls.controlsBar.faded is false
+PASS mediaControls.faded is false
 
 mediaControls.hideTracksPanel()
-PASS mediaControls.controlsBar.faded is true
+PASS mediaControls.faded is true
 
 PASS successfullyParsed is true
 

Modified: trunk/LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-prevent-controls-bar-from-fading.html (228009 => 228010)


--- trunk/LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-prevent-controls-bar-from-fading.html	2018-02-02 15:24:11 UTC (rev 228009)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-prevent-controls-bar-from-fading.html	2018-02-02 16:30:13 UTC (rev 228010)
@@ -22,8 +22,8 @@
 
 let trackElement;
 
-mediaControls.controlsBar.autoHideDelay = 250;
-mediaControls.controlsBar.fadesWhileIdle = true;
+mediaControls.autoHideController.autoHideDelay = 250;
+mediaControls.autoHideController.fadesWhileIdle = true;
 
 debug("mediaControls.showTracksPanel()");
 mediaControls.showTracksPanel();
@@ -33,7 +33,7 @@
     setTimeout(() => {
         debug("");
         debug("We've waited long enough so that the controls bar should be faded should the tracks panel not be visible");
-        shouldBeFalse("mediaControls.controlsBar.faded");
+        shouldBeFalse("mediaControls.faded");
 
         debug("");
         debug("Now enter and exit the media controls, the controls bar should remain visible");
@@ -40,7 +40,7 @@
         eventSender.mouseMoveTo(700, 10);
         eventSender.mouseMoveTo(650, 10);
         eventSender.mouseMoveTo(700, 10);
-        shouldBeFalse("mediaControls.controlsBar.faded");
+        shouldBeFalse("mediaControls.faded");
 
         // And now dismiss the tracks panel and check that the controls bar
         // fades out as well.
@@ -47,12 +47,12 @@
         debug("");
         debug("mediaControls.hideTracksPanel()");
         mediaControls.hideTracksPanel();
-        shouldBeTrue("mediaControls.controlsBar.faded");
+        shouldBeTrue("mediaControls.faded");
 
         debug("");
         mediaControls.element.remove();
         finishJSTest();
-    }, mediaControls.controlsBar.autoHideDelay);
+    }, mediaControls.autoHideController.autoHideDelay);
 });
 
 </script>

Modified: trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-audio-tracks-expected.txt (228009 => 228010)


--- trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-audio-tracks-expected.txt	2018-02-02 15:24:11 UTC (rev 228009)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-audio-tracks-expected.txt	2018-02-02 16:30:13 UTC (rev 228010)
@@ -3,8 +3,12 @@
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS mediaController.controls.tracksButton.enabled is true
+The tracks button should be disabled initially as we wait for metadata and audio tracks to be added.
+PASS mediaController.controls.tracksButton.enabled is false
 
+Eventually the audio tracks will be added and the tracks button will be enabled.
+PASS mediaController.controls.tracksButton.enabled became true
+
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-audio-tracks.html (228009 => 228010)


--- trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-audio-tracks.html	2018-02-02 15:24:11 UTC (rev 228009)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-audio-tracks.html	2018-02-02 16:30:13 UTC (rev 228010)
@@ -13,8 +13,12 @@
 const media = document.querySelector("video");
 const mediaController = createControls(shadowRoot, media, null);
 
-media.addEventListener("loadedmetadata", function() {
-    shouldBeTrue("mediaController.controls.tracksButton.enabled");
+debug("The tracks button should be disabled initially as we wait for metadata and audio tracks to be added.");
+shouldBeFalse("mediaController.controls.tracksButton.enabled");
+
+debug("");
+debug("Eventually the audio tracks will be added and the tracks button will be enabled.");
+shouldBecomeEqual("mediaController.controls.tracksButton.enabled", "true", () => {
     debug("");
     shadowRoot.host.remove();
     media.remove();

Modified: trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar-expected.txt (228009 => 228010)


--- trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar-expected.txt	2018-02-02 15:24:11 UTC (rev 228009)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar-expected.txt	2018-02-02 16:30:13 UTC (rev 228010)
@@ -3,7 +3,7 @@
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS getComputedStyle(shadowRoot.lastElementChild.firstElementChild).height is "calc(100% - 25px)"
+PASS getComputedStyle(shadowRoot.lastElementChild.firstElementChild).height is "calc((100% - 31px) - 6px)"
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar.html (228009 => 228010)


--- trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar.html	2018-02-02 15:24:11 UTC (rev 228009)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar.html	2018-02-02 16:30:13 UTC (rev 228010)
@@ -15,7 +15,7 @@
 media.addEventListener("play", () => {
     media.pause();
 
-    shouldBeEqualToString("getComputedStyle(shadowRoot.lastElementChild.firstElementChild).height", "calc(100% - 25px)");
+    shouldBeEqualToString("getComputedStyle(shadowRoot.lastElementChild.firstElementChild).height", "calc((100% - 31px) - 6px)");
     media.remove();
     finishJSTest();
 });

Modified: trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt (228009 => 228010)


--- trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt	2018-02-02 15:24:11 UTC (rev 228009)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt	2018-02-02 16:30:13 UTC (rev 228010)
@@ -7,9 +7,9 @@
 PASS internals.shadowRoot(media).querySelector("button.fullscreen").getBoundingClientRect().width became different from 0
 PASS internals.shadowRoot(media).querySelector("button.tracks") became different from null
 PASS internals.shadowRoot(media).querySelector("button.tracks").getBoundingClientRect().width became different from 0
-PASS internals.shadowRoot(media).querySelector("button.tracks").getBoundingClientRect().right became 583
+PASS internals.shadowRoot(media).querySelector("button.tracks").getBoundingClientRect().right became 582
 PASS internals.shadowRoot(media).querySelector('.tracks-panel') became different from null
-PASS internals.shadowRoot(media).querySelector('.tracks-panel').style.right is "217px"
+PASS internals.shadowRoot(media).querySelector('.tracks-panel').style.right is "218px"
 PASS internals.shadowRoot(media).querySelector('.tracks-panel').style.bottom is "101px"
 
 PASS successfullyParsed is true

Modified: trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html (228009 => 228010)


--- trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html	2018-02-02 15:24:11 UTC (rev 228009)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html	2018-02-02 16:30:13 UTC (rev 228010)
@@ -17,10 +17,10 @@
 
     shouldBecomeDifferent(`internals.shadowRoot(media).querySelector("button.tracks")`, "null", () => {
         shouldBecomeDifferent(`internals.shadowRoot(media).querySelector("button.tracks").getBoundingClientRect().width`, "0", () => {
-            shouldBecomeEqual(`internals.shadowRoot(media).querySelector("button.tracks").getBoundingClientRect().right`, "583", () => {
+            shouldBecomeEqual(`internals.shadowRoot(media).querySelector("button.tracks").getBoundingClientRect().right`, "582", () => {
                 pressOnElement(internals.shadowRoot(media).querySelector("button.tracks"));
                 shouldBecomeDifferent(`internals.shadowRoot(media).querySelector('.tracks-panel')`, "null", () => {
-                    shouldBeEqualToString("internals.shadowRoot(media).querySelector('.tracks-panel').style.right", "217px");
+                    shouldBeEqualToString("internals.shadowRoot(media).querySelector('.tracks-panel').style.right", "218px");
                     shouldBeEqualToString("internals.shadowRoot(media).querySelector('.tracks-panel').style.bottom", "101px");
                     debug("");
                     media.remove();

Modified: trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-text-tracks-expected.txt (228009 => 228010)


--- trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-text-tracks-expected.txt	2018-02-02 15:24:11 UTC (rev 228009)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-text-tracks-expected.txt	2018-02-02 16:30:13 UTC (rev 228010)
@@ -3,8 +3,12 @@
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS mediaController.controls.tracksButton.enabled is true
+The tracks button should be disabled initially as we wait for metadata and text tracks to be added.
+PASS mediaController.controls.tracksButton.enabled is false
 
+Eventually the text tracks will be added and the tracks button will be enabled.
+PASS mediaController.controls.tracksButton.enabled became true
+
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-text-tracks.html (228009 => 228010)


--- trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-text-tracks.html	2018-02-02 15:24:11 UTC (rev 228009)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-text-tracks.html	2018-02-02 16:30:13 UTC (rev 228010)
@@ -1,7 +1,7 @@
 <script src=""
 <script src="" type="text/_javascript_"></script>
 <body>
-<video src="" style="width: 320px; height: 240px;"></video>
+<video src="" style="width: 320px; height: 240px;" preload="preload"></video>
 <div id="shadow"></div>
 <script type="text/_javascript_">
 
@@ -13,8 +13,12 @@
 const media = document.querySelector("video");
 const mediaController = createControls(shadowRoot, media, null);
 
-media.addEventListener("loadedmetadata", function() {
-    shouldBeTrue("mediaController.controls.tracksButton.enabled");
+debug("The tracks button should be disabled initially as we wait for metadata and text tracks to be added.");
+shouldBeFalse("mediaController.controls.tracksButton.enabled");
+
+debug("");
+debug("Eventually the text tracks will be added and the tracks button will be enabled.");
+shouldBecomeEqual("mediaController.controls.tracksButton.enabled", "true", () => {
     debug("");
     shadowRoot.host.remove();
     media.remove();

Modified: trunk/LayoutTests/platform/mac/TestExpectations (228009 => 228010)


--- trunk/LayoutTests/platform/mac/TestExpectations	2018-02-02 15:24:11 UTC (rev 228009)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2018-02-02 16:30:13 UTC (rev 228010)
@@ -1492,8 +1492,8 @@
 media/modern-media-controls/time-label [ Pass ]
 media/modern-media-controls/time-label/ios-time-label.html [ Skip ]
 media/modern-media-controls/time-labels-support [ Pass ]
-media/modern-media-controls/tracks-panel/tracks-panel-up-click-outside-media-does-not-dimiss-media-controls-when-media-is-paused.html [ Pass ]
-media/modern-media-controls/tracks-panel/tracks-panel-up-click-over-media-does-not-dimiss-media-controls-when-media-is-playing.html [ Pass ]
+media/modern-media-controls/tracks-panel [ Pass ]
+media/modern-media-controls/tracks-support [ Pass ]
 media/modern-media-controls/tracks-button [ Pass ]
 media/modern-media-controls/volume-up-support [ Pass ]
 
@@ -1515,6 +1515,7 @@
 
 webkit.org/b/178126 media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-over-controls-bar.html [ Skip ]
 webkit.org/b/178127 media/modern-media-controls/media-controller/media-controller-video-with-only-audio.html [ Skip ]
+webkit.org/b/182425 media/modern-media-controls/tracks-panel/tracks-panel-controls-bar-remains-visible-after-clicking-over-it.html [ Failure ]
 
 # This test relies on the control overlay not being visible in the top left. But the test now fails on Mac because
 # the image is dumped after the video is loaded and the control overlay is displayed. It seems the test still works

Modified: trunk/Source/WebCore/ChangeLog (228009 => 228010)


--- trunk/Source/WebCore/ChangeLog	2018-02-02 15:24:11 UTC (rev 228009)
+++ trunk/Source/WebCore/ChangeLog	2018-02-02 16:30:13 UTC (rev 228010)
@@ -1,3 +1,15 @@
+2018-02-02  Antoine Quint  <grao...@apple.com>
+
+        [Modern Media Controls] Turn media/modern-media-controls/tracks-panel and media/modern-media-controls/tracks-support back on
+        https://bugs.webkit.org/show_bug.cgi?id=182426
+
+        Reviewed by Dean Jackson.
+
+        Ensure that the tracks panel isn't dismissed by updating the layout.
+
+        * Modules/modern-media-controls/controls/inline-media-controls.js:
+        (InlineMediaControls.prototype.layout):
+
 2018-02-02  Commit Queue  <commit-qu...@webkit.org>
 
         Unreviewed, rolling out r227964.

Modified: trunk/Source/WebCore/Modules/modern-media-controls/controls/inline-media-controls.js (228009 => 228010)


--- trunk/Source/WebCore/Modules/modern-media-controls/controls/inline-media-controls.js	2018-02-02 15:24:11 UTC (rev 228009)
+++ trunk/Source/WebCore/Modules/modern-media-controls/controls/inline-media-controls.js	2018-02-02 16:30:13 UTC (rev 228010)
@@ -128,6 +128,10 @@
         if (!this.bottomControlsBar)
             return;
 
+        // Ensure the tracks panel is a child if it were presented.
+        if (this.tracksPanel.presented)
+            children.push(this.tracksPanel);
+
         // Update the top left controls bar.
         this._topLeftControlsBarContainer.children = this._topLeftContainerButtons();
         this._topLeftControlsBarContainer.layout();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to