Changeset 187006 in webkit
- Timestamp:
- Jul 18, 2015 7:14:14 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/platform/mac/TestExpectations
r186998 r187006 994 994 995 995 # ENABLE(MEDIA_SESSION) is disabled 996 media/session/content-interruptions.html 996 997 media/session/controls-existence.html 997 998 media/session/default-session.html -
trunk/Source/WebCore/ChangeLog
r187005 r187006 1 2015-07-17 Matt Rajca <mrajca@apple.com> 2 3 Media Session: Add support for 'Content' interruption types 4 https://bugs.webkit.org/show_bug.cgi?id=147042 5 6 Reviewed by Eric Carlson. 7 8 Tests: Added media/session/content-interruptions 9 10 * Modules/mediasession/MediaSession.cpp: 11 (WebCore::MediaSession::handleIndefinitePauseInterruption): Indefinitely pause the session by pausing media 12 elements and removing them from the set of active participating elements. 13 * Modules/mediasession/MediaSession.h: 14 * Modules/mediasession/MediaSessionManager.cpp: 15 (WebCore::MediaSessionManager::didReceiveStartOfInterruptionNotification): Implemented support for 'Content' 16 interruption types as described in 4.5.2. 17 1 18 2015-07-16 Matt Rajca <mrajca@apple.com> 2 19 -
trunk/Source/WebCore/Modules/mediasession/MediaSession.cpp
r186918 r187006 253 253 } 254 254 255 void MediaSession::handleIndefinitePauseInterruption() 256 { 257 safelyIterateActiveMediaElements([](HTMLMediaElement* element) { 258 element->pause(); 259 }); 260 261 m_activeParticipatingElements.clear(); 262 m_currentState = State::Idle; 263 } 264 255 265 void MediaSession::handlePauseInterruption() 256 266 { -
trunk/Source/WebCore/Modules/mediasession/MediaSession.h
r187004 r187006 78 78 79 79 void handleDuckInterruption(); 80 void handleIndefinitePauseInterruption(); 80 81 void handlePauseInterruption(); 81 82 void handleUnduckInterruption(); -
trunk/Source/WebCore/Modules/mediasession/MediaSessionManager.cpp
r186918 r187006 114 114 115 115 // 3. Run these substeps: 116 if (interruptingCategory == MediaSessionInterruptingCategory::Transient) { 117 // - If interrupting media session category is Transient 116 if (interruptingCategory == MediaSessionInterruptingCategory::Content) { 117 // - If interrupting media session category is Content: 118 // If media session's current media session type is Default or Content then indefinitely pause all of media 119 // session's active audio-producing participants and set media session's current state to idle. 120 if (session->kindEnum() == MediaSession::Kind::Default || session->kindEnum() == MediaSession::Kind::Content) 121 session->handleIndefinitePauseInterruption(); 122 } else if (interruptingCategory == MediaSessionInterruptingCategory::Transient) { 123 // - If interrupting media session category is Transient: 118 124 // If media session's current media session type is Default or Content then duck all of media session's active 119 125 // audio-producing participants and set media session's current state to interrupted.
Note: See TracChangeset
for help on using the changeset viewer.