Changeset 267885 in webkit
- Timestamp:
- Oct 2, 2020 9:39:47 AM (4 years ago)
- Location:
- trunk
- Files:
-
- 13 deleted
- 57 edited
- 4 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/ChangeLog
r267883 r267885 1 2020-10-02 Sam Weinig <weinig@apple.com> 2 3 Remove code behind ENABLE(MEDIA_SESSION), no ports enable it 4 https://bugs.webkit.org/show_bug.cgi?id=216831 5 6 Reviewed by Alex Christensen. 7 8 * Source/cmake/OptionsFTW.cmake: 9 * Source/cmake/WebKitFeatures.cmake: 10 Remove option to build with MEDIA_SESSION, no one was doing it. 11 1 12 2020-10-02 Karl Rackler <rackler@apple.com> 2 13 -
trunk/LayoutTests/ChangeLog
r267884 r267885 1 2020-10-02 Sam Weinig <weinig@apple.com> 2 3 Remove code behind ENABLE(MEDIA_SESSION), no ports enable it 4 https://bugs.webkit.org/show_bug.cgi?id=216831 5 6 Reviewed by Alex Christensen. 7 8 Remove always skipped Media Session tests. 9 10 * TestExpectations: 11 * gpu-process/TestExpectations: 12 * media/session: Removed. 13 1 14 2020-10-02 Sam Weinig <weinig@apple.com> 2 15 -
trunk/LayoutTests/TestExpectations
r267883 r267885 1931 1931 1932 1932 webkit.org/b/146182 editing/selection/leak-document-with-selection-inside.html [ Pass Failure ] 1933 1934 # Media Sessions is not yet enabled by default: ENABLE(MEDIA_SESSION)1935 media/session [ Skip ]1936 1933 1937 1934 # Experimental H265 support. -
trunk/LayoutTests/gpu-process/TestExpectations
r267883 r267885 259 259 media/remoteplayback-prompt.html [ Skip ] 260 260 261 media/session [ Skip ]262 263 261 media/track/audio/audio-track-mkv-vorbis-addtrack.html [ Skip ] 264 262 media/track/audio/audio-track-mkv-vorbis-enabled.html [ Skip ] -
trunk/Source/WebCore/CMakeLists.txt
r267883 r267885 44 44 "${WEBCORE_DIR}/Modules/mediacontrols" 45 45 "${WEBCORE_DIR}/Modules/mediarecorder" 46 "${WEBCORE_DIR}/Modules/mediasession"47 46 "${WEBCORE_DIR}/Modules/mediasource" 48 47 "${WEBCORE_DIR}/Modules/mediastream" … … 140 139 "${WEBCORE_DIR}/platform/mediacapabilities" 141 140 "${WEBCORE_DIR}/platform/mediarecorder" 142 "${WEBCORE_DIR}/platform/mediasession"143 141 "${WEBCORE_DIR}/platform/mediastream" 144 142 "${WEBCORE_DIR}/platform/mediastream/libwebrtc" … … 199 197 Modules/mediacapabilities 200 198 Modules/mediarecorder 201 Modules/mediasession202 199 Modules/mediastream 203 200 Modules/notifications … … 327 324 Modules/mediarecorder/MediaRecorder.idl 328 325 Modules/mediarecorder/MediaRecorderErrorEvent.idl 329 330 Modules/mediasession/HTMLMediaElement+MediaSession.idl331 Modules/mediasession/MediaRemoteControls.idl332 Modules/mediasession/MediaSession.idl333 326 334 327 Modules/mediasource/AudioTrack+MediaSource.idl -
trunk/Source/WebCore/ChangeLog
r267883 r267885 1 2020-10-02 Sam Weinig <weinig@apple.com> 2 3 Remove code behind ENABLE(MEDIA_SESSION), no ports enable it 4 https://bugs.webkit.org/show_bug.cgi?id=216831 5 6 Reviewed by Alex Christensen. 7 8 * CMakeLists.txt: 9 * Sources.txt: 10 * WebCore.xcodeproj/project.pbxproj: 11 Remove media session related files. 12 13 * Modules/airplay/PlaybackTargetClientContextIdentifier.h: Added. 14 * Modules/airplay/WebMediaSessionManager.cpp: Added. 15 * Modules/airplay/WebMediaSessionManager.h: Added. 16 * Modules/airplay/WebMediaSessionManagerClient.h: Added. 17 * Modules/mediasession: Removed. 18 * platform/mediasession: Removed. 19 Delete Modules/mediasession and platform/mediasession. Move files that 20 were actually used for the WIRELESS_PLAYBACK_TARGET feature to 21 Modules/airplay where other parts of that feature are implemented. 22 23 * dom/Document.cpp: 24 * dom/Document.h: 25 * dom/EventTargetFactory.in: 26 * html/HTMLMediaElement.cpp: 27 * html/HTMLMediaElement.h: 28 * page/ChromeClient.h: 29 * page/Page.cpp: 30 * page/Page.h: 31 * testing/Internals.cpp: 32 * testing/Internals.h: 33 * testing/Internals.idl: 34 Remove all code inside ENABLE(MEDIA_SESSION). 35 1 36 2020-10-02 Karl Rackler <rackler@apple.com> 2 37 -
trunk/Source/WebCore/DerivedSources-input.xcfilelist
r267883 r267885 157 157 $(PROJECT_DIR)/Modules/mediarecorder/MediaRecorder.idl 158 158 $(PROJECT_DIR)/Modules/mediarecorder/MediaRecorderErrorEvent.idl 159 $(PROJECT_DIR)/Modules/mediasession/HTMLMediaElement+MediaSession.idl160 $(PROJECT_DIR)/Modules/mediasession/MediaRemoteControls.idl161 $(PROJECT_DIR)/Modules/mediasession/MediaSession.idl162 159 $(PROJECT_DIR)/Modules/mediasource/AudioTrack+MediaSource.idl 163 160 $(PROJECT_DIR)/Modules/mediasource/DOMURL+MediaSource.idl -
trunk/Source/WebCore/DerivedSources-output.xcfilelist
r267883 r267885 978 978 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMarqueeElement.cpp 979 979 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMarqueeElement.h 980 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMediaElement+MediaSession.cpp981 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMediaElement+MediaSession.h982 980 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMediaElement+RemotePlayback.cpp 983 981 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMediaElement+RemotePlayback.h … … 986 984 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMediaElementAudioOutput.cpp 987 985 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMediaElementAudioOutput.h 988 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMediaElementMediaSession.cpp989 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMediaElementMediaSession.h990 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMediaElementRemotePlayback.cpp991 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMediaElementRemotePlayback.h992 986 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMenuElement.cpp 993 987 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSHTMLMenuElement.h … … 1248 1242 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaRecorderErrorEvent.cpp 1249 1243 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaRecorderErrorEvent.h 1250 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaRemoteControls.cpp1251 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaRemoteControls.h1252 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaSession.cpp1253 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaSession.h1254 1244 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaSource.cpp 1255 1245 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSMediaSource.h -
trunk/Source/WebCore/DerivedSources.make
r267883 r267885 71 71 $(WebCore)/Modules/mediacontrols \ 72 72 $(WebCore)/Modules/mediarecorder \ 73 $(WebCore)/Modules/mediasession \74 73 $(WebCore)/Modules/mediasource \ 75 74 $(WebCore)/Modules/mediastream \ … … 257 256 $(WebCore)/Modules/mediarecorder/MediaRecorder.idl \ 258 257 $(WebCore)/Modules/mediarecorder/MediaRecorderErrorEvent.idl \ 259 $(WebCore)/Modules/mediasession/HTMLMediaElement+MediaSession.idl \260 $(WebCore)/Modules/mediasession/MediaRemoteControls.idl \261 $(WebCore)/Modules/mediasession/MediaSession.idl \262 258 $(WebCore)/Modules/mediasource/AudioTrack+MediaSource.idl \ 263 259 $(WebCore)/Modules/mediasource/DOMURL+MediaSource.idl \ -
trunk/Source/WebCore/Headers.cmake
r267883 r267885 1 1 set(WebCore_PRIVATE_FRAMEWORK_HEADERS 2 Modules/airplay/PlaybackTargetClientContextIdentifier.h 3 2 4 Modules/applepay/ApplePaySessionPaymentRequest.h 3 5 Modules/applepay/Payment.h … … 87 89 88 90 Modules/mediarecorder/MediaRecorderProvider.h 89 90 Modules/mediasession/MediaSessionEvents.h91 Modules/mediasession/MediaSessionMetadata.h92 Modules/mediasession/PlaybackTargetClientContextIdentifier.h93 Modules/mediasession/WebMediaSessionManager.h94 Modules/mediasession/WebMediaSessionManagerClient.h95 91 96 92 Modules/mediasource/SampleMap.h -
trunk/Source/WebCore/Modules/webaudio/AudioWorkletNode.cpp
r267883 r267885 32 32 #include "AudioWorkletNode.h" 33 33 34 #include "AudioContext.h" 35 #include "AudioNodeOutput.h" 34 36 #include "AudioParamMap.h" 35 37 #include "AudioWorkletNodeOptions.h" -
trunk/Source/WebCore/Sources.txt
r267883 r267885 131 131 Modules/mediarecorder/MediaRecorderErrorEvent.cpp 132 132 Modules/mediarecorder/MediaRecorderProvider.cpp 133 Modules/mediasession/HTMLMediaElementMediaSession.cpp134 Modules/mediasession/MediaRemoteControls.cpp135 Modules/mediasession/MediaSession.cpp136 133 Modules/mediasource/DOMURLMediaSource.cpp 137 134 Modules/mediasource/MediaSource.cpp … … 3115 3112 JSMediaRecorder.cpp 3116 3113 JSMediaRecorderErrorEvent.cpp 3117 JSMediaRemoteControls.cpp3118 JSMediaSession.cpp3119 3114 JSMediaSource.cpp 3120 3115 JSMediaStream.cpp -
trunk/Source/WebCore/SourcesCocoa.txt
r267883 r267885 59 59 JSApplePayShippingMethodUpdate.cpp 60 60 JSApplePayValidateMerchantEvent.cpp 61 Modules/airplay/WebMediaSessionManager.cpp 61 62 Modules/applepay/ApplePayCancelEvent.cpp 62 63 Modules/applepay/ApplePayContactField.cpp … … 89 90 Modules/async-clipboard/ios/ClipboardImageReaderIOS.mm 90 91 Modules/async-clipboard/mac/ClipboardImageReaderMac.mm 91 Modules/mediasession/WebMediaSessionManager.cpp92 92 Modules/plugins/QuickTimePluginReplacement.mm 93 93 Modules/plugins/YouTubePluginReplacement.cpp … … 522 522 platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm 523 523 platform/mediarecorder/cocoa/VideoSampleBufferCompressor.mm 524 platform/mediasession/mac/MediaSessionInterruptionProviderMac.mm525 524 platform/mediastream/ios/AVAudioSessionCaptureDevice.mm 526 525 platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm @no-unify -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r267883 r267885 4109 4109 C6F0900F14327B6100685849 /* MutationObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F0900614327B6100685849 /* MutationObserver.h */; settings = {ATTRIBUTES = (Private, ); }; }; 4110 4110 C6F0902D14327D4F00685849 /* JSMutationObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = C6F0902514327D4F00685849 /* JSMutationObserver.h */; }; 4111 C9027F421B1D0AD200BFBFEF /* MediaSession.h in Headers */ = {isa = PBXBuildFile; fileRef = C9027F401B1D0AD200BFBFEF /* MediaSession.h */; };4112 C90843D01B18E47D00B68564 /* MediaRemoteControls.h in Headers */ = {isa = PBXBuildFile; fileRef = C90843CE1B18E47D00B68564 /* MediaRemoteControls.h */; };4113 C90F65551B2253B1002163A1 /* MediaSessionManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C90F65531B225396002163A1 /* MediaSessionManager.cpp */; };4114 C90F65561B2253BE002163A1 /* MediaSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = C90F65541B225396002163A1 /* MediaSessionManager.h */; };4115 C937FE8D1B1F6821008ECC5D /* HTMLMediaElementMediaSession.h in Headers */ = {isa = PBXBuildFile; fileRef = C968B2E61B1E72F700EF1F81 /* HTMLMediaElementMediaSession.h */; };4116 C96F5EC51B5872260091EA9D /* MediaSessionInterruptionProviderMac.h in Headers */ = {isa = PBXBuildFile; fileRef = C96F5EC11B5872260091EA9D /* MediaSessionInterruptionProviderMac.h */; };4117 C96F5EC71B5872260091EA9D /* MediaSessionInterruptionProvider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C96F5EC31B5872260091EA9D /* MediaSessionInterruptionProvider.cpp */; };4118 C96F5EC81B5872260091EA9D /* MediaSessionInterruptionProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = C96F5EC41B5872260091EA9D /* MediaSessionInterruptionProvider.h */; };4119 4111 C99058131E32C75F0073BDDA /* SuccessOr.h in Headers */ = {isa = PBXBuildFile; fileRef = C99058121E32B7340073BDDA /* SuccessOr.h */; settings = {ATTRIBUTES = (Private, ); }; }; 4120 4112 C9D467051E60C465008195FB /* AutoplayEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = C9D467041E60C3EB008195FB /* AutoplayEvent.h */; settings = {ATTRIBUTES = (Private, ); }; }; 4121 C9D851F01B39DC780085062E /* MediaSessionMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = C9D851EE1B39DC780085062E /* MediaSessionMetadata.h */; settings = {ATTRIBUTES = (Private, ); }; };4122 C9F87CFE1B28F40E00979B83 /* MediaSessionEvents.h in Headers */ = {isa = PBXBuildFile; fileRef = C9F87CFD1B28E5F600979B83 /* MediaSessionEvents.h */; settings = {ATTRIBUTES = (Private, ); }; };4123 4113 CA3BF67E10D99BAE00E6CE53 /* ScrollAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = CA3BF67D10D99BAE00E6CE53 /* ScrollAnimator.h */; settings = {ATTRIBUTES = (Private, ); }; }; 4124 4114 CA6C1530220B98CC0055CBFC /* JSValueInWrappedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 931AE3B81FB80EAE00F5EFB2 /* JSValueInWrappedObject.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 14224 14214 C6F0902514327D4F00685849 /* JSMutationObserver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMutationObserver.h; sourceTree = "<group>"; }; 14225 14215 C6F0917E143A2BB900685849 /* JSMutationObserverCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMutationObserverCustom.cpp; sourceTree = "<group>"; }; 14226 C9026B631B1CF5AB001D99A7 /* JSMediaRemoteControls.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaRemoteControls.cpp; sourceTree = "<group>"; };14227 C9026B641B1CF5AB001D99A7 /* JSMediaRemoteControls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMediaRemoteControls.h; sourceTree = "<group>"; };14228 C9027F3E1B1D0AB900BFBFEF /* MediaSession.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = MediaSession.idl; sourceTree = "<group>"; };14229 C9027F3F1B1D0AD200BFBFEF /* MediaSession.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaSession.cpp; sourceTree = "<group>"; };14230 C9027F401B1D0AD200BFBFEF /* MediaSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaSession.h; sourceTree = "<group>"; };14231 C90843CD1B18E47D00B68564 /* MediaRemoteControls.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaRemoteControls.cpp; sourceTree = "<group>"; };14232 C90843CE1B18E47D00B68564 /* MediaRemoteControls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaRemoteControls.h; sourceTree = "<group>"; };14233 C90F65531B225396002163A1 /* MediaSessionManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaSessionManager.cpp; sourceTree = "<group>"; };14234 C90F65541B225396002163A1 /* MediaSessionManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaSessionManager.h; sourceTree = "<group>"; };14235 C93458BB1B18D77E0088EE12 /* MediaRemoteControls.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MediaRemoteControls.idl; sourceTree = "<group>"; };14236 C968B2E51B1E704500EF1F81 /* HTMLMediaElement+MediaSession.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = "HTMLMediaElement+MediaSession.idl"; sourceTree = "<group>"; };14237 C968B2E61B1E72F700EF1F81 /* HTMLMediaElementMediaSession.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HTMLMediaElementMediaSession.h; sourceTree = "<group>"; };14238 C968B2E71B1E778100EF1F81 /* HTMLMediaElementMediaSession.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLMediaElementMediaSession.cpp; sourceTree = "<group>"; };14239 C96F5EC11B5872260091EA9D /* MediaSessionInterruptionProviderMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaSessionInterruptionProviderMac.h; sourceTree = "<group>"; };14240 C96F5EC21B5872260091EA9D /* MediaSessionInterruptionProviderMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MediaSessionInterruptionProviderMac.mm; sourceTree = "<group>"; };14241 C96F5EC31B5872260091EA9D /* MediaSessionInterruptionProvider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaSessionInterruptionProvider.cpp; sourceTree = "<group>"; };14242 C96F5EC41B5872260091EA9D /* MediaSessionInterruptionProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaSessionInterruptionProvider.h; sourceTree = "<group>"; };14243 14216 C99058121E32B7340073BDDA /* SuccessOr.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SuccessOr.h; sourceTree = "<group>"; }; 14244 14217 C9D467041E60C3EB008195FB /* AutoplayEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AutoplayEvent.h; sourceTree = "<group>"; }; 14245 C9D851EE1B39DC780085062E /* MediaSessionMetadata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaSessionMetadata.h; sourceTree = "<group>"; };14246 C9DADBC91B1D3B25001F17D8 /* JSMediaSession.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaSession.cpp; sourceTree = "<group>"; };14247 C9DADBCA1B1D3B25001F17D8 /* JSMediaSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMediaSession.h; sourceTree = "<group>"; };14248 C9F87CFD1B28E5F600979B83 /* MediaSessionEvents.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; path = MediaSessionEvents.h; sourceTree = "<group>"; };14249 14218 CA091D8623CF907800AD4346 /* StyleImageSet.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = StyleImageSet.cpp; sourceTree = "<group>"; }; 14250 14219 CA091D8923CF908800AD4346 /* StyleImageSet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StyleImageSet.h; sourceTree = "<group>"; }; … … 16762 16731 usesTabs = 0; 16763 16732 }; 16764 0709D78B1AE5552E004E42F8 /* mediasession */ = {16765 isa = PBXGroup;16766 children = (16767 C968B2E51B1E704500EF1F81 /* HTMLMediaElement+MediaSession.idl */,16768 C968B2E71B1E778100EF1F81 /* HTMLMediaElementMediaSession.cpp */,16769 C968B2E61B1E72F700EF1F81 /* HTMLMediaElementMediaSession.h */,16770 C90843CD1B18E47D00B68564 /* MediaRemoteControls.cpp */,16771 C90843CE1B18E47D00B68564 /* MediaRemoteControls.h */,16772 C93458BB1B18D77E0088EE12 /* MediaRemoteControls.idl */,16773 C9027F3F1B1D0AD200BFBFEF /* MediaSession.cpp */,16774 C9027F401B1D0AD200BFBFEF /* MediaSession.h */,16775 C9027F3E1B1D0AB900BFBFEF /* MediaSession.idl */,16776 C9F87CFD1B28E5F600979B83 /* MediaSessionEvents.h */,16777 C90F65531B225396002163A1 /* MediaSessionManager.cpp */,16778 C90F65541B225396002163A1 /* MediaSessionManager.h */,16779 C9D851EE1B39DC780085062E /* MediaSessionMetadata.h */,16780 446DC64624A29D9B0061F390 /* PlaybackTargetClientContextIdentifier.h */,16781 0709D78C1AE55554004E42F8 /* WebMediaSessionManager.cpp */,16782 0709D78D1AE55554004E42F8 /* WebMediaSessionManager.h */,16783 0709D7941AE55A29004E42F8 /* WebMediaSessionManagerClient.h */,16784 );16785 path = mediasession;16786 sourceTree = "<group>";16787 };16788 16733 07221B4617CEC32700848E51 /* mediastream */ = { 16789 16734 isa = PBXGroup; … … 23357 23302 CD9A37F517C7D93600C5FA7A /* mediacontrols */, 23358 23303 4D3B00A0215D5C0F0076B983 /* mediarecorder */, 23359 0709D78B1AE5552E004E42F8 /* mediasession */,23360 23304 B1A942DD15B5CE2200D525D1 /* mediasource */, 23361 23305 07221B4617CEC32700848E51 /* mediastream */, … … 24444 24388 E44614100CD6826900FADA75 /* JSMediaError.cpp */, 24445 24389 E44614110CD6826900FADA75 /* JSMediaError.h */, 24446 C9026B631B1CF5AB001D99A7 /* JSMediaRemoteControls.cpp */,24447 C9026B641B1CF5AB001D99A7 /* JSMediaRemoteControls.h */,24448 C9DADBC91B1D3B25001F17D8 /* JSMediaSession.cpp */,24449 C9DADBCA1B1D3B25001F17D8 /* JSMediaSession.h */,24450 24390 7E46F6F81627A2C900062223 /* JSOESElementIndexUint.cpp */, 24451 24391 7E46F6F91627A2C900062223 /* JSOESElementIndexUint.h */, … … 26975 26915 9AC6F02021148F1E00CBDA06 /* mediacapabilities */, 26976 26916 4D3B5012217E58A300665DB1 /* mediarecorder */, 26977 C96F5EBF1B5872260091EA9D /* mediasession */,26978 26917 07221B9217CF0AD400848E51 /* mediastream */, 26979 26918 59C77F101054591C00506104 /* mock */, … … 27278 27217 sourceTree = "<group>"; 27279 27218 }; 27280 C96F5EBF1B5872260091EA9D /* mediasession */ = {27281 isa = PBXGroup;27282 children = (27283 C96F5EC01B5872260091EA9D /* mac */,27284 C96F5EC31B5872260091EA9D /* MediaSessionInterruptionProvider.cpp */,27285 C96F5EC41B5872260091EA9D /* MediaSessionInterruptionProvider.h */,27286 );27287 path = mediasession;27288 sourceTree = "<group>";27289 };27290 C96F5EC01B5872260091EA9D /* mac */ = {27291 isa = PBXGroup;27292 children = (27293 C96F5EC11B5872260091EA9D /* MediaSessionInterruptionProviderMac.h */,27294 C96F5EC21B5872260091EA9D /* MediaSessionInterruptionProviderMac.mm */,27295 );27296 path = mac;27297 sourceTree = "<group>";27298 };27299 27219 CD0DBB3E142274E600280263 /* audio */ = { 27300 27220 isa = PBXGroup; … … 27677 27597 isa = PBXGroup; 27678 27598 children = ( 27599 446DC64624A29D9B0061F390 /* PlaybackTargetClientContextIdentifier.h */, 27679 27600 A5DEBD9F16FB908700836FE0 /* WebKitPlaybackTargetAvailabilityEvent.cpp */, 27680 27601 A5DEBDA016FB908700836FE0 /* WebKitPlaybackTargetAvailabilityEvent.h */, 27681 27602 A5DEBDA116FB908700836FE0 /* WebKitPlaybackTargetAvailabilityEvent.idl */, 27603 0709D78C1AE55554004E42F8 /* WebMediaSessionManager.cpp */, 27604 0709D78D1AE55554004E42F8 /* WebMediaSessionManager.h */, 27605 0709D7941AE55A29004E42F8 /* WebMediaSessionManagerClient.h */, 27682 27606 ); 27683 27607 path = airplay; … … 31692 31616 E44613A50CD6331000FADA75 /* HTMLMediaElement.h in Headers */, 31693 31617 CD5209E61B0BD9E10077184E /* HTMLMediaElementEnums.h in Headers */, 31694 C937FE8D1B1F6821008ECC5D /* HTMLMediaElementMediaSession.h in Headers */,31695 31618 CDC312EA22FCD7C6001204EC /* HTMLMediaElementRemotePlayback.h in Headers */, 31696 31619 A8EA79F40A1916DF00A8EF5F /* HTMLMenuElement.h in Headers */, … … 33038 32961 4D73F94E218C4A87003A3ED6 /* MediaRecorderPrivateWriterCocoa.h in Headers */, 33039 32962 4176E89623C3537B003E83FE /* MediaRecorderProvider.h in Headers */, 33040 C90843D01B18E47D00B68564 /* MediaRemoteControls.h in Headers */,33041 32963 CD8ACA8F1D23971900ECC59E /* MediaRemoteSoftLink.h in Headers */, 33042 32964 CEEFCD7A19DB31F7003876D7 /* MediaResourceLoader.h in Headers */, … … 33045 32967 CDBEAEAD19D92B6C00BEBA88 /* MediaSelectionGroupAVFObjC.h in Headers */, 33046 32968 A17D275E1EAC579800BF01E7 /* MediaSelectionOption.h in Headers */, 33047 C9027F421B1D0AD200BFBFEF /* MediaSession.h in Headers */,33048 C9F87CFE1B28F40E00979B83 /* MediaSessionEvents.h in Headers */,33049 32969 CDA9593F2412BAE000910EEF /* MediaSessionHelperIOS.h in Headers */, 33050 32970 414460A22412994500814BE7 /* MediaSessionIdentifier.h in Headers */, 33051 C96F5EC81B5872260091EA9D /* MediaSessionInterruptionProvider.h in Headers */,33052 C96F5EC51B5872260091EA9D /* MediaSessionInterruptionProviderMac.h in Headers */,33053 C90F65561B2253BE002163A1 /* MediaSessionManager.h in Headers */,33054 32971 417F7AEF2139BF6F00FBA7EC /* MediaSessionManagerCocoa.h in Headers */, 33055 32972 07638A991884487200E15A1B /* MediaSessionManagerIOS.h in Headers */, 33056 C9D851F01B39DC780085062E /* MediaSessionMetadata.h in Headers */,33057 32973 CD3A495F17A9D01B00274E42 /* MediaSource.h in Headers */, 33058 32974 CD641EB31818F5ED00EE4C41 /* MediaSourcePrivate.h in Headers */, … … 35285 35201 CDBEAEAC19D92B6C00BEBA88 /* MediaSelectionGroupAVFObjC.mm in Sources */, 35286 35202 CDA9593524123CB800910EEF /* MediaSessionHelperIOS.mm in Sources */, 35287 C96F5EC71B5872260091EA9D /* MediaSessionInterruptionProvider.cpp in Sources */,35288 C90F65551B2253B1002163A1 /* MediaSessionManager.cpp in Sources */,35289 35203 07638A9A1884487200E15A1B /* MediaSessionManagerIOS.mm in Sources */, 35290 35204 CDC8B5A6180474F70016E685 /* MediaSourcePrivateAVFObjC.mm in Sources */, -
trunk/Source/WebCore/dom/Document.cpp
r267883 r267885 299 299 #endif 300 300 301 #if ENABLE(MEDIA_SESSION)302 #include "MediaSession.h"303 #endif304 305 301 #if USE(QUICK_LOOK) 306 302 #include "QuickLook.h" … … 4186 4182 #endif 4187 4183 4188 #if ENABLE(MEDIA_SESSION)4189 if (HTMLMediaElement* sourceElement = HTMLMediaElement::elementWithID(sourceElementID)) {4190 if (sourceElement->isPlaying())4191 state |= MediaProducer::IsSourceElementPlaying;4192 4193 if (auto* session = sourceElement->session()) {4194 if (auto* controls = session->controls()) {4195 if (controls->previousTrackEnabled())4196 state |= MediaProducer::IsPreviousTrackControlEnabled;4197 if (controls->nextTrackEnabled())4198 state |= MediaProducer::IsNextTrackControlEnabled;4199 }4200 }4201 }4202 #endif4203 4204 4184 if (m_userHasInteractedWithMediaElement) 4205 4185 state |= MediaProducer::HasUserInteractedWithMediaElement; … … 7470 7450 #endif // ENABLE(WIRELESS_PLAYBACK_TARGET) 7471 7451 7472 #if ENABLE(MEDIA_SESSION)7473 7474 MediaSession& Document::defaultMediaSession()7475 {7476 if (!m_defaultMediaSession)7477 m_defaultMediaSession = MediaSession::create(*scriptExecutionContext());7478 return *m_defaultMediaSession;7479 }7480 7481 #endif7482 7483 7452 ShouldOpenExternalURLsPolicy Document::shouldOpenExternalURLsPolicyToPropagate() const 7484 7453 { -
trunk/Source/WebCore/dom/Document.h
r267883 r267885 178 178 class MediaQueryList; 179 179 class MediaQueryMatcher; 180 class MediaSession;181 180 class MessagePortChannelProvider; 182 181 class MouseEventWithHitTestResults; … … 1098 1097 bool mediaDataLoadsAutomatically() const; 1099 1098 1100 #if ENABLE(MEDIA_SESSION)1101 MediaSession& defaultMediaSession();1102 #endif1103 1104 1099 void privateBrowsingStateDidChange(PAL::SessionID); 1105 1100 … … 1953 1948 #endif 1954 1949 1955 #if ENABLE(MEDIA_SESSION)1956 RefPtr<MediaSession> m_defaultMediaSession;1957 #endif1958 1959 1950 #if ENABLE(INDEXED_DATABASE) 1960 1951 RefPtr<IDBClient::IDBConnectionProxy> m_idbConnectionProxy; -
trunk/Source/WebCore/dom/EventTargetFactory.in
r267883 r267885 23 23 MediaKeySession conditional=ENCRYPTED_MEDIA 24 24 MediaQueryList 25 MediaRemoteControls conditional=MEDIA_SESSION26 25 MediaRecorder conditional=MEDIA_STREAM 27 26 MediaSource conditional=MEDIA_SOURCE -
trunk/Source/WebCore/html/HTMLMediaElement.cpp
r267883 r267885 138 138 #endif 139 139 140 #if ENABLE(MEDIA_SESSION)141 #include "MediaSession.h"142 #endif143 144 140 #if ENABLE(MEDIA_SOURCE) 145 141 #include "DOMWindow.h" … … 318 314 return elements; 319 315 } 320 321 #if ENABLE(MEDIA_SESSION)322 typedef HashMap<uint64_t, HTMLMediaElement*> IDToElementMap;323 324 static IDToElementMap& elementIDsToElements()325 {326 static NeverDestroyed<IDToElementMap> map;327 return map;328 }329 330 HTMLMediaElement* HTMLMediaElement::elementWithID(uint64_t id)331 {332 if (id == HTMLMediaElementInvalidID)333 return nullptr;334 335 return elementIDsToElements().get(id);336 }337 338 static uint64_t nextElementID()339 {340 static uint64_t elementID = 0;341 return ++elementID;342 }343 #endif344 316 345 317 struct MediaElementSessionInfo { … … 518 490 #endif 519 491 520 #if ENABLE(MEDIA_SESSION)521 m_elementID = nextElementID();522 elementIDsToElements().add(m_elementID, this);523 524 setSessionInternal(document.defaultMediaSession());525 #endif526 527 492 registerWithDocument(document); 528 493 … … 588 553 if (m_isolatedWorld) 589 554 m_isolatedWorld->clearWrappers(); 590 591 #if ENABLE(MEDIA_SESSION)592 if (m_session) {593 m_session->removeMediaElement(*this);594 m_session = nullptr;595 }596 597 elementIDsToElements().remove(m_elementID);598 #endif599 555 600 556 m_seekTaskQueue.close(); … … 3496 3452 scheduleEvent(eventNames().playEvent); 3497 3453 3498 #if ENABLE(MEDIA_SESSION)3499 // 6.3 Activating a media session from a media element3500 // When the play() method is invoked, the paused attribute is true, and the readyState attribute has the value3501 // HAVE_FUTURE_DATA or HAVE_ENOUGH_DATA, then3502 // 1. Let media session be the value of the current media session.3503 // 2. If we are not currently in media session's list of active participating media elements then append3504 // ourselves to this list.3505 // 3. Let activated be the result of running the media session invocation algorithm for media session.3506 // 4. If activated is failure, pause ourselves.3507 if (m_readyState == HAVE_ENOUGH_DATA || m_readyState == HAVE_FUTURE_DATA) {3508 if (m_session) {3509 m_session->addActiveMediaElement(*this);3510 3511 if (m_session->kind() == MediaSessionKind::Content) {3512 if (Page* page = document().page())3513 page->chrome().client().focusedContentMediaElementDidChange(m_elementID);3514 }3515 3516 if (!m_session->invoke()) {3517 pause();3518 return;3519 }3520 }3521 }3522 #endif3523 3454 if (m_readyState <= HAVE_CURRENT_DATA) 3524 3455 scheduleEvent(eventNames().waitingEvent); … … 3723 3654 updateShouldPlay(); 3724 3655 3725 #if ENABLE(MEDIA_SESSION)3726 document().updateIsPlayingMedia(m_elementID);3727 #else3728 3656 document().updateIsPlayingMedia(); 3729 #endif3730 3657 3731 3658 #if ENABLE(WIRELESS_PLAYBACK_TARGET) … … 5116 5043 } 5117 5044 5118 #if ENABLE(MEDIA_SESSION)5119 document().updateIsPlayingMedia(m_elementID);5120 #else5121 5045 document().updateIsPlayingMedia(); 5122 #endif5123 5046 5124 5047 checkForAudioAndVideo(); … … 5293 5216 } 5294 5217 5295 #if ENABLE(MEDIA_SESSION)5296 document().updateIsPlayingMedia(m_elementID);5297 #else5298 5218 document().updateIsPlayingMedia(); 5299 #endif5300 5301 5219 #endif // PLATFORM(IOS_FAMILY) 5302 5220 } … … 5415 5333 scheduleNotifyAboutPlaying(); 5416 5334 5417 #if ENABLE(MEDIA_SESSION)5418 document().updateIsPlayingMedia(m_elementID);5419 #else5420 5335 document().updateIsPlayingMedia(); 5421 #endif5422 5336 5423 5337 #if ENABLE(WIRELESS_PLAYBACK_TARGET) … … 7641 7555 m_mediaState = state; 7642 7556 m_mediaSession->mediaStateDidChange(m_mediaState); 7643 #if ENABLE(MEDIA_SESSION) 7644 document().updateIsPlayingMedia(m_elementID); 7645 #else 7557 7646 7558 document().updateIsPlayingMedia(); 7647 #endif7648 7559 } 7649 7560 #endif … … 7750 7661 if (m_mediaController) 7751 7662 volumeMultiplier *= m_mediaController->volume(); 7752 #if ENABLE(MEDIA_SESSION)7753 if (m_shouldDuck)7754 volumeMultiplier *= 0.25;7755 #endif7756 7757 7663 return m_volume * volumeMultiplier; 7758 7664 } … … 7814 7720 return false; 7815 7721 } 7816 7817 #if ENABLE(MEDIA_SESSION)7818 7819 double HTMLMediaElement::playerVolume() const7820 {7821 return m_player ? m_player->volume() : 0;7822 }7823 7824 MediaSession* HTMLMediaElement::session() const7825 {7826 RefPtr<MediaSession> session = m_session.get();7827 if (session && session == &document().defaultMediaSession())7828 return nullptr;7829 7830 return session.get();7831 }7832 7833 void HTMLMediaElement::setSession(MediaSession* session)7834 {7835 // 6.1. Extensions to the HTMLMediaElement interface7836 // 1. Let m be the media element in question.7837 // 2. Let old media session be m’s current media session, if it has one, and null otherwise.7838 // 3. Let m’s current media session be the new value or the top-level browsing context’s media session if the new value is null.7839 // 4. Let new media session be m’s current media session.7840 7841 // 5. Update media sessions: If old media session and new media session are the same (whether both null or both the same media session), then terminate these steps.7842 if (m_session.get() == session)7843 return;7844 7845 if (m_session) {7846 // 6. If m is an audio-producing participant of old media session, then pause m and remove m from old media session’s list of audio-producing participants.7847 if (m_session->isMediaElementActive(*this))7848 pause();7849 7850 m_session->removeMediaElement(*this);7851 7852 // 7. If old media session is not null and no longer has one or more audio-producing participants, then run the media session deactivation algorithm for old media session.7853 if (!m_session->hasActiveMediaElements())7854 m_session->deactivate();7855 }7856 7857 if (session)7858 setSessionInternal(*session);7859 else7860 setSessionInternal(document().defaultMediaSession());7861 }7862 7863 void HTMLMediaElement::setSessionInternal(MediaSession& session)7864 {7865 m_session = &session;7866 session.addMediaElement(*this);7867 m_kind = session.kind();7868 }7869 7870 void HTMLMediaElement::setShouldDuck(bool duck)7871 {7872 if (m_shouldDuck == duck)7873 return;7874 7875 m_shouldDuck = duck;7876 updateVolume();7877 }7878 7879 #endif7880 7722 7881 7723 void HTMLMediaElement::allowsMediaDocumentInlinePlaybackChanged() -
trunk/Source/WebCore/html/HTMLMediaElement.h
r267883 r267885 486 486 void mediaLoadingFailedFatally(MediaPlayer::NetworkState); 487 487 488 #if ENABLE(MEDIA_SESSION)489 WEBCORE_EXPORT double playerVolume() const;490 491 const String& kind() const { return m_kind; }492 void setKind(const String& kind) { m_kind = kind; }493 494 MediaSession* session() const;495 void setSession(MediaSession*);496 497 void setShouldDuck(bool);498 499 static HTMLMediaElement* elementWithID(uint64_t);500 uint64_t elementID() const { return m_elementID; }501 #endif502 503 488 RefPtr<VideoPlaybackQuality> getVideoPlaybackQuality(); 504 489 … … 709 694 using EventTarget::dispatchEvent; 710 695 void dispatchEvent(Event&) override; 711 #endif712 713 #if ENABLE(MEDIA_SESSION)714 void setSessionInternal(MediaSession&);715 696 #endif 716 697 … … 1046 1027 int m_processingMediaPlayerCallback { 0 }; 1047 1028 1048 #if ENABLE(MEDIA_SESSION)1049 String m_kind;1050 RefPtr<MediaSession> m_session;1051 bool m_shouldDuck { false };1052 uint64_t m_elementID;1053 #endif1054 1055 1029 #if ENABLE(MEDIA_SOURCE) 1056 1030 RefPtr<MediaSource> m_mediaSource; -
trunk/Source/WebCore/page/ChromeClient.h
r267883 r267885 465 465 virtual void handleAutoplayEvent(AutoplayEvent, OptionSet<AutoplayEventFlags>) { } 466 466 467 #if ENABLE(MEDIA_SESSION)468 virtual void hasMediaSessionWithActiveMediaElementsDidChange(bool) { }469 virtual void mediaSessionMetadataDidChange(const MediaSessionMetadata&) { }470 virtual void focusedContentMediaElementDidChange(uint64_t) { }471 #endif472 473 467 #if ENABLE(WEB_CRYPTO) 474 468 virtual bool wrapCryptoKey(const Vector<uint8_t>&, Vector<uint8_t>&) const { return false; } -
trunk/Source/WebCore/page/Page.cpp
r267883 r267885 155 155 #endif 156 156 157 #if ENABLE(MEDIA_SESSION)158 #include "MediaSessionManager.h"159 #endif160 161 157 #if ENABLE(INDEXED_DATABASE) 162 158 #include "IDBConnectionToServer.h" … … 2097 2093 #endif 2098 2094 } 2099 2100 #if ENABLE(MEDIA_SESSION)2101 2102 void Page::handleMediaEvent(MediaEventType eventType)2103 {2104 switch (eventType) {2105 case MediaEventType::PlayPause:2106 MediaSessionManager::singleton().togglePlayback();2107 break;2108 case MediaEventType::TrackNext:2109 MediaSessionManager::singleton().skipToNextTrack();2110 break;2111 case MediaEventType::TrackPrevious:2112 MediaSessionManager::singleton().skipToPreviousTrack();2113 break;2114 }2115 }2116 2117 void Page::setVolumeOfMediaElement(double volume, uint64_t elementID)2118 {2119 if (HTMLMediaElement* element = HTMLMediaElement::elementWithID(elementID))2120 element->setVolume(volume, ASSERT_NO_EXCEPTION);2121 }2122 2123 #endif2124 2095 2125 2096 unsigned Page::subframeCount() const -
trunk/Source/WebCore/page/Page.h
r267883 r267885 61 61 #if ENABLE(APPLICATION_MANIFEST) 62 62 #include "ApplicationManifest.h" 63 #endif64 65 #if ENABLE(MEDIA_SESSION)66 #include "MediaSessionEvents.h"67 63 #endif 68 64 … … 661 657 bool canUseCredentialStorage() const { return m_canUseCredentialStorage; } 662 658 663 #if ENABLE(MEDIA_SESSION)664 WEBCORE_EXPORT void handleMediaEvent(MediaEventType);665 WEBCORE_EXPORT void setVolumeOfMediaElement(double, uint64_t);666 #endif667 668 659 #if ENABLE(WIRELESS_PLAYBACK_TARGET) 669 660 void addPlaybackTargetPickerClient(PlaybackTargetClientContextIdentifier); -
trunk/Source/WebCore/testing/Internals.cpp
r267883 r267885 286 286 #endif 287 287 288 #if ENABLE(MEDIA_SESSION)289 #include "MediaSession.h"290 #include "MediaSessionManager.h"291 #endif292 293 288 #if ENABLE(WIRELESS_PLAYBACK_TARGET) 294 289 #include "MediaPlaybackTargetContext.h" … … 4287 4282 return element.isDisablingSleep(); 4288 4283 } 4289 4290 4284 #endif // ENABLE(VIDEO) 4291 4292 #if ENABLE(MEDIA_SESSION)4293 4294 void Internals::sendMediaSessionStartOfInterruptionNotification(MediaSessionInterruptingCategory category)4295 {4296 MediaSessionManager::singleton().didReceiveStartOfInterruptionNotification(category);4297 }4298 4299 void Internals::sendMediaSessionEndOfInterruptionNotification(MediaSessionInterruptingCategory category)4300 {4301 MediaSessionManager::singleton().didReceiveEndOfInterruptionNotification(category);4302 }4303 4304 String Internals::mediaSessionCurrentState(MediaSession* session) const4305 {4306 switch (session->currentState()) {4307 case MediaSession::State::Active:4308 return "active";4309 case MediaSession::State::Interrupted:4310 return "interrupted";4311 case MediaSession::State::Idle:4312 return "idle";4313 }4314 }4315 4316 double Internals::mediaElementPlayerVolume(HTMLMediaElement* element) const4317 {4318 ASSERT_ARG(element, element);4319 return element->playerVolume();4320 }4321 4322 void Internals::sendMediaControlEvent(MediaControlEvent event)4323 {4324 // FIXME: No good reason to use a single function with an argument instead of three functions.4325 switch (event) {4326 case MediControlEvent::PlayPause:4327 MediaSessionManager::singleton().togglePlayback();4328 break;4329 case MediControlEvent::NextTrack:4330 MediaSessionManager::singleton().skipToNextTrack();4331 break;4332 case MediControlEvent::PreviousTrack:4333 MediaSessionManager::singleton().skipToPreviousTrack();4334 break;4335 }4336 }4337 4338 #endif // ENABLE(MEDIA_SESSION)4339 4285 4340 4286 #if ENABLE(WEB_AUDIO) -
trunk/Source/WebCore/testing/Internals.h
r267883 r267885 41 41 #include <JavaScriptCore/Float32Array.h> 42 42 #include <wtf/Optional.h> 43 44 #if ENABLE(MEDIA_SESSION)45 #include "MediaSessionInterruptionProvider.h"46 #endif47 43 48 44 #if ENABLE(VIDEO) … … 667 663 #endif 668 664 669 #if ENABLE(MEDIA_SESSION)670 void sendMediaSessionStartOfInterruptionNotification(MediaSessionInterruptingCategory);671 void sendMediaSessionEndOfInterruptionNotification(MediaSessionInterruptingCategory);672 String mediaSessionCurrentState(MediaSession&) const;673 double mediaElementPlayerVolume(HTMLMediaElement&) const;674 enum class MediaControlEvent { PlayPause, NextTrack, PreviousTrack };675 void sendMediaControlEvent(MediaControlEvent);676 #endif677 678 665 #if ENABLE(WIRELESS_PLAYBACK_TARGET) 679 666 void setMockMediaPlaybackTargetPickerEnabled(bool); -
trunk/Source/WebCore/testing/Internals.idl
r267883 r267885 45 45 "ResourceLoadPriorityHigh", 46 46 "ResourceLoadPriorityVeryHigh" 47 };48 49 [Conditional=MEDIA_SESSION] enum MediaSessionInterruptingCategory {50 "content",51 "transient",52 "transient-solo"53 };54 55 [Conditional=MEDIA_SESSION] enum MediaControlEvent {56 "play-pause",57 "next-track",58 "previous-track"59 47 }; 60 48 … … 697 685 [Conditional=VIDEO, MayThrowException] undefined beginMediaSessionInterruption(DOMString interruptionType); 698 686 [Conditional=VIDEO] undefined endMediaSessionInterruption(DOMString flags); 699 [Conditional=MEDIA_SESSION] undefined sendMediaSessionStartOfInterruptionNotification(MediaSessionInterruptingCategory category);700 [Conditional=MEDIA_SESSION] undefined sendMediaSessionEndOfInterruptionNotification(MediaSessionInterruptingCategory category);701 [Conditional=MEDIA_SESSION] DOMString mediaSessionCurrentState(MediaSession session);702 [Conditional=MEDIA_SESSION] double mediaElementPlayerVolume(HTMLMediaElement element);703 [Conditional=MEDIA_SESSION] undefined sendMediaControlEvent(MediaControlEvent event);704 687 [Conditional=VIDEO] undefined applicationWillBecomeInactive(); 705 688 [Conditional=VIDEO] undefined applicationDidBecomeActive(); -
trunk/Source/WebKit/ChangeLog
r267883 r267885 1 2020-10-02 Sam Weinig <weinig@apple.com> 2 3 Remove code behind ENABLE(MEDIA_SESSION), no ports enable it 4 https://bugs.webkit.org/show_bug.cgi?id=216831 5 6 Reviewed by Alex Christensen. 7 8 Removes all code in ENABLE(MEDIA_SESSION) and all media session 9 related SPI. It was never enabled and nothing ever adopted it. 10 11 * Sources.txt: 12 * SourcesCocoa.txt: 13 * WebKit.xcodeproj/project.pbxproj: 14 Remove media session related files. 15 16 * Shared/API/APIObject.h: 17 * Shared/API/c/WKBase.h: 18 * Shared/WebCoreArgumentCoders.cpp: 19 * Shared/WebCoreArgumentCoders.h: 20 * Shared/WebMediaSessionMetadata.cpp: Removed. 21 * Shared/WebMediaSessionMetadata.h: Removed. 22 * UIProcess/API/APIUIClient.h: 23 * UIProcess/API/C/WKAPICast.h: 24 * UIProcess/API/C/WKContext.cpp: 25 * UIProcess/API/C/WKContext.h: 26 * UIProcess/API/C/WKMediaSessionFocusManager.cpp: Removed. 27 * UIProcess/API/C/WKMediaSessionFocusManager.h: Removed. 28 * UIProcess/API/C/WKMediaSessionMetadata.cpp: Removed. 29 * UIProcess/API/C/WKMediaSessionMetadata.h: Removed. 30 * UIProcess/API/C/WKPage.cpp: 31 * UIProcess/API/C/WKPagePrivate.h: 32 * UIProcess/API/C/WKPageUIClient.h: 33 * UIProcess/WebMediaSessionFocusManager.cpp: Removed. 34 * UIProcess/WebMediaSessionFocusManager.h: Removed. 35 * UIProcess/WebMediaSessionFocusManagerClient.cpp: Removed. 36 * UIProcess/WebMediaSessionFocusManagerClient.h: Removed. 37 * UIProcess/WebPageProxy.cpp: 38 * UIProcess/WebPageProxy.h: 39 * UIProcess/WebPageProxy.messages.in: 40 * UIProcess/WebProcessPool.cpp: 41 * UIProcess/WebProcessPool.h: 42 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 43 * WebProcess/WebCoreSupport/WebChromeClient.h: 44 * WebProcess/WebPage/WebPage.cpp: 45 * WebProcess/WebPage/WebPage.h: 46 * WebProcess/WebPage/WebPage.messages.in: 47 Remove all code in ENABLE(MEDIA_SESSION). 48 1 49 2020-10-02 Karl Rackler <rackler@apple.com> 2 50 -
trunk/Source/WebKit/Shared/API/APIObject.h
r267883 r267885 180 180 WindowFeatures, 181 181 182 #if ENABLE(MEDIA_SESSION)183 MediaSessionFocusManager,184 MediaSessionMetadata,185 #endif186 187 182 #if ENABLE(WEB_AUTHN) 188 183 WebAuthenticationAssertionResponse, … … 429 424 API::Object::Type::WindowFeatures, 430 425 431 #if ENABLE(MEDIA_SESSION)432 API::Object::Type::MediaSessionFocusManager,433 API::Object::Type::MediaSessionMetadata,434 #endif435 436 426 #if ENABLE(WEB_AUTHN) 437 427 API::Object::Type::WebAuthenticationAssertionResponse, -
trunk/Source/WebKit/Shared/API/c/WKBase.h
r267883 r267885 106 106 typedef const struct OpaqueWKInspector* WKInspectorRef; 107 107 typedef const struct OpaqueWKKeyValueStorageManager* WKKeyValueStorageManagerRef; 108 typedef const struct OpaqueWKMediaSessionFocusManager* WKMediaSessionFocusManagerRef;109 typedef const struct OpaqueWKMediaSessionMetadata* WKMediaSessionMetadataRef;110 108 typedef const struct OpaqueWKMessageListener* WKMessageListenerRef; 111 109 typedef const struct OpaqueWKNavigationAction* WKNavigationActionRef; -
trunk/Source/WebKit/Shared/WebCoreArgumentCoders.cpp
r267883 r267885 110 110 #endif 111 111 112 #if ENABLE(MEDIA_SESSION)113 #include <WebCore/MediaSessionMetadata.h>114 #endif115 116 112 #if ENABLE(MEDIA_STREAM) 117 113 #include <WebCore/CaptureDevice.h> … … 2106 2102 return true; 2107 2103 } 2108 2109 #if ENABLE(MEDIA_SESSION)2110 void ArgumentCoder<MediaSessionMetadata>::encode(Encoder& encoder, const MediaSessionMetadata& result)2111 {2112 encoder << result.artist();2113 encoder << result.album();2114 encoder << result.title();2115 encoder << result.artworkURL();2116 }2117 2118 bool ArgumentCoder<MediaSessionMetadata>::decode(Decoder& decoder, MediaSessionMetadata& result)2119 {2120 String artist, album, title;2121 URL artworkURL;2122 if (!decoder.decode(artist))2123 return false;2124 if (!decoder.decode(album))2125 return false;2126 if (!decoder.decode(title))2127 return false;2128 if (!decoder.decode(artworkURL))2129 return false;2130 result = MediaSessionMetadata(title, artist, album, artworkURL);2131 return true;2132 }2133 #endif2134 2104 2135 2105 void ArgumentCoder<ScrollableAreaParameters>::encode(Encoder& encoder, const ScrollableAreaParameters& parameters) -
trunk/Source/WebKit/Shared/WebCoreArgumentCoders.h
r267883 r267885 188 188 #endif 189 189 190 #if ENABLE(MEDIA_SESSION)191 class MediaSessionMetadata;192 #endif193 194 190 #if ENABLE(MEDIA_STREAM) 195 191 struct MediaConstraints; … … 633 629 static void encode(Encoder&, const WebCore::ContentFilterUnblockHandler&); 634 630 static WARN_UNUSED_RETURN bool decode(Decoder&, WebCore::ContentFilterUnblockHandler&); 635 };636 #endif637 638 #if ENABLE(MEDIA_SESSION)639 template<> struct ArgumentCoder<WebCore::MediaSessionMetadata> {640 static void encode(Encoder&, const WebCore::MediaSessionMetadata&);641 static WARN_UNUSED_RETURN bool decode(Decoder&, WebCore::MediaSessionMetadata&);642 631 }; 643 632 #endif -
trunk/Source/WebKit/Sources.txt
r267883 r267885 198 198 Shared/WebKeyboardEvent.cpp @no-unify 199 199 Shared/WebKit2Initialize.cpp @no-unify 200 Shared/WebMediaSessionMetadata.cpp201 200 Shared/WebMemorySampler.cpp 202 201 Shared/WebMouseEvent.cpp @no-unify … … 380 379 UIProcess/API/C/WKInspector.cpp 381 380 UIProcess/API/C/WKKeyValueStorageManager.cpp 382 UIProcess/API/C/WKMediaSessionMetadata.cpp383 381 UIProcess/API/C/WKMessageListener.cpp 384 382 UIProcess/API/C/WKMockDisplay.cpp -
trunk/Source/WebKit/SourcesCocoa.txt
r267883 r267885 227 227 UIProcess/ViewGestureController.cpp 228 228 UIProcess/ViewSnapshotStore.cpp 229 UIProcess/WebMediaSessionFocusManager.cpp230 UIProcess/WebMediaSessionFocusManagerClient.cpp231 229 UIProcess/WebMemoryPressureHandler.cpp 232 230 UIProcess/WKImagePreviewViewController.mm … … 235 233 236 234 UIProcess/API/C/WKContextMenuListener.cpp 237 UIProcess/API/C/WKMediaSessionFocusManager.cpp238 235 UIProcess/API/C/WKTestingSupport.cpp 239 236 UIProcess/API/C/WKUserScriptRef.cpp -
trunk/Source/WebKit/UIProcess/API/APIUIClient.h
r267883 r267885 61 61 class WebPageProxy; 62 62 struct NavigationActionData; 63 64 #if ENABLE(MEDIA_SESSION)65 class WebMediaSessionMetadata;66 #endif67 63 } 68 64 … … 162 158 virtual void handleAutoplayEvent(WebKit::WebPageProxy&, WebCore::AutoplayEvent, OptionSet<WebCore::AutoplayEventFlags>) { } 163 159 164 #if ENABLE(MEDIA_SESSION)165 virtual void mediaSessionMetadataDidChange(WebKit::WebPageProxy&, WebKit::WebMediaSessionMetadata*) { }166 #endif167 168 160 #if PLATFORM(IOS_FAMILY) 169 161 #if HAVE(APP_LINKS) -
trunk/Source/WebKit/UIProcess/API/C/WKAPICast.h
r267883 r267885 95 95 class WebIconDatabase; 96 96 class WebInspectorProxy; 97 class WebMediaSessionFocusManager;98 class WebMediaSessionMetadata;99 97 class WebNotification; 100 98 class WebNotificationManagerProxy; … … 137 135 WK_ADD_API_MAPPING(WKIconDatabaseRef, WebIconDatabase) 138 136 WK_ADD_API_MAPPING(WKInspectorRef, WebInspectorProxy) 139 WK_ADD_API_MAPPING(WKMediaSessionFocusManagerRef, WebMediaSessionFocusManager)140 WK_ADD_API_MAPPING(WKMediaSessionMetadataRef, WebMediaSessionMetadata)141 137 WK_ADD_API_MAPPING(WKMessageListenerRef, API::MessageListener) 142 138 WK_ADD_API_MAPPING(WKNavigationActionRef, API::NavigationAction) -
trunk/Source/WebKit/UIProcess/API/C/WKContext.cpp
r267883 r267885 437 437 } 438 438 439 WKMediaSessionFocusManagerRef WKContextGetMediaSessionFocusManager(WKContextRef context)440 {441 #if ENABLE(MEDIA_SESSION)442 return WebKit::toAPI(WebKit::toImpl(context)->supplement<WebKit::WebMediaSessionFocusManager>());443 #else444 UNUSED_PARAM(context);445 return nullptr;446 #endif447 }448 449 439 WKNotificationManagerRef WKContextGetNotificationManager(WKContextRef contextRef) 450 440 { -
trunk/Source/WebKit/UIProcess/API/C/WKContext.h
r267883 r267885 172 172 WK_EXPORT WKIconDatabaseRef WKContextGetIconDatabase(WKContextRef context); 173 173 WK_EXPORT WKKeyValueStorageManagerRef WKContextGetKeyValueStorageManager(WKContextRef context) WK_C_API_DEPRECATED_WITH_REPLACEMENT(WKWebsiteDataStoreGetDefaultDataStore); 174 WK_EXPORT WKMediaSessionFocusManagerRef WKContextGetMediaSessionFocusManager(WKContextRef context);175 174 WK_EXPORT WKNotificationManagerRef WKContextGetNotificationManager(WKContextRef context); 176 175 WK_EXPORT WKResourceCacheManagerRef WKContextGetResourceCacheManager(WKContextRef context) WK_C_API_DEPRECATED_WITH_REPLACEMENT(WKWebsiteDataStoreGetDefaultDataStore); -
trunk/Source/WebKit/UIProcess/API/C/WKPage.cpp
r267883 r267885 95 95 #endif 96 96 97 #if ENABLE(MEDIA_SESSION)98 #include "WebMediaSessionMetadata.h"99 #include <WebCore/MediaSessionEvents.h>100 #endif101 102 97 #if PLATFORM(COCOA) 103 98 #include "VersionChecks.h" … … 2034 2029 } 2035 2030 2036 #if ENABLE(MEDIA_SESSION)2037 void mediaSessionMetadataDidChange(WebPageProxy& page, WebMediaSessionMetadata* metadata) final2038 {2039 if (!m_client.mediaSessionMetadataDidChange)2040 return;2041 2042 m_client.mediaSessionMetadataDidChange(toAPI(&page), toAPI(metadata), m_client.base.clientInfo);2043 }2044 #endif2045 2031 #if ENABLE(POINTER_LOCK) 2046 2032 void requestPointerLock(WebPageProxy* page) final … … 2730 2716 #else 2731 2717 UNUSED_PARAM(page); 2732 #endif2733 }2734 2735 bool WKPageHasMediaSessionWithActiveMediaElements(WKPageRef page)2736 {2737 #if ENABLE(MEDIA_SESSION)2738 return toImpl(page)->hasMediaSessionWithActiveMediaElements();2739 #else2740 UNUSED_PARAM(page);2741 return false;2742 #endif2743 }2744 2745 void WKPageHandleMediaEvent(WKPageRef page, WKMediaEventType wkEventType)2746 {2747 #if ENABLE(MEDIA_SESSION)2748 MediaEventType eventType;2749 2750 switch (wkEventType) {2751 case kWKMediaEventTypePlayPause:2752 eventType = MediaEventType::PlayPause;2753 break;2754 case kWKMediaEventTypeTrackNext:2755 eventType = MediaEventType::TrackNext;2756 break;2757 case kWKMediaEventTypeTrackPrevious:2758 eventType = MediaEventType::TrackPrevious;2759 break;2760 default:2761 ASSERT_NOT_REACHED();2762 return;2763 }2764 2765 toImpl(page)->handleMediaEvent(eventType);2766 #else2767 UNUSED_PARAM(page);2768 UNUSED_PARAM(wkEventType);2769 2718 #endif 2770 2719 } -
trunk/Source/WebKit/UIProcess/API/C/WKPagePrivate.h
r267883 r267885 152 152 typedef uint32_t WKMediaState; 153 153 154 155 154 WK_EXPORT WKMediaState WKPageGetMediaState(WKPageRef page); 156 157 enum {158 kWKMediaEventTypePlayPause,159 kWKMediaEventTypeTrackNext,160 kWKMediaEventTypeTrackPrevious161 };162 typedef uint32_t WKMediaEventType;163 164 WK_EXPORT bool WKPageHasMediaSessionWithActiveMediaElements(WKPageRef page);165 WK_EXPORT void WKPageHandleMediaEvent(WKPageRef page, WKMediaEventType event);166 155 167 156 WK_EXPORT void WKPageLoadURLWithShouldOpenExternalURLsPolicy(WKPageRef page, WKURLRef url, bool shouldOpenExternalURLs); -
trunk/Source/WebKit/UIProcess/API/C/WKPageUIClient.h
r267883 r267885 127 127 typedef void (*WKCheckUserMediaPermissionCallback)(WKPageRef page, WKFrameRef frame, WKSecurityOriginRef userMediaDocumentOrigin, WKSecurityOriginRef topLevelDocumentOrigin, WKUserMediaPermissionCheckRef devicesRequest, const void *clientInfo); 128 128 typedef void (*WKPageDidClickAutoFillButtonCallback)(WKPageRef page, WKTypeRef userData, const void *clientInfo); 129 typedef void (*WKPageMediaSessionMetadataDidChangeCallback)(WKPageRef page, WKMediaSessionMetadataRef metadata, const void* clientInfo);130 129 typedef void (*WKHandleAutoplayEventCallback)(WKPageRef page, WKAutoplayEvent event, WKAutoplayEventFlags flags, const void* clientInfo); 131 130 typedef void (*WKFullscreenMayReturnToInlineCallback)(WKPageRef page, const void* clientInfo); … … 504 503 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5 runJavaScriptConfirm; 505 504 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5 runJavaScriptPrompt; 506 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;505 void* unused5; // Used to be mediaSessionMetadataDidChange. 507 506 } WKPageUIClientV5; 508 507 … … 577 576 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5 runJavaScriptConfirm_deprecatedForUseWithV5; 578 577 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5 runJavaScriptPrompt_deprecatedForUseWithV5; 579 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;578 void* unused5; // Used to be mediaSessionMetadataDidChange. 580 579 581 580 // Version 6. … … 657 656 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5 runJavaScriptConfirm_deprecatedForUseWithV5; 658 657 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5 runJavaScriptPrompt_deprecatedForUseWithV5; 659 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;658 void* unused5; // Used to be mediaSessionMetadataDidChange. 660 659 661 660 // Version 6. … … 741 740 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5 runJavaScriptConfirm_deprecatedForUseWithV5; 742 741 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5 runJavaScriptPrompt_deprecatedForUseWithV5; 743 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;742 void* unused5; // Used to be mediaSessionMetadataDidChange. 744 743 745 744 // Version 6. … … 829 828 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5 runJavaScriptConfirm_deprecatedForUseWithV5; 830 829 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5 runJavaScriptPrompt_deprecatedForUseWithV5; 831 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;830 void* unused5; // Used to be mediaSessionMetadataDidChange. 832 831 833 832 // Version 6. … … 920 919 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5 runJavaScriptConfirm_deprecatedForUseWithV5; 921 920 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5 runJavaScriptPrompt_deprecatedForUseWithV5; 922 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;921 void* unused5; // Used to be mediaSessionMetadataDidChange. 923 922 924 923 // Version 6. … … 1015 1014 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5 runJavaScriptConfirm_deprecatedForUseWithV5; 1016 1015 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5 runJavaScriptPrompt_deprecatedForUseWithV5; 1017 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;1016 void* unused5; // Used to be mediaSessionMetadataDidChange. 1018 1017 1019 1018 // Version 6. … … 1113 1112 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5 runJavaScriptConfirm_deprecatedForUseWithV5; 1114 1113 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5 runJavaScriptPrompt_deprecatedForUseWithV5; 1115 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;1114 void* unused5; // Used to be mediaSessionMetadataDidChange. 1116 1115 1117 1116 // Version 6. … … 1214 1213 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5 runJavaScriptConfirm_deprecatedForUseWithV5; 1215 1214 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5 runJavaScriptPrompt_deprecatedForUseWithV5; 1216 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;1215 void* unused5; // Used to be mediaSessionMetadataDidChange. 1217 1216 1218 1217 // Version 6. … … 1318 1317 WKPageRunJavaScriptConfirmCallback_deprecatedForUseWithV5 runJavaScriptConfirm_deprecatedForUseWithV5; 1319 1318 WKPageRunJavaScriptPromptCallback_deprecatedForUseWithV5 runJavaScriptPrompt_deprecatedForUseWithV5; 1320 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange;1319 void* unused5; // Used to be mediaSessionMetadataDidChange. 1321 1320 1322 1321 // Version 6. -
trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp
r267883 r267885 687 687 { 688 688 #if ENABLE(APP_BOUND_DOMAINS) 689 RefPtr<API::Array> originURLsArray = toImpl(originURLsRef);689 RefPtr<API::Array> originURLsArray = WebKit::toImpl(originURLsRef); 690 690 size_t newSize = originURLsArray ? originURLsArray->size() : 0; 691 691 HashSet<WebCore::RegistrableDomain> domains; -
trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h
r267883 r267885 29 29 #include "MessageSender.h" 30 30 #include "PolicyDecision.h" 31 #include "ProcessThrottler.h" 31 32 #include "SandboxExtension.h" 32 33 #include "WebFramePolicyListenerProxy.h" -
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
r267883 r267885 245 245 #endif 246 246 247 #if ENABLE(MEDIA_SESSION)248 #include "WebMediaSessionFocusManager.h"249 #include "WebMediaSessionMetadata.h"250 #include <WebCore/MediaSessionMetadata.h>251 #endif252 253 247 #if PLATFORM(IOS_FAMILY) || (PLATFORM(MAC) && ENABLE(VIDEO_PRESENTATION_MODE)) 254 248 #include "PlaybackSessionManagerProxy.h" … … 6054 6048 send(Messages::WebPage::ResumeAllMediaPlayback()); 6055 6049 } 6056 6057 #if ENABLE(MEDIA_SESSION)6058 void WebPageProxy::handleMediaEvent(MediaEventType eventType)6059 {6060 if (!hasRunningProcess())6061 return;6062 6063 send(Messages::WebPage::HandleMediaEvent(eventType));6064 }6065 6066 void WebPageProxy::setVolumeOfMediaElement(double volume, uint64_t elementID)6067 {6068 if (!hasRunningProcess())6069 return;6070 6071 send(Messages::WebPage::SetVolumeOfMediaElement(volume, elementID));6072 }6073 #endif6074 6050 6075 6051 void WebPageProxy::setMayStartMediaWhenInWindow(bool mayStartMedia) … … 8977 8953 void WebPageProxy::isPlayingMediaDidChange(MediaProducer::MediaStateFlags newState, uint64_t sourceElementID) 8978 8954 { 8979 #if ENABLE(MEDIA_SESSION)8980 WebMediaSessionFocusManager* focusManager = process().processPool().supplement<WebMediaSessionFocusManager>();8981 ASSERT(focusManager);8982 focusManager->updatePlaybackAttributesFromMediaState(this, sourceElementID, newState);8983 #endif8984 8985 8955 #if PLATFORM(IOS_FAMILY) 8986 8956 if (!m_process->throttler().shouldBeRunnable()) … … 9128 9098 9129 9099 callback->performCallbackWithReturnValue(hasActiveSession, registeredAsNowPlayingApplication, title, duration, elapsedTime, uniqueIdentifier); 9130 }9131 #endif9132 9133 #if ENABLE(MEDIA_SESSION)9134 void WebPageProxy::hasMediaSessionWithActiveMediaElementsDidChange(bool state)9135 {9136 m_hasMediaSessionWithActiveMediaElements = state;9137 }9138 9139 void WebPageProxy::mediaSessionMetadataDidChange(const WebCore::MediaSessionMetadata& metadata)9140 {9141 Ref<WebMediaSessionMetadata> webMetadata = WebMediaSessionMetadata::create(metadata);9142 m_uiClient->mediaSessionMetadataDidChange(*this, webMetadata.ptr());9143 }9144 9145 void WebPageProxy::focusedContentMediaElementDidChange(uint64_t elementID)9146 {9147 WebMediaSessionFocusManager* focusManager = process().processPool().supplement<WebMediaSessionFocusManager>();9148 ASSERT(focusManager);9149 focusManager->setFocusedMediaElement(*this, elementID);9150 9100 } 9151 9101 #endif -
trunk/Source/WebKit/UIProcess/WebPageProxy.h
r267883 r267885 170 170 #endif 171 171 172 #if ENABLE(MEDIA_SESSION)173 namespace WebCore {174 class MediaSessionMetadata;175 }176 #endif177 178 172 #if USE(DIRECT2D) 179 173 interface ID3D11Device1; … … 1345 1339 void resumeAllMediaPlayback(); 1346 1340 1347 #if ENABLE(MEDIA_SESSION)1348 bool hasMediaSessionWithActiveMediaElements() const { return m_hasMediaSessionWithActiveMediaElements; }1349 void handleMediaEvent(WebCore::MediaEventType);1350 void setVolumeOfMediaElement(double, uint64_t);1351 #endif1352 1353 1341 #if ENABLE(POINTER_LOCK) 1354 1342 void didAllowPointerLock(); … … 1474 1462 void requestActiveNowPlayingSessionInfo(Ref<NowPlayingInfoCallback>&&); 1475 1463 void nowPlayingInfoCallback(bool, bool, const String&, double, double, uint64_t, CallbackID); 1476 #endif1477 1478 #if ENABLE(MEDIA_SESSION)1479 void hasMediaSessionWithActiveMediaElementsDidChange(bool);1480 void mediaSessionMetadataDidChange(const WebCore::MediaSessionMetadata&);1481 void focusedContentMediaElementDidChange(uint64_t);1482 1464 #endif 1483 1465 … … 2779 2761 #endif 2780 2762 2781 #if ENABLE(MEDIA_SESSION)2782 bool m_hasMediaSessionWithActiveMediaElements { false };2783 #endif2784 2785 2763 #if ENABLE(WIRELESS_PLAYBACK_TARGET) && !PLATFORM(IOS_FAMILY) 2786 2764 bool m_requiresTargetMonitoring { false }; -
trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in
r267883 r267885 475 475 HandleAutoplayEvent(enum:uint8_t WebCore::AutoplayEvent event, OptionSet<WebCore::AutoplayEventFlags> flags) 476 476 477 #if ENABLE(MEDIA_SESSION)478 HasMediaSessionWithActiveMediaElementsDidChange(bool state)479 MediaSessionMetadataDidChange(WebCore::MediaSessionMetadata metadata);480 FocusedContentMediaElementDidChange(uint64_t elementID)481 #endif482 483 477 #if PLATFORM(MAC) 484 478 DidPerformImmediateActionHitTest(struct WebKit::WebHitTestResultData result, bool contentPreventsDefault, WebKit::UserData userData) -
trunk/Source/WebKit/UIProcess/WebProcessPool.cpp
r267883 r267885 290 290 addSupplement<WebGeolocationManagerProxy>(); 291 291 addSupplement<WebNotificationManagerProxy>(); 292 #if ENABLE(MEDIA_SESSION)293 addSupplement<WebMediaSessionFocusManager>();294 #endif295 292 296 293 processPools().append(this); -
trunk/Source/WebKit/UIProcess/WebProcessPool.h
r267883 r267885 60 60 #include <wtf/text/WTFString.h> 61 61 62 #if ENABLE(MEDIA_SESSION)63 #include "WebMediaSessionFocusManager.h"64 #endif65 66 62 #if PLATFORM(COCOA) 67 63 OBJC_CLASS NSMutableDictionary; -
trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj
r267883 r267885 1707 1707 C6A4CA0B2252899800169289 /* WKBundlePageMac.h in Headers */ = {isa = PBXBuildFile; fileRef = C6A4CA092252899800169289 /* WKBundlePageMac.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1708 1708 C6A4CA0C2252899800169289 /* WKBundlePageMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = C6A4CA0A2252899800169289 /* WKBundlePageMac.mm */; }; 1709 C98C48A61B6FD4C300145103 /* WebMediaSessionFocusManager.h in Headers */ = {isa = PBXBuildFile; fileRef = C98C48A41B6FD4C300145103 /* WebMediaSessionFocusManager.h */; };1710 C98C48AA1B6FD5B500145103 /* WKMediaSessionFocusManager.h in Headers */ = {isa = PBXBuildFile; fileRef = C98C48A81B6FD5B500145103 /* WKMediaSessionFocusManager.h */; settings = {ATTRIBUTES = (Private, ); }; };1711 C9C1833C1B74026D007036A7 /* WebMediaSessionFocusManagerClient.h in Headers */ = {isa = PBXBuildFile; fileRef = C9C183381B73FD6A007036A7 /* WebMediaSessionFocusManagerClient.h */; };1712 C9CD43981B4B001D00239E33 /* WebMediaSessionMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = C9CD43941B4B000E00239E33 /* WebMediaSessionMetadata.h */; };1713 C9CD439D1B4B024F00239E33 /* WKMediaSessionMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = C9CD439A1B4B024200239E33 /* WKMediaSessionMetadata.h */; settings = {ATTRIBUTES = (Private, ); }; };1714 1709 CA05397923EE324400A553DC /* ContentAsStringIncludesChildFrames.h in Headers */ = {isa = PBXBuildFile; fileRef = CA05397823EE324400A553DC /* ContentAsStringIncludesChildFrames.h */; }; 1715 1710 CD003A5319D49B5D005ABCE0 /* WebMediaKeyStorageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = CD003A5119D49B5D005ABCE0 /* WebMediaKeyStorageManager.h */; }; … … 5054 5049 C6A4CA092252899800169289 /* WKBundlePageMac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WKBundlePageMac.h; sourceTree = "<group>"; }; 5055 5050 C6A4CA0A2252899800169289 /* WKBundlePageMac.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = WKBundlePageMac.mm; sourceTree = "<group>"; }; 5056 C98C48A31B6FD4C300145103 /* WebMediaSessionFocusManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebMediaSessionFocusManager.cpp; sourceTree = "<group>"; };5057 C98C48A41B6FD4C300145103 /* WebMediaSessionFocusManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebMediaSessionFocusManager.h; sourceTree = "<group>"; };5058 C98C48A71B6FD5B500145103 /* WKMediaSessionFocusManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKMediaSessionFocusManager.cpp; sourceTree = "<group>"; };5059 C98C48A81B6FD5B500145103 /* WKMediaSessionFocusManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKMediaSessionFocusManager.h; sourceTree = "<group>"; };5060 C9C183371B73FD6A007036A7 /* WebMediaSessionFocusManagerClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebMediaSessionFocusManagerClient.cpp; sourceTree = "<group>"; };5061 C9C183381B73FD6A007036A7 /* WebMediaSessionFocusManagerClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebMediaSessionFocusManagerClient.h; sourceTree = "<group>"; };5062 C9CD43931B4B000E00239E33 /* WebMediaSessionMetadata.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebMediaSessionMetadata.cpp; sourceTree = "<group>"; };5063 C9CD43941B4B000E00239E33 /* WebMediaSessionMetadata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebMediaSessionMetadata.h; sourceTree = "<group>"; };5064 C9CD43991B4B024200239E33 /* WKMediaSessionMetadata.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKMediaSessionMetadata.cpp; sourceTree = "<group>"; };5065 C9CD439A1B4B024200239E33 /* WKMediaSessionMetadata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKMediaSessionMetadata.h; sourceTree = "<group>"; };5066 5051 CA05397823EE324400A553DC /* ContentAsStringIncludesChildFrames.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContentAsStringIncludesChildFrames.h; sourceTree = "<group>"; }; 5067 5052 CD003A5019D49B5D005ABCE0 /* WebMediaKeyStorageManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebMediaKeyStorageManager.cpp; path = MediaCache/WebMediaKeyStorageManager.cpp; sourceTree = "<group>"; }; … … 6132 6117 BC9BA5021697C45300E44616 /* WebKit2Initialize.cpp */, 6133 6118 BC9BA5031697C45300E44616 /* WebKit2Initialize.h */, 6134 C9CD43931B4B000E00239E33 /* WebMediaSessionMetadata.cpp */,6135 C9CD43941B4B000E00239E33 /* WebMediaSessionMetadata.h */,6136 6119 905620E812BC248B000799B6 /* WebMemorySampler.cpp */, 6137 6120 905620E912BC248B000799B6 /* WebMemorySampler.h */, … … 9052 9035 BC1BE1F012D54DBD0004A228 /* WebGeolocationProvider.h */, 9053 9036 51C8E19B1F21617200BF731B /* WebIconDatabase.h */, 9054 C98C48A31B6FD4C300145103 /* WebMediaSessionFocusManager.cpp */,9055 C98C48A41B6FD4C300145103 /* WebMediaSessionFocusManager.h */,9056 C9C183371B73FD6A007036A7 /* WebMediaSessionFocusManagerClient.cpp */,9057 C9C183381B73FD6A007036A7 /* WebMediaSessionFocusManagerClient.h */,9058 9037 2D3EF4401917646300034184 /* WebMemoryPressureHandler.cpp */, 9059 9038 2D3EF4411917646300034184 /* WebMemoryPressureHandler.h */, … … 9258 9237 51A9E1091315CD18009E7031 /* WKKeyValueStorageManager.h */, 9259 9238 2D790A9E1AD7164900AB90B3 /* WKLayoutMode.h */, 9260 C98C48A71B6FD5B500145103 /* WKMediaSessionFocusManager.cpp */,9261 C98C48A81B6FD5B500145103 /* WKMediaSessionFocusManager.h */,9262 C9CD43991B4B024200239E33 /* WKMediaSessionMetadata.cpp */,9263 C9CD439A1B4B024200239E33 /* WKMediaSessionMetadata.h */,9264 9239 5CABDC8422C40FCC001EDE8E /* WKMessageListener.cpp */, 9265 9240 5CABDC8522C40FCC001EDE8E /* WKMessageListener.h */, … … 11321 11296 1A6280C71919950C006AD9F9 /* WebKitPrivate.h in Headers */, 11322 11297 CD003A5319D49B5D005ABCE0 /* WebMediaKeyStorageManager.h in Headers */, 11323 C98C48A61B6FD4C300145103 /* WebMediaSessionFocusManager.h in Headers */,11324 C9C1833C1B74026D007036A7 /* WebMediaSessionFocusManagerClient.h in Headers */,11325 C9CD43981B4B001D00239E33 /* WebMediaSessionMetadata.h in Headers */,11326 11298 9B5BEC262400F4A90070C6EF /* WebMediaStrategy.h in Headers */, 11327 11299 2D3EF4431917646300034184 /* WebMemoryPressureHandler.h in Headers */, … … 11622 11594 2D790A9F1AD7164900AB90B3 /* WKLayoutMode.h in Headers */, 11623 11595 5CE912142293C280005BEC78 /* WKMain.h in Headers */, 11624 C98C48AA1B6FD5B500145103 /* WKMediaSessionFocusManager.h in Headers */,11625 C9CD439D1B4B024F00239E33 /* WKMediaSessionMetadata.h in Headers */,11626 11596 1AB40EE61BF677E300BA81BE /* WKMenuItemIdentifiersPrivate.h in Headers */, 11627 11597 5CABDC8622C40FDE001EDE8E /* WKMessageListener.h in Headers */, -
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
r267883 r267885 1176 1176 } 1177 1177 1178 #if ENABLE(MEDIA_SESSION)1179 1180 void WebChromeClient::hasMediaSessionWithActiveMediaElementsDidChange(bool state)1181 {1182 m_page.send(Messages::WebPageProxy::HasMediaSessionWithActiveMediaElementsDidChange(state));1183 }1184 1185 void WebChromeClient::mediaSessionMetadataDidChange(const MediaSessionMetadata& metadata)1186 {1187 m_page.send(Messages::WebPageProxy::MediaSessionMetadataDidChange(metadata));1188 }1189 1190 void WebChromeClient::focusedContentMediaElementDidChange(uint64_t elementID)1191 {1192 m_page.send(Messages::WebPageProxy::FocusedContentMediaElementDidChange(elementID));1193 }1194 1195 #endif1196 1197 1178 #if ENABLE(WEB_CRYPTO) 1198 1179 -
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h
r267883 r267885 338 338 void handleAutoplayEvent(WebCore::AutoplayEvent, OptionSet<WebCore::AutoplayEventFlags>) final; 339 339 340 #if ENABLE(MEDIA_SESSION)341 void hasMediaSessionWithActiveMediaElementsDidChange(bool) final;342 void mediaSessionMetadataDidChange(const WebCore::MediaSessionMetadata&) final;343 void focusedContentMediaElementDidChange(uint64_t) final;344 #endif345 346 340 #if ENABLE(WEB_CRYPTO) 347 341 bool wrapCryptoKey(const Vector<uint8_t>&, Vector<uint8_t>&) const final; -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
r267883 r267885 5191 5191 } 5192 5192 5193 #if ENABLE(MEDIA_SESSION)5194 void WebPage::handleMediaEvent(uint32_t eventType)5195 {5196 m_page->handleMediaEvent(static_cast<MediaEventType>(eventType));5197 }5198 5199 void WebPage::setVolumeOfMediaElement(double volume, uint64_t elementID)5200 {5201 m_page->setVolumeOfMediaElement(volume, elementID);5202 }5203 #endif5204 5205 5193 void WebPage::setMayStartMediaWhenInWindow(bool mayStartMedia) 5206 5194 { -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.h
r267883 r267885 968 968 void stopMediaCapture(); 969 969 970 #if ENABLE(MEDIA_SESSION)971 void handleMediaEvent(uint32_t /* WebCore::MediaEventType */);972 void setVolumeOfMediaElement(double, uint64_t);973 #endif974 975 970 void updateMainFrameScrollOffsetPinning(); 976 971 -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in
r267883 r267885 412 412 StopMediaCapture() 413 413 414 #if ENABLE(MEDIA_SESSION)415 HandleMediaEvent(uint32_t eventType)416 SetVolumeOfMediaElement(double volume, uint64_t elementID)417 #endif418 419 414 SetCanRunBeforeUnloadConfirmPanel(bool canRunBeforeUnloadConfirmPanel) 420 415 SetCanRunModal(bool canRunModal) -
trunk/Source/cmake/OptionsFTW.cmake
r267883 r267885 115 115 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_ENCRYPTED_MEDIA PRIVATE OFF) 116 116 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_CAPTURE PRIVATE OFF) 117 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_SESSION PRIVATE OFF)118 117 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_SOURCE PRIVATE OFF) 119 118 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_STATISTICS PRIVATE OFF) -
trunk/Source/cmake/WebKitFeatures.cmake
r267883 r267885 167 167 WEBKIT_OPTION_DEFINE(ENABLE_MEDIA_CAPTURE "Toggle Media Capture support" PRIVATE OFF) 168 168 WEBKIT_OPTION_DEFINE(ENABLE_MEDIA_CONTROLS_SCRIPT "Toggle definition of media controls in Javascript" PRIVATE ON) 169 WEBKIT_OPTION_DEFINE(ENABLE_MEDIA_SESSION "Toggle Media Session support" PRIVATE OFF)170 169 WEBKIT_OPTION_DEFINE(ENABLE_MEDIA_SOURCE "Toggle Media Source support" PRIVATE OFF) 171 170 WEBKIT_OPTION_DEFINE(ENABLE_MEDIA_STATISTICS "Toggle Media Statistics support" PRIVATE OFF) -
trunk/Tools/ChangeLog
r267883 r267885 1 2020-10-02 Sam Weinig <weinig@apple.com> 2 3 Remove code behind ENABLE(MEDIA_SESSION), no ports enable it 4 https://bugs.webkit.org/show_bug.cgi?id=216831 5 6 Reviewed by Alex Christensen. 7 8 * Scripts/webkitperl/FeatureList.pm: 9 Remove support for building with MEDIA_SESSION enabled. 10 11 * WebKitTestRunner/TestController.cpp: 12 (WTR::TestController::createOtherPage): 13 (WTR::TestController::createWebViewWithOptions): 14 Update names to new 'unused' naming. 15 1 16 2020-10-02 Karl Rackler <rackler@apple.com> 2 17 -
trunk/Tools/Scripts/webkitperl/FeatureList.pm
r267883 r267885 120 120 $mediaCaptureSupport, 121 121 $mediaControlsScriptSupport, 122 $mediaSessionSupport,123 122 $mediaSourceSupport, 124 123 $mediaStatisticsSupport, … … 400 399 define => "ENABLE_MEDIA_CONTROLS_SCRIPT", value => \$mediaControlsScriptSupport }, 401 400 402 { option => "media-session", desc => "Toggle Media Session support",403 define => "ENABLE_MEDIA_SESSION", value => \$mediaSessionSupport },404 405 401 { option => "media-source", desc => "Toggle Media Source support", 406 402 define => "ENABLE_MEDIA_SOURCE", value => \$mediaSourceSupport }, -
trunk/Tools/WebKitTestRunner/TestController.cpp
r267883 r267885 382 382 0, // runJavaScriptConfirm 383 383 0, // runJavaScriptPrompt 384 0, // mediaSessionMetadataDidChange384 0, // unused5 385 385 createOtherPage, 386 386 runJavaScriptAlert, … … 715 715 0, // runJavaScriptConfirm 716 716 0, // runJavaScriptPrompt 717 0, // mediaSessionMetadataDidChange717 0, // unused5 718 718 createOtherPage, 719 719 runJavaScriptAlert,
Note: See TracChangeset
for help on using the changeset viewer.