Title: [219412] trunk
Revision
219412
Author
commit-qu...@webkit.org
Date
2017-07-12 11:19:28 -0700 (Wed, 12 Jul 2017)

Log Message

Playback controls should not hide while AirPlay is active
https://bugs.webkit.org/show_bug.cgi?id=174422
<rdar://problem/33011477>

Patch by Antoine Quint <grao...@apple.com> on 2017-07-12
Reviewed by Eric Carlson.

Source/WebCore:

We now also track changes in AirPlay playback status and account for it when identifying whether we
ought to let media controls automatically hide, which should only happen if the media is playing and
not playing back through AirPlay.

* Modules/modern-media-controls/media/controls-visibility-support.js:
(ControlsVisibilitySupport.prototype.get mediaEvents):
(ControlsVisibilitySupport.prototype._updateControls):
(ControlsVisibilitySupport):

LayoutTests:

Expand the existing AirPlaySupport test to check that when we enter AirPlay we correctly prevent
the media controls from automatically hiding.

* media/modern-media-controls/airplay-support/airplay-support-expected.txt:
* media/modern-media-controls/airplay-support/airplay-support.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (219411 => 219412)


--- trunk/LayoutTests/ChangeLog	2017-07-12 18:07:14 UTC (rev 219411)
+++ trunk/LayoutTests/ChangeLog	2017-07-12 18:19:28 UTC (rev 219412)
@@ -1,3 +1,17 @@
+2017-07-12  Antoine Quint  <grao...@apple.com>
+
+        Playback controls should not hide while AirPlay is active
+        https://bugs.webkit.org/show_bug.cgi?id=174422
+        <rdar://problem/33011477>
+
+        Reviewed by Eric Carlson.
+
+        Expand the existing AirPlaySupport test to check that when we enter AirPlay we correctly prevent
+        the media controls from automatically hiding.
+
+        * media/modern-media-controls/airplay-support/airplay-support-expected.txt:
+        * media/modern-media-controls/airplay-support/airplay-support.html:
+
 2017-07-12  Nan Wang  <n_w...@apple.com>
 
         AX: [iOS] Implement a way to retrieve a text marker range with desired text that is closest to a position

Modified: trunk/LayoutTests/media/modern-media-controls/airplay-support/airplay-support-expected.txt (219411 => 219412)


--- trunk/LayoutTests/media/modern-media-controls/airplay-support/airplay-support-expected.txt	2017-07-12 18:07:14 UTC (rev 219411)
+++ trunk/LayoutTests/media/modern-media-controls/airplay-support/airplay-support-expected.txt	2017-07-12 18:19:28 UTC (rev 219412)
@@ -7,11 +7,13 @@
 PASS mediaController.controls.airplayButton.enabled is true
 PASS mediaController.controls.airplayButton.on is false
 PASS mediaController.controls.muteButton.enabled is true
+PASS mediaController.controls.autoHideController.fadesWhileIdle is true
 
 Entering AirPlay playback mode.
 PASS mediaController.controls.airplayButton.enabled is true
 PASS mediaController.controls.airplayButton.on is true
 PASS mediaController.controls.muteButton.enabled is false
+PASS mediaController.controls.autoHideController.fadesWhileIdle is false
 
 PASS successfullyParsed is true
 

Modified: trunk/LayoutTests/media/modern-media-controls/airplay-support/airplay-support.html (219411 => 219412)


--- trunk/LayoutTests/media/modern-media-controls/airplay-support/airplay-support.html	2017-07-12 18:07:14 UTC (rev 219411)
+++ trunk/LayoutTests/media/modern-media-controls/airplay-support/airplay-support.html	2017-07-12 18:19:28 UTC (rev 219412)
@@ -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;" autoplay></video>
 <div id="host"></div>
 <script type="text/_javascript_">
 
@@ -43,6 +43,7 @@
     shouldBeTrue("mediaController.controls.airplayButton.enabled");
     shouldBeFalse("mediaController.controls.airplayButton.on");
     shouldBeTrue("mediaController.controls.muteButton.enabled");
+    shouldBeTrue("mediaController.controls.autoHideController.fadesWhileIdle");
 
     enterAirPlay();
 }
@@ -64,7 +65,8 @@
     shouldBeTrue("mediaController.controls.airplayButton.enabled");
     shouldBeTrue("mediaController.controls.airplayButton.on");
     shouldBeFalse("mediaController.controls.muteButton.enabled");
-
+    shouldBeFalse("mediaController.controls.autoHideController.fadesWhileIdle");
+    
     debug("");
     container.remove();
     media.remove();

Modified: trunk/Source/WebCore/ChangeLog (219411 => 219412)


--- trunk/Source/WebCore/ChangeLog	2017-07-12 18:07:14 UTC (rev 219411)
+++ trunk/Source/WebCore/ChangeLog	2017-07-12 18:19:28 UTC (rev 219412)
@@ -1,3 +1,20 @@
+2017-07-12  Antoine Quint  <grao...@apple.com>
+
+        Playback controls should not hide while AirPlay is active
+        https://bugs.webkit.org/show_bug.cgi?id=174422
+        <rdar://problem/33011477>
+
+        Reviewed by Eric Carlson.
+
+        We now also track changes in AirPlay playback status and account for it when identifying whether we
+        ought to let media controls automatically hide, which should only happen if the media is playing and
+        not playing back through AirPlay.
+
+        * Modules/modern-media-controls/media/controls-visibility-support.js:
+        (ControlsVisibilitySupport.prototype.get mediaEvents):
+        (ControlsVisibilitySupport.prototype._updateControls):
+        (ControlsVisibilitySupport):
+
 2017-07-12  Daniel Bates  <daba...@apple.com>
 
         Attempt to fix the build following <https://trac.webkit.org/changeset/219407>

Modified: trunk/Source/WebCore/Modules/modern-media-controls/media/controls-visibility-support.js (219411 => 219412)


--- trunk/Source/WebCore/Modules/modern-media-controls/media/controls-visibility-support.js	2017-07-12 18:07:14 UTC (rev 219411)
+++ trunk/Source/WebCore/Modules/modern-media-controls/media/controls-visibility-support.js	2017-07-12 18:19:28 UTC (rev 219412)
@@ -45,7 +45,7 @@
 
     get mediaEvents()
     {
-        return ["loadedmetadata", "play", "pause", "webkitfullscreenchange"];
+        return ["loadedmetadata", "play", "pause", "webkitfullscreenchange", "webkitcurrentplaybacktargetiswirelesschanged"];
     }
 
     get tracksToMonitor()
@@ -69,7 +69,7 @@
 
         const controls = this.mediaController.controls;
         controls.visible = shouldShowControls;
-        controls.autoHideController.fadesWhileIdle = isVideo ? !media.paused : false;
+        controls.autoHideController.fadesWhileIdle = isVideo ? !media.paused && !media.webkitCurrentPlaybackTargetIsWireless : false;
     }
 
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to