Changeset 186064 in webkit
- Timestamp:
- Jun 28, 2015 10:29:04 PM (9 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r186054 r186064 1 2015-06-26 Matt Rajca <mrajca@apple.com> 2 3 Add support for 'Default' media session types 4 https://bugs.webkit.org/show_bug.cgi?id=146355 5 6 Reviewed by Darin Adler. 7 8 * Modules/mediasession/MediaSession.cpp: 9 (WebCore::MediaSession::MediaSession): Added a new constructor for creating 'Default' media sessions. 10 (WebCore::MediaSession::kind): 'Default' media sessions are represented by an empty string. 11 * Modules/mediasession/MediaSession.h: 12 * dom/Document.cpp: 13 (WebCore::Document::defaultMediaSession): Lazily construct the default media session. 14 * dom/Document.h: 15 * html/HTMLMediaElement.cpp: 16 (WebCore::HTMLMediaElement::HTMLMediaElement): New media elements are assigned to the 'Default' media session. 17 1 18 2015-06-28 Andreas Kling <akling@apple.com> 2 19 -
trunk/Source/WebCore/Modules/mediasession/MediaSession.cpp
r185963 r186064 38 38 namespace WebCore { 39 39 40 static const char* defaultKind = ""; 40 41 static const char* ambientKind = "ambient"; 41 42 static const char* transientKind = "transient"; … … 57 58 } 58 59 60 MediaSession::MediaSession(Document& document) 61 : m_document(document) 62 { 63 MediaSessionManager::singleton().addMediaSession(*this); 64 } 65 59 66 MediaSession::MediaSession(ScriptExecutionContext& context, const String& kind) 60 67 : m_document(downcast<Document>(context)) … … 78 85 { 79 86 switch (m_kind) { 87 case MediaSession::Kind::Default: 88 return defaultKind; 80 89 case MediaSession::Kind::Ambient: 81 90 return ambientKind; -
trunk/Source/WebCore/Modules/mediasession/MediaSession.h
r185963 r186064 51 51 } 52 52 53 explicit MediaSession(Document&); 53 54 MediaSession(ScriptExecutionContext&, const String&); 54 55 ~MediaSession(); … … 74 75 75 76 enum class Kind { 77 Default, 76 78 Content, 77 79 Transient, … … 95 97 96 98 Document& m_document; 97 const Kind m_kind ;99 const Kind m_kind { Kind::Default }; 98 100 RefPtr<MediaRemoteControls> m_controls; 99 101 MediaSessionMetadata m_metadata; -
trunk/Source/WebCore/dom/Document.cpp
r185602 r186064 234 234 #endif 235 235 236 #if ENABLE(MEDIA_SESSION) 237 #include "MediaSession.h" 238 #endif 239 236 240 using namespace WTF; 237 241 using namespace Unicode; … … 6651 6655 #endif // ENABLE(WIRELESS_PLAYBACK_TARGET) 6652 6656 6657 #if ENABLE(MEDIA_SESSION) 6658 MediaSession& Document::defaultMediaSession() 6659 { 6660 if (!m_defaultMediaSession) 6661 m_defaultMediaSession = adoptRef(*new MediaSession(*this)); 6662 6663 return *m_defaultMediaSession; 6664 } 6665 #endif 6666 6653 6667 ShouldOpenExternalURLsPolicy Document::shouldOpenExternalURLsPolicyToPropagate() const 6654 6668 { -
trunk/Source/WebCore/dom/Document.h
r185602 r186064 223 223 #endif 224 224 225 #if ENABLE(MEDIA_SESSION) 226 class MediaSession; 227 #endif 228 225 229 enum PageshowEventPersistence { 226 230 PageshowEventNotPersisted = 0, … … 981 985 void mediaVolumeDidChange(); 982 986 987 #if ENABLE(MEDIA_SESSION) 988 MediaSession& defaultMediaSession(); 989 #endif 990 983 991 void registerForPrivateBrowsingStateChangedCallbacks(Element*); 984 992 void unregisterForPrivateBrowsingStateChangedCallbacks(Element*); … … 1707 1715 TargetClientToIdMap m_clientToIDMap; 1708 1716 #endif 1717 1718 #if ENABLE(MEDIA_SESSION) 1719 RefPtr<MediaSession> m_defaultMediaSession; 1720 #endif 1709 1721 }; 1710 1722 -
trunk/Source/WebCore/html/HTMLMediaElement.cpp
r186054 r186064 410 410 #endif 411 411 412 #if ENABLE(MEDIA_SESSION) 413 m_session = &document.defaultMediaSession(); 414 #endif 415 412 416 registerWithDocument(document); 413 417 }
Note: See TracChangeset
for help on using the changeset viewer.