Changeset 218891 in webkit


Ignore:
Timestamp:
Jun 28, 2017, 1:59:06 PM (8 years ago)
Author:
commit-queue@webkit.org
Message:

Volume controls should be hidden when AirPlay is active
https://bugs.webkit.org/show_bug.cgi?id=173933
<rdar://problem/33011931>

Patch by Antoine Quint <Antoine Quint> on 2017-06-28
Reviewed by Dean Jackson.

Source/WebCore:

Ensure we don't show any volume controls during AirPlay. We set the mute button's enabled state to "false"
when AirPlay is active and key off this enabled stated to control the display of all volume-related controls
throughout the UI.

Tests: media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-controls-hidden-when-mute-button-disabled.html

media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-top-right-controls-bar-hidden-when-mute-button-disabled.html

  • Modules/modern-media-controls/controls/inline-media-controls.js:

(InlineMediaControls.prototype._addTopRightBarWithMuteButtonToChildren):
(InlineMediaControls):

  • Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js:

(MacOSFullscreenMediaControls.prototype.layout):

  • Modules/modern-media-controls/media/airplay-support.js:

(AirplaySupport.prototype.syncControl):
(AirplaySupport):

LayoutTests:

Expand the AirplaySupport testing to check that the mute button's enabled state is set to "false"
in AirPlay and add new tests to check that volume controls are correctly hidden when the mute button
is disabled.

  • media/modern-media-controls/airplay-support/airplay-support-expected.txt:
  • media/modern-media-controls/airplay-support/airplay-support.html:
  • media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-controls-hidden-when-mute-button-disabled-expected.txt: Added.
  • media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-controls-hidden-when-mute-button-disabled.html: Added.
  • media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-top-right-controls-bar-hidden-when-mute-button-disabled-expected.txt: Added.
  • media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-top-right-controls-bar-hidden-when-mute-button-disabled.html: Added.
  • platform/mac/TestExpectations:
Location:
trunk
Files:
4 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r218889 r218891  
     12017-06-28  Antoine Quint  <graouts@apple.com>
     2
     3        Volume controls should be hidden when AirPlay is active
     4        https://bugs.webkit.org/show_bug.cgi?id=173933
     5        <rdar://problem/33011931>
     6
     7        Reviewed by Dean Jackson.
     8
     9        Expand the AirplaySupport testing to check that the mute button's enabled state is set to "false"
     10        in AirPlay and add new tests to check that volume controls are correctly hidden when the mute button
     11        is disabled.
     12
     13        * media/modern-media-controls/airplay-support/airplay-support-expected.txt:
     14        * media/modern-media-controls/airplay-support/airplay-support.html:
     15        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-controls-hidden-when-mute-button-disabled-expected.txt: Added.
     16        * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-controls-hidden-when-mute-button-disabled.html: Added.
     17        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-top-right-controls-bar-hidden-when-mute-button-disabled-expected.txt: Added.
     18        * media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-top-right-controls-bar-hidden-when-mute-button-disabled.html: Added.
     19        * platform/mac/TestExpectations:
     20
    1212017-06-28  Matt Lewis  <jlewis3@apple.com>
    222
  • trunk/LayoutTests/media/modern-media-controls/airplay-support/airplay-support-expected.txt

    r208254 r218891  
    77PASS mediaController.controls.airplayButton.enabled is true
    88PASS mediaController.controls.airplayButton.on is false
     9PASS mediaController.controls.muteButton.enabled is true
    910
    1011Entering AirPlay playback mode.
    1112PASS mediaController.controls.airplayButton.enabled is true
    1213PASS mediaController.controls.airplayButton.on is true
     14PASS mediaController.controls.muteButton.enabled is false
    1315
    1416PASS successfullyParsed is true
  • trunk/LayoutTests/media/modern-media-controls/airplay-support/airplay-support.html

    r213196 r218891  
    4343    shouldBeTrue("mediaController.controls.airplayButton.enabled");
    4444    shouldBeFalse("mediaController.controls.airplayButton.on");
     45    shouldBeTrue("mediaController.controls.muteButton.enabled");
    4546
    4647    enterAirPlay();
     
    6364    shouldBeTrue("mediaController.controls.airplayButton.enabled");
    6465    shouldBeTrue("mediaController.controls.airplayButton.on");
     66    shouldBeFalse("mediaController.controls.muteButton.enabled");
    6567
    6668    debug("");
  • trunk/LayoutTests/platform/mac/TestExpectations

    r218877 r218891  
    15561556media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button.html [ Pass ]
    15571557media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag.html [ Pass ]
     1558media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-controls-hidden-when-mute-button-disabled.html [ Pass ]
    15581559media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-mute-button-in-bottom-or-top-right-controls-bar.html [ Pass ]
     1560media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-top-right-controls-bar-hidden-when-mute-button-disabled.html [ Pass ]
    15591561media/modern-media-controls/media-documents [ Pass ]
    15601562media/modern-media-controls/mute-button [ Pass ]
  • trunk/Source/WebCore/ChangeLog

    r218890 r218891  
     12017-06-28  Antoine Quint  <graouts@apple.com>
     2
     3        Volume controls should be hidden when AirPlay is active
     4        https://bugs.webkit.org/show_bug.cgi?id=173933
     5        <rdar://problem/33011931>
     6
     7        Reviewed by Dean Jackson.
     8
     9        Ensure we don't show any volume controls during AirPlay. We set the mute button's enabled state to "false"
     10        when AirPlay is active and key off this enabled stated to control the display of all volume-related controls
     11        throughout the UI.
     12
     13        Tests: media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-controls-hidden-when-mute-button-disabled.html
     14               media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-top-right-controls-bar-hidden-when-mute-button-disabled.html
     15
     16        * Modules/modern-media-controls/controls/inline-media-controls.js:
     17        (InlineMediaControls.prototype._addTopRightBarWithMuteButtonToChildren):
     18        (InlineMediaControls):
     19        * Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js:
     20        (MacOSFullscreenMediaControls.prototype.layout):
     21        * Modules/modern-media-controls/media/airplay-support.js:
     22        (AirplaySupport.prototype.syncControl):
     23        (AirplaySupport):
     24
    1252017-06-28  Konstantin Tokarev  <annulen@yandex.ru>
    226
  • trunk/Source/WebCore/Modules/modern-media-controls/controls/inline-media-controls.js

    r218877 r218891  
    276276    _addTopRightBarWithMuteButtonToChildren(children)
    277277    {
     278        if (!this.muteButton.enabled)
     279            return;
     280
    278281        delete this.muteButton.dropped;
    279282        this.muteButton.style = Button.Styles.Bar;
  • trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js

    r218400 r218891  
    124124        this._rightContainer.buttonMargin = buttonMargin;
    125125
     126        this._leftContainer.visible = this.muteButton.enabled;
     127
    126128        this._leftContainer.layout();
    127129        this._centerContainer.layout();
  • trunk/Source/WebCore/Modules/modern-media-controls/media/airplay-support.js

    r209451 r218891  
    5656        this.control.enabled = !!this._routesAvailable;
    5757        this.control.on = this.mediaController.media.webkitCurrentPlaybackTargetIsWireless;
     58        this.mediaController.controls.muteButton.enabled = !this.control.on;
    5859    }
    5960
Note: See TracChangeset for help on using the changeset viewer.