haikuwebkit/LayoutTests/media/airplay-target-availability...

17 lines
476 B
Plaintext
Raw Permalink Normal View History

AirPlay route availability event not always sent https://bugs.webkit.org/show_bug.cgi?id=152802 Reviewed by Jer Noble. Source/WebCore: Test: media/airplay-target-availability.html * Modules/mediasession/WebMediaSessionManager.cpp: (WebCore::mediaProducerStateString): Log the new flags. (WebCore::WebMediaSessionManager::clientStateDidChange): Schedule a client reconfiguration if the 'requires monitoring', 'has listener', or 'has audio or video' flags have changed. (WebCore::WebMediaSessionManager::configurePlaybackTargetMonitoring): Start monitoring if at least one client has a listener and at least one has audio/video. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaState): Set new flags. * html/HTMLMediaElement.h: * page/MediaProducer.h: Define new flags. Add new state enum. * platform/graphics/MediaPlaybackTargetContext.h: Initial state is "Unknown". * platform/mock/MediaPlaybackTargetMock.h: * platform/mock/MediaPlaybackTargetPickerMock.cpp: (WebCore::MediaPlaybackTargetPickerMock::externalOutputDeviceAvailable): Enums not bitfields. (WebCore::MediaPlaybackTargetPickerMock::startingMonitoringPlaybackTargets): Ditto. Don't make device change callback if the device state is "Unknown". (WebCore::MediaPlaybackTargetPickerMock::setState): Ditto. * platform/mock/MediaPlaybackTargetPickerMock.h: * testing/Internals.cpp: (WebCore::Internals::setMockMediaPlaybackTargetPickerState): Support new state. LayoutTests: * media/airplay-target-availability-expected.txt: Added. * media/airplay-target-availability.html: Added. * platform/mac/TestExpectations: Skip new test on Yosemite. * platform/efl/TestExpectations: Skip new test. * platform/gtk/TestExpectations: Ditto. * platform/win/TestExpectations: Ditto. Canonical link: https://commits.webkit.org/170900@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194672 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-01-06 23:37:08 +00:00
Test that 'webkitplaybacktargetavailabilitychanged' event is sent when at least one video element has playable media.
EVENT( webkitplaybacktargetavailabilitychanged )
EXPECTED (event.availability == 'not-available') OK
AirPlay route availability event not always sent https://bugs.webkit.org/show_bug.cgi?id=152802 Reviewed by Jer Noble. Source/WebCore: Test: media/airplay-target-availability.html * Modules/mediasession/WebMediaSessionManager.cpp: (WebCore::mediaProducerStateString): Log the new flags. (WebCore::WebMediaSessionManager::clientStateDidChange): Schedule a client reconfiguration if the 'requires monitoring', 'has listener', or 'has audio or video' flags have changed. (WebCore::WebMediaSessionManager::configurePlaybackTargetMonitoring): Start monitoring if at least one client has a listener and at least one has audio/video. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaState): Set new flags. * html/HTMLMediaElement.h: * page/MediaProducer.h: Define new flags. Add new state enum. * platform/graphics/MediaPlaybackTargetContext.h: Initial state is "Unknown". * platform/mock/MediaPlaybackTargetMock.h: * platform/mock/MediaPlaybackTargetPickerMock.cpp: (WebCore::MediaPlaybackTargetPickerMock::externalOutputDeviceAvailable): Enums not bitfields. (WebCore::MediaPlaybackTargetPickerMock::startingMonitoringPlaybackTargets): Ditto. Don't make device change callback if the device state is "Unknown". (WebCore::MediaPlaybackTargetPickerMock::setState): Ditto. * platform/mock/MediaPlaybackTargetPickerMock.h: * testing/Internals.cpp: (WebCore::Internals::setMockMediaPlaybackTargetPickerState): Support new state. LayoutTests: * media/airplay-target-availability-expected.txt: Added. * media/airplay-target-availability.html: Added. * platform/mac/TestExpectations: Skip new test on Yosemite. * platform/efl/TestExpectations: Skip new test. * platform/gtk/TestExpectations: Ditto. * platform/win/TestExpectations: Ditto. Canonical link: https://commits.webkit.org/170900@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194672 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-01-06 23:37:08 +00:00
** simulate device becoming available
EVENT( webkitplaybacktargetavailabilitychanged )
** set src on video that does not have event listener
EVENT( webkitplaybacktargetavailabilitychanged )
EXPECTED (event.availability == 'available') OK
AirPlay route availability event not always sent https://bugs.webkit.org/show_bug.cgi?id=152802 Reviewed by Jer Noble. Source/WebCore: Test: media/airplay-target-availability.html * Modules/mediasession/WebMediaSessionManager.cpp: (WebCore::mediaProducerStateString): Log the new flags. (WebCore::WebMediaSessionManager::clientStateDidChange): Schedule a client reconfiguration if the 'requires monitoring', 'has listener', or 'has audio or video' flags have changed. (WebCore::WebMediaSessionManager::configurePlaybackTargetMonitoring): Start monitoring if at least one client has a listener and at least one has audio/video. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaState): Set new flags. * html/HTMLMediaElement.h: * page/MediaProducer.h: Define new flags. Add new state enum. * platform/graphics/MediaPlaybackTargetContext.h: Initial state is "Unknown". * platform/mock/MediaPlaybackTargetMock.h: * platform/mock/MediaPlaybackTargetPickerMock.cpp: (WebCore::MediaPlaybackTargetPickerMock::externalOutputDeviceAvailable): Enums not bitfields. (WebCore::MediaPlaybackTargetPickerMock::startingMonitoringPlaybackTargets): Ditto. Don't make device change callback if the device state is "Unknown". (WebCore::MediaPlaybackTargetPickerMock::setState): Ditto. * platform/mock/MediaPlaybackTargetPickerMock.h: * testing/Internals.cpp: (WebCore::Internals::setMockMediaPlaybackTargetPickerState): Support new state. LayoutTests: * media/airplay-target-availability-expected.txt: Added. * media/airplay-target-availability.html: Added. * platform/mac/TestExpectations: Skip new test on Yosemite. * platform/efl/TestExpectations: Skip new test. * platform/gtk/TestExpectations: Ditto. * platform/win/TestExpectations: Ditto. Canonical link: https://commits.webkit.org/170900@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194672 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-01-06 23:37:08 +00:00
END OF TEST