[webkit-changes] [WebKit/WebKit] ea20b8: Build fails with “'CGWindowListCreateImage' is una...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ea20b8a718cd18f88b5ba0fd7536c9f13c55f89e https://github.com/WebKit/WebKit/commit/ea20b8a718cd18f88b5ba0fd7536c9f13c55f89e Author: Eric Carlson Date: 2024-08-27 (Tue, 27 Aug 2024) Changed paths: M Source/WebCore/PAL/pal/cg/CoreGraphicsSoftLink.cpp M Source/WebCore/PAL/pal/cg/CoreGraphicsSoftLink.h M Source/WebCore/SourcesCocoa.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj A Source/WebCore/platform/graphics/cg/CGWindowUtilities.cpp A Source/WebCore/platform/graphics/cg/CGWindowUtilities.h M Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h M Source/WebKit/UIProcess/API/mac/WKWebViewMac.mm M Source/WebKit/UIProcess/mac/WKFullScreenWindowController.mm M Source/WebKit/UIProcess/mac/WebViewImpl.mm M Source/WebKitLegacy/mac/WebView/WebFullScreenController.mm M Source/WebKitLegacy/mac/WebView/WebView.mm M Source/WebKitLegacy/mac/WebView/WebViewPrivate.h M Tools/DumpRenderTree/mac/PixelDumpSupportMac.mm M Tools/MiniBrowser/mac/BrowserWindowController.h M Tools/MiniBrowser/mac/BrowserWindowController.m M Tools/MiniBrowser/mac/WK1BrowserWindowController.m M Tools/MiniBrowser/mac/WK2BrowserWindowController.m M Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm Log Message: --- Build fails with “'CGWindowListCreateImage' is unavailable: obsoleted in macOS 15.0” https://bugs.webkit.org/show_bug.cgi?id=277564 rdar://133237307 Reviewed by Jean-Yves Avenard. Softlink `CGWindowListCreateImage` so we can call it in PAL to avoid the obsolete error when building. Ultimately we should replace it by using ScreenCaptureKit, but doing so causes a 2% Speedometer regression so do this for now. * Source/WebCore/PAL/pal/cg/CoreGraphicsSoftLink.cpp: * Source/WebCore/PAL/pal/cg/CoreGraphicsSoftLink.h: * Source/WebCore/SourcesCocoa.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/platform/graphics/cg/CGWindowUtilities.cpp: Added. (WebCore::cgWindowListCreateImage): * Source/WebCore/platform/graphics/cg/CGWindowUtilities.h: Added. * Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h: * Source/WebKit/UIProcess/API/mac/WKWebViewMac.mm: (-[WKWebView _windowSnapshotInRect:withOptions:]): * Source/WebKit/UIProcess/mac/WKFullScreenWindowController.mm: (-[WKFullScreenWindowController enterFullScreen:]): (takeWindowSnapshot): * Source/WebKit/UIProcess/mac/WebViewImpl.mm: (WebKit::takeWindowSnapshot): * Source/WebKitLegacy/mac/WebView/WebFullScreenController.mm: (-[WebFullScreenController enterFullScreen:]): * Source/WebKitLegacy/mac/WebView/WebView.mm: (-[WebView _windowSnapshotInRect:withOptions:]): * Source/WebKitLegacy/mac/WebView/WebViewPrivate.h: * Tools/DumpRenderTree/mac/PixelDumpSupportMac.mm: (takeWindowSnapshot): * Tools/MiniBrowser/mac/BrowserWindowController.h: * Tools/MiniBrowser/mac/BrowserWindowController.m: (-[BrowserWindowController windowSnapshotInRect:]): (-[BrowserWindowController sharingService:transitionImageForShareItem:contentRect:]): * Tools/MiniBrowser/mac/WK1BrowserWindowController.m: (-[WK1BrowserWindowController windowSnapshotInRect:]): * Tools/MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController windowSnapshotInRect:]): * Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::windowSnapshotImage): Canonical link: https://commits.webkit.org/282791@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 56fcab: Build fails with “'CGWindowListCreateImage' is una...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 56fcab9726612823eaa685fd915bfb18673d6dcb https://github.com/WebKit/WebKit/commit/56fcab9726612823eaa685fd915bfb18673d6dcb Author: Eric Carlson Date: 2024-08-16 (Fri, 16 Aug 2024) Changed paths: M Source/WTF/wtf/PlatformHave.h M Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.h M Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.mm M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm M Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h M Source/WebKit/UIProcess/API/mac/WKWebViewMac.mm M Source/WebKit/UIProcess/mac/WKFullScreenWindowController.mm M Source/WebKit/UIProcess/mac/WebViewImpl.mm M Source/WebKitLegacy/mac/WebView/WebFullScreenController.mm M Source/WebKitLegacy/mac/WebView/WebView.mm M Source/WebKitLegacy/mac/WebView/WebViewPrivate.h M Tools/DumpRenderTree/mac/PixelDumpSupportMac.mm M Tools/MiniBrowser/mac/BrowserWindowController.h M Tools/MiniBrowser/mac/BrowserWindowController.m M Tools/MiniBrowser/mac/WK1BrowserWindowController.m M Tools/MiniBrowser/mac/WK2BrowserWindowController.m M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj A Tools/TestWebKitAPI/Tests/mac/WebViewSnapshot.mm A Tools/TestWebKitAPI/Tests/mac/checkered-background.html Log Message: --- Build fails with “'CGWindowListCreateImage' is unavailable: obsoleted in macOS 15.0” https://bugs.webkit.org/show_bug.cgi?id=277564 rdar://133237307 Reviewed by Jean-Yves Avenard `CGWindowListCreateImage` is obsolete and unavailable in macOS 15, so write a method that uses ScreenCaptureKit.framework to replace it. * Source/WTF/wtf/PlatformHave.h: * Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.h: * Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.mm: * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h: * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm: (WebCore::ScreenCaptureKitCaptureSource::captureWindowSnapshot): * Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h: * Source/WebKit/UIProcess/API/mac/WKWebViewMac.mm: (-[WKWebView _windowSnapshotInRect:]): * Source/WebKit/UIProcess/mac/WKFullScreenWindowController.mm: (-[WKFullScreenWindowController enterFullScreen:]): (takeWindowSnapshot): * Source/WebKit/UIProcess/mac/WebViewImpl.mm: (WebKit::takeWindowSnapshot): * Source/WebKitLegacy/mac/WebView/WebFullScreenController.mm: (-[WebFullScreenController enterFullScreen:]): * Source/WebKitLegacy/mac/WebView/WebView.mm: (-[WebView _windowSnapshotInRect:]): * Source/WebKitLegacy/mac/WebView/WebViewPrivate.h: * Tools/DumpRenderTree/mac/PixelDumpSupportMac.mm: (takeWindowSnapshot): (createBitmapContextFromWebView): * Tools/MiniBrowser/mac/BrowserWindowController.h: * Tools/MiniBrowser/mac/BrowserWindowController.m: (-[BrowserWindowController windowSnapshotInRect:]): (-[BrowserWindowController sharingService:transitionImageForShareItem:contentRect:]): * Tools/MiniBrowser/mac/WK1BrowserWindowController.m: (-[WK1BrowserWindowController windowSnapshotInRect:]): * Tools/MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController windowSnapshotInRect:]): * Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * Tools/TestWebKitAPI/Tests/mac/WebViewSnapshot.mm: Added. (TestWebKitAPI::writeImage): (TestWebKitAPI::TEST(WKWebView, WebViewSnapshot)): * Tools/TestWebKitAPI/Tests/mac/checkered-background.html: Added. Canonical link: https://commits.webkit.org/282351@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 138f98: Add missing null-check of cues in TextTrack::didMo...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 138f982ba57377628c7c0cb28972f1bbfc8013a1 https://github.com/WebKit/WebKit/commit/138f982ba57377628c7c0cb28972f1bbfc8013a1 Author: Eric Carlson Date: 2024-07-24 (Wed, 24 Jul 2024) Changed paths: A LayoutTests/media/remove-from-document-with-text-track-expected.txt A LayoutTests/media/remove-from-document-with-text-track.html M Source/WebCore/html/track/TextTrack.cpp Log Message: --- Add missing null-check of cues in TextTrack::didMoveToNewDocument https://bugs.webkit.org/show_bug.cgi?id=277021 rdar://132386816 Reviewed by Wenson Hsieh and Ryosuke Niwa. Don't call TextTrackCueList::didMoveToNewDocument if there are is no cue list. * LayoutTests/media/remove-from-document-with-text-track-expected.txt: Added. * LayoutTests/media/remove-from-document-with-text-track.html: Added. * Source/WebCore/html/track/TextTrack.cpp: (WebCore::TextTrack::didMoveToNewDocument): Canonical link: https://commits.webkit.org/281320@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8d9d83: REGRESSION (280643@main): [ iOS EWS ] 11x media* (...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8d9d83d24cd5f053edb1d3c88d8995d67f4161ad https://github.com/WebKit/WebKit/commit/8d9d83d24cd5f053edb1d3c88d8995d67f4161ad Author: Eric Carlson Date: 2024-07-18 (Thu, 18 Jul 2024) Changed paths: M LayoutTests/platform/ios/TestExpectations M LayoutTests/platform/ios/compositing/video/video-object-fit-expected.txt M LayoutTests/platform/ios/compositing/video/video-object-position-expected.txt M LayoutTests/platform/ios/media/video-transformed-expected.txt R LayoutTests/platform/mac-ventura/compositing/video/video-object-fit-expected.txt R LayoutTests/platform/mac-ventura/compositing/video/video-object-position-expected.txt R LayoutTests/platform/mac-wk2/compositing/video/video-object-fit-expected.txt R LayoutTests/platform/mac-wk2/compositing/video/video-object-position-expected.txt M Source/WebCore/html/HTMLMediaElement.cpp M Source/WebCore/html/HTMLMediaElement.h Log Message: --- REGRESSION (280643@main): [ iOS EWS ] 11x media* (layout-tests) are constant/flaky failures https://bugs.webkit.org/show_bug.cgi?id=276499 rdar://131558048 Reviewed by Jer Noble. Don't create the text track representation element until we know it will be used. * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/ios/compositing/video/video-object-fit-expected.txt: Removed. * LayoutTests/platform/ios/compositing/video/video-object-position-expected.txt: * LayoutTests/platform/mac-ventura/compositing/video/video-object-fit-expected.txt: Removed. * LayoutTests/platform/mac-ventura/compositing/video/video-object-position-expected.txt: Removed. * LayoutTests/platform/mac-wk2/compositing/video/video-object-fit-expected.txt: Removed. * LayoutTests/platform/mac-wk2/compositing/video/video-object-position-expected.txt: Removed. * Source/WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::setTextTrackRepresentataionBounds): (WebCore::HTMLMediaElement::setRequiresTextTrackRepresentation): * Source/WebCore/html/HTMLMediaElement.h: Canonical link: https://commits.webkit.org/281082@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b079dc: [Cocoa] Remove unnecessary -respondsToSelector: ch...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b079dc58ac219484a9761bdbe91aa5a0c0db7dc5 https://github.com/WebKit/WebKit/commit/b079dc58ac219484a9761bdbe91aa5a0c0db7dc5 Author: Eric Carlson Date: 2024-07-12 (Fri, 12 Jul 2024) Changed paths: M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm Log Message: --- [Cocoa] Remove unnecessary -respondsToSelector: checks from MediaPlayerPrivateAVFoundationObjC https://bugs.webkit.org/show_bug.cgi?id=276485 rdar://131533559 Reviewed by Youenn Fablet. Remove -respondsToSelector: checks only needed on versions we no longer support with trunk. * Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer): (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): (WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenMode): (WebCore::MediaPlayerPrivateAVFoundationObjC::updateDisableExternalPlayback): (WebCore::MediaPlayerPrivateAVFoundationObjC::setBufferingPolicy): (WebCore::MediaPlayerPrivateAVFoundationObjC::videoPlaybackQualityMetrics const): (WebCore::MediaPlayerPrivateAVFoundationObjC::setPreferredDynamicRangeMode): Canonical link: https://commits.webkit.org/280903@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f3fe7d: [Cocoa] Clean up AVFoundation MIME type code
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f3fe7d5be8193ca15e0446e97fd5e0235756a9b3 https://github.com/WebKit/WebKit/commit/f3fe7d5be8193ca15e0446e97fd5e0235756a9b3 Author: Eric Carlson Date: 2024-06-27 (Thu, 27 Jun 2024) Changed paths: M Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp M Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h M Source/WebCore/platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.mm Log Message: --- [Cocoa] Clean up AVFoundation MIME type code https://bugs.webkit.org/show_bug.cgi?id=275867 rdar://128759015 Reviewed by Andy Estes. Remove some unused MIME type code from MediaPlayerPrivateAVFoundation.cpp. Remove ogg from the MIME types rejected without consulting AVFoundation. * Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: (WebCore::MediaPlayerPrivateAVFoundation::isUnsupportedMIMEType): Deleted. (WebCore::MediaPlayerPrivateAVFoundation::staticMIMETypeList): Deleted. * Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: * Source/WebCore/platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.mm: (WebCore::AVAssetMIMETypeCache::isUnsupportedContainerType): Canonical link: https://commits.webkit.org/280418@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 292a91: Crash in WebKit::WebViewImpl::isInWindowFullscreen...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 292a91632ec8b48d97e9fc5e82624661d5c0910c https://github.com/WebKit/WebKit/commit/292a91632ec8b48d97e9fc5e82624661d5c0910c Author: Eric Carlson Date: 2024-06-14 (Fri, 14 Jun 2024) Changed paths: M Source/WebKit/UIProcess/mac/WebViewImpl.h M Source/WebKit/UIProcess/mac/WebViewImpl.mm Log Message: --- Crash in WebKit::WebViewImpl::isInWindowFullscreenActive https://bugs.webkit.org/show_bug.cgi?id=275445 rdar://126704332 Reviewed by Andy Estes. Always null-check `WebPageProxy.playbackSessionManager()` because there is no guarantee that it is valid. * Source/WebKit/UIProcess/mac/WebViewImpl.h: * Source/WebKit/UIProcess/mac/WebViewImpl.mm: (WebKit::protectedPlaybackSessionInterface): (WebKit::WebViewImpl::isInWindowFullscreenActive const): (WebKit::WebViewImpl::toggleInWindowFullscreen): (WebKit::WebViewImpl::updateMediaPlaybackControlsManager): Canonical link: https://commits.webkit.org/280029@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 75dd6c: [ Ventura WK1 Debug ] 2x imported/w3c/web-platform...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 75dd6c5e94b32fa50a34a14d776ed4eb2643b28c https://github.com/WebKit/WebKit/commit/75dd6c5e94b32fa50a34a14d776ed4eb2643b28c Author: Eric Carlson Date: 2024-05-14 (Tue, 14 May 2024) Changed paths: M Source/WebCore/platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm Log Message: --- [ Ventura WK1 Debug ] 2x imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode are constant crashes https://bugs.webkit.org/show_bug.cgi?id=273501 rdar://127302101 Reviewed by Jer Noble. Work around an AVFoundation bug that has been fixed in trunk but which still crashes in downlevels by catching and ignoring ObjC exceptions sometimes thrown from -[AVPlayerItem selectMediaOption:inMediaSelectionGroup:]. * Source/WebCore/platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm: (WebCore::MediaSelectionGroupAVFObjC::selectionTimerFired): * Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions): (WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTextTrack): Canonical link: https://commits.webkit.org/278754@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 88ff63: Do not trigger stream configuration updates in cas...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 88ff63ad3bde35abf2ae32a3136cbe2ac6289dc0 https://github.com/WebKit/WebKit/commit/88ff63ad3bde35abf2ae32a3136cbe2ac6289dc0 Author: Eric Carlson Date: 2024-05-05 (Sun, 05 May 2024) Changed paths: M Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.h M Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.mm M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm Log Message: --- Do not trigger stream configuration updates in case user is capturing screen in large presenter overlay mode Do not trigger stream configuration updates in case user is capturing screen in large presenter overlay mode https://bugs.webkit.org/show_bug.cgi?id=273684 rdar://125925090 Reviewed by Eric Carlson. We enter in a loop of reconfiguration when trying to update the stream configuration size when user selects large presenter overlay mode. We are now skipping the reconfiguration step. This reintroduces black stripes like there used to have before rdar://124131045. A future patch will fix this by adding cropping within ScreenCaptureKitCaptureSource. We detect large presenter overlay mode by: - detecting whether video effect is enabled (which means presenter mode is on or off) - detecting whether the overlay rectangle (showing the screen content) origin is filled with valid values. Manually tested. * Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.h: * Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.mm: * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h: * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm: (-[WebCoreScreenCaptureKitHelper outputVideoEffectDidStartForStream:]): (-[WebCoreScreenCaptureKitHelper outputVideoEffectDidStopForStream:]): (WebCore::ScreenCaptureKitCaptureSource::streamDidOutputVideoSampleBuffer): Canonical link: https://commits.webkit.org/278390@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0470d0: REGRESSION (iOS 17.4.1?): tag fails to adj...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0470d0f338da5e4a677552edd1f13f7549159271 https://github.com/WebKit/WebKit/commit/0470d0f338da5e4a677552edd1f13f7549159271 Author: Eric Carlson Date: 2024-05-03 (Fri, 03 May 2024) Changed paths: M Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm Log Message: --- REGRESSION (iOS 17.4.1?): tag fails to adjust its size according to changes in the parent element https://bugs.webkit.org/show_bug.cgi?id=272078 rdar://125881482 Reviewed by Jer Noble. When layout changes the size of a remote-hosted video element with a MediaStream source, the order of calls to `VideoPresentationManagerProxy` and `VideoPresentationModelContext` isn't always the same. If `VideoPresentationManagerProxy::createViewWithID` is called before the model's view has been created, it creates and configures a WebAVPlayerLayerView and a WKVideoView. It did not set the model's video dimensions, which sometimes caused WebAVPlayerLayer to be resized incorrectly when layout changed the size of the video element very quickly. * Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm: (WebKit::VideoPresentationManagerProxy::createViewWithID): Call model->setVideoDimensions with the video's native dimensions. Canonical link: https://commits.webkit.org/278350@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1fc331: [Cocoa] Allow camera zoom above 2x
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1fc3314c16bc098cbaa413895f17e3fbe3a6c2d6 https://github.com/WebKit/WebKit/commit/1fc3314c16bc098cbaa413895f17e3fbe3a6c2d6 Author: Eric Carlson Date: 2024-04-01 (Mon, 01 Apr 2024) Changed paths: M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm Log Message: --- [Cocoa] Allow camera zoom above 2x https://bugs.webkit.org/show_bug.cgi?id=271968 rdar://125180182 Reviewed by Youenn Fablet. Allow up to 10x on all cameras that support that level of zoom. * Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm: (WebCore::AVVideoCaptureSource::computeMaxZoom const): Canonical link: https://commits.webkit.org/276917@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 4eac11: Remove ENABLE_AVF_CAPTIONS build flag
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4eac1165b63168227db2518a21d3ac1b561c999e https://github.com/WebKit/WebKit/commit/4eac1165b63168227db2518a21d3ac1b561c999e Author: Eric Carlson Date: 2024-04-01 (Mon, 01 Apr 2024) Changed paths: M Source/WTF/wtf/PlatformEnableCocoa.h M Source/WebCore/html/HTMLMediaElement.cpp M Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp M Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm M Source/WebCore/platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h M Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp M Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h M Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxyConfiguration.h M Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxyConfiguration.serialization.in M Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp M Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h M Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp Log Message: --- Remove ENABLE_AVF_CAPTIONS build flag https://bugs.webkit.org/show_bug.cgi?id=271964 rdar://125716661 Reviewed by Andy Estes. Remove `#if ENABLE(AVF_CAPTIONS)` in all Cocoa-only files and replace it with `#if PLATFORM(COCOA)` in cross platform files. * Source/WTF/wtf/PlatformEnableCocoa.h: * Source/WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::textTrackModeChanged): * Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: (WebCore::MediaPlayerPrivateAVFoundation::configureInbandTracks): (WebCore::MediaPlayerPrivateAVFoundation::processNewAndRemovedTextTracks): * Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: (WebCore::MediaPlayerPrivateAVFoundation::synchronizeTextTrackState): * Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: * Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): (WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions): (WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTextTrack): * Source/WebCore/platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h: * Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp: (WebKit::RemoteMediaPlayerProxy::notifyTrackModeChanged): * Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h: * Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxyConfiguration.h: * Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxyConfiguration.serialization.in: * Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp: (WebKit::MediaPlayerPrivateRemote::notifyTrackModeChanged): * Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h: * Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp: (WebKit::RemoteMediaPlayerManager::createRemoteMediaPlayer): Canonical link: https://commits.webkit.org/276893@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e4bddd: [ Ventura WK1 ] 2x imported/w3c/web-platform-tests...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e4bddd14467ff8e5f1537083fc5f58014c87ee95 https://github.com/WebKit/WebKit/commit/e4bddd14467ff8e5f1537083fc5f58014c87ee95 Author: Eric Carlson Date: 2024-03-18 (Mon, 18 Mar 2024) Changed paths: M Source/WebCore/platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm Log Message: --- [ Ventura WK1 ] 2x imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode are constant crashes https://bugs.webkit.org/show_bug.cgi?id=270915 rdar://124540415 Reviewed by Jer Noble. WebKit crashes because an internal method called by `-[AVPlayerItem selectMediaOption:inMediaSelectionGroup:]` messages a nil NSArray and an ObjC exception is thrown. Prevent the crash by putting all calls to `-[AVPlayerItem selectMediaOption:inMediaSelectionGroup:]` in try/catch blocks. * Source/WebCore/platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm: (WebCore::MediaSelectionGroupAVFObjC::selectionTimerFired): * Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions): (WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTextTrack): Canonical link: https://commits.webkit.org/276314@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b39a83: [Cocoa] Tell AVFoundation to not log urls in priva...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b39a8381cc14da138f10ddd6f4d32ed855c0ac1c https://github.com/WebKit/WebKit/commit/b39a8381cc14da138f10ddd6f4d32ed855c0ac1c Author: Eric Carlson Date: 2024-03-05 (Tue, 05 Mar 2024) Changed paths: M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm M Source/WebCore/html/HTMLMediaElement.cpp M Source/WebCore/platform/graphics/MediaPlayer.cpp M Source/WebCore/platform/graphics/MediaPlayer.h M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm Log Message: --- [Cocoa] Tell AVFoundation to not log urls in private browsing mode https://bugs.webkit.org/show_bug.cgi?id=270476 rdar://118855410 Reviewed by Jer Noble. Add a key to the options dictionary passed to the AVURLAsset constructor when WebKit is in private browsing mode so it knows to never log urls. * Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h: Define new constant string. * Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm: * Source/WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::privateBrowsingStateDidChange): Make the code the same on iOS as on every other platform. * Source/WebCore/platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::loadWithNextMediaEngine): Update name of instance variable. (WebCore::MediaPlayer::setPrivateBrowsingMode): Ditto. * Source/WebCore/platform/graphics/MediaPlayer.h: * Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Add new key to options dictionary when in private browsing mode. Canonical link: https://commits.webkit.org/275691@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] cac2e6: Legacy EME WebKitMediaKeys createSessions unknown ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: cac2e6433cf382126d1d9202d8e74180017df218 https://github.com/WebKit/WebKit/commit/cac2e6433cf382126d1d9202d8e74180017df218 Author: Eric Carlson Date: 2024-03-04 (Mon, 04 Mar 2024) Changed paths: M Source/WebCore/html/HTMLMediaElement.cpp M Source/WebCore/platform/graphics/MediaPlayer.cpp M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm Log Message: --- Legacy EME WebKitMediaKeys createSessions unknown error https://bugs.webkit.org/show_bug.cgi?id=262874 rdar://116689080 Reviewed by Jer Noble. If a media resource protected with the legacy EME API loads very quickly, the media player in GPU process may try to generate a key request before the HTMLMediaElement in the web process has signaled it is OK to continue after a key request. Have HTMLMediaElement call player->setShouldContinueAfterKeyNeeded as soon as the media player is allocaged so it will know before media data loading begins. No new test added because the problem is extremely timing dependent and I was never able to reproduce in a layout test. * Source/WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::createMediaPlayer): Call updateShouldContinueAfterNeedKey. * Source/WebCore/platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::loadWithNextMediaEngine): Call shouldWaitForLoadingOfResource. (WebCore::MediaPlayer::setShouldContinueAfterKeyNeeded): * Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: * Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Add logging. (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource): Check m_shouldContinueAfterKeyNeeded instead of calling up to the player. (WebCore::MediaPlayerPrivateAVFoundationObjC::didCancelLoadingRequest): Add logging. (WebCore::MediaPlayerPrivateAVFoundationObjC::didStopLoadingRequest): Ditto. (WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldContinueAfterKeyNeeded): Check m_shouldContinueAfterKeyNeeded instead of calling up to the player. (WebCore::MediaPlayerPrivateAVFoundationObjC::keyAdded): Add logging. Canonical link: https://commits.webkit.org/275647@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b39392: REGRESSION (iOS 17.2) Script can not always start ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b39392ba956ea7216e38fc3ae39689556a8a524d https://github.com/WebKit/WebKit/commit/b39392ba956ea7216e38fc3ae39689556a8a524d Author: Eric Carlson Date: 2024-02-24 (Sat, 24 Feb 2024) Changed paths: M LayoutTests/media/audio-background-playback-playlist-expected.txt M LayoutTests/media/audio-background-playback-playlist.html M Source/WebCore/html/MediaElementSession.cpp M Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp M Source/WebCore/platform/audio/cocoa/AudioSessionCocoa.mm M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/WebProcessPool.cpp Log Message: --- REGRESSION (iOS 17.2) Script can not always start audio playback in the background https://bugs.webkit.org/show_bug.cgi?id=269938 rdar://121268089 Reviewed by Andy Estes. Don't deactivate the media activity during the 10 second foreground activity "grace period" so script has a chance to start playback, e.g. for a playlist, when the application is in the background. * LayoutTests/media/audio-background-playback-playlist-expected.txt: * LayoutTests/media/audio-background-playback-playlist.html: Update test to wait for the 'error' event before checking NowPlaying eligibility. * Source/WebCore/html/MediaElementSession.cpp: (WebCore::MediaElementSession::canShowControlsManager const): Don't say an element that has a source and is not in an error state is ineligible to activate NowPlaying if we are already registered as the NowPlaying app. * Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp: (WebCore::PlatformMediaSessionManager::maybeActivateAudioSession): Log when we return `false` because an active audio session is not needed to make future debugging easier. * Source/WebCore/platform/audio/cocoa/AudioSessionCocoa.mm: (WebCore::AudioSessionCocoa::tryToSetActiveInternal): Log when activating or deactivating the audio session fails. * Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::setMediaCapability): log when the media capability is cleared. (WebKit::WebPageProxy::shouldDeactivateMediaCapability const): Return false if there is valid audio activity so we wait to deactivate the capability while the foreground activity timer is active. * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::updateThrottleState): Log when starting or stopping the foreground activity "grace period" timer. (WebKit::WebPageProxy::clearAudibleActivity): Fix logging. Call `updateMediaCapability`. (WebKit::WebPageProxy::hasValidAudibleActivity const): * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::clearAudibleActivity): Add logging. (WebKit::WebProcessPool::updateAudibleMediaAssertions): Clarify log message. Canonical link: https://commits.webkit.org/275285@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 80f25d: [Cocoa] Cancel pending getDisplayMedia prompt when...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 80f25d4770c9630760067facda8dd3a670784e5b https://github.com/WebKit/WebKit/commit/80f25d4770c9630760067facda8dd3a670784e5b Author: Eric Carlson Date: 2024-02-10 (Sat, 10 Feb 2024) Changed paths: M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.h M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm M Source/WebKit/GPUProcess/GPUProcess.cpp M Source/WebKit/GPUProcess/GPUProcess.h M Source/WebKit/GPUProcess/GPUProcess.messages.in M Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp M Source/WebKit/UIProcess/GPU/GPUProcessProxy.h M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp M Source/WebKit/UIProcess/UserMediaPermissionRequestProxy.h M Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.h M Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.mm M Source/WebKit/UIProcess/mac/UserMediaPermissionRequestProxyMac.h M Source/WebKit/UIProcess/mac/UserMediaPermissionRequestProxyMac.mm Log Message: --- [Cocoa] Cancel pending getDisplayMedia prompt when page is reloaded https://bugs.webkit.org/show_bug.cgi?id=260795 rdar://114563662 Reviewed by Youenn Fablet. If the page is reloaded while the system prompt window/screen picker is active, cancel the picker instead waiting for the ScreenCaptureKitSharingSessionManager watchdog timer to go off and cancel it. * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.h: * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm: (WebCore::ScreenCaptureKitSharingSessionManager::cancelGetDisplayMediaPrompt): * Source/WebKit/GPUProcess/GPUProcess.cpp: (WebKit::GPUProcess::cancelGetDisplayMediaPrompt): * Source/WebKit/GPUProcess/GPUProcess.h: * Source/WebKit/GPUProcess/GPUProcess.messages.in: * Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp: (WebKit::GPUProcessProxy::cancelGetDisplayMediaPrompt): * Source/WebKit/UIProcess/GPU/GPUProcessProxy.h: * Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp: (WebKit::UserMediaPermissionRequestManagerProxy::resetAccess): * Source/WebKit/UIProcess/UserMediaPermissionRequestProxy.h: * Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.h: * Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.mm: (WebKit::DisplayCaptureSessionManager::cancelGetDisplayMediaPrompt): * Source/WebKit/UIProcess/mac/UserMediaPermissionRequestProxyMac.h: * Source/WebKit/UIProcess/mac/UserMediaPermissionRequestProxyMac.mm: (WebKit::UserMediaPermissionRequestProxyMac::invalidate): (WebKit::UserMediaPermissionRequestProxyMac::promptForGetDisplayMedia): Canonical link: https://commits.webkit.org/274439@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 537043: Don't allow playback to start when in the backgrou...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 537043c0738d31cf15247da8fe11c0e85838a1e5 https://github.com/WebKit/WebKit/commit/537043c0738d31cf15247da8fe11c0e85838a1e5 Author: Eric Carlson Date: 2024-02-10 (Sat, 10 Feb 2024) Changed paths: A LayoutTests/media/video-playback-system-interruption-expected.txt A LayoutTests/media/video-playback-system-interruption.html M Source/WebCore/html/HTMLMediaElement.cpp M Source/WebCore/platform/audio/PlatformMediaSession.cpp M Source/WebCore/platform/audio/PlatformMediaSession.h M Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp M Source/WebCore/platform/audio/PlatformMediaSessionManager.h Log Message: --- Don't allow playback to start when in the background and interrupted by the system https://bugs.webkit.org/show_bug.cgi?id=269081 rdar://117928506 Reviewed by Jer Noble. Don't allow playback to begin when WebKit is in the background and has also been interrupted by the audio session. This can happen, for example, when playback is started from Control Center on the lock screen and the user switches to the camera app and activates the video camera. Allowing playback activates WebKit's AVAudioSession and prevents the camera app from using the volume buttons to trigger start/stop recording. * LayoutTests/media/video-playback-system-interruption-expected.txt: Added. * LayoutTests/media/video-playback-system-interruption.html: Added. * Source/WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::couldPlayIfEnoughData const): Return false if the element needs an active audio session and it was paused by a system interruption. * Source/WebCore/platform/audio/PlatformMediaSession.cpp: Keep a vector of interruption types instead of an interruption count so we know the type of the most recent interruption. (WebCore::PlatformMediaSession::interruptionType const): Return the type of the most recent interruption, not the first. (WebCore::PlatformMediaSession::beginInterruption): Update for interruption stack. (WebCore::PlatformMediaSession::endInterruption): Ditto. (WebCore::PlatformMediaSession::isPlayingToWirelessPlaybackTargetChanged): Can no longer save and restore the interruption count, but the issue that caused the change appears to have been fixed. (WebCore::PlatformMediaSession::blockedBySystemInterruption const): * Source/WebCore/platform/audio/PlatformMediaSession.h: (WebCore::PlatformMediaSession::interruptionCount const): (WebCore::PlatformMediaSession::interruptionType const): Deleted. Canonical link: https://commits.webkit.org/274438@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b0a7f8: [ImageCapture] Reject promises synchronously when ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b0a7f8b8febb1740572fb77bf5cc615d30d34b50 https://github.com/WebKit/WebKit/commit/b0a7f8b8febb1740572fb77bf5cc615d30d34b50 Author: Eric Carlson Date: 2024-02-10 (Sat, 10 Feb 2024) Changed paths: M LayoutTests/fast/mediastream/image-capture-get-photo-capabilities-expected.txt M LayoutTests/fast/mediastream/image-capture-get-photo-capabilities.html M LayoutTests/fast/mediastream/image-capture-get-photo-settings-expected.txt M LayoutTests/fast/mediastream/image-capture-get-photo-settings.html M LayoutTests/fast/mediastream/image-capture-take-photo-expected.txt M LayoutTests/fast/mediastream/image-capture-take-photo.html M Source/WebCore/Modules/mediastream/ImageCapture.cpp M Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp Log Message: --- [ImageCapture] Reject promises synchronously when track has ended https://bugs.webkit.org/show_bug.cgi?id=266297 rdar://119564866 Reviewed by Youenn Fablet. Reject takePhoto, getPhotoCapabilities, and getPhotoSettings promises synchronously when called after a track has ended to match the spec. * LayoutTests/fast/mediastream/image-capture-get-photo-capabilities-expected.txt: * LayoutTests/fast/mediastream/image-capture-get-photo-capabilities.html: * LayoutTests/fast/mediastream/image-capture-get-photo-settings-expected.txt: * LayoutTests/fast/mediastream/image-capture-get-photo-settings.html: * LayoutTests/fast/mediastream/image-capture-take-photo-expected.txt: * LayoutTests/fast/mediastream/image-capture-take-photo.html: * Source/WebCore/Modules/mediastream/ImageCapture.cpp: (WebCore::ImageCapture::takePhoto): (WebCore::ImageCapture::getPhotoCapabilities): (WebCore::ImageCapture::getPhotoSettings): * Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp: (WebCore::MediaStreamTrack::takePhoto): (WebCore::MediaStreamTrack::getPhotoCapabilities): (WebCore::MediaStreamTrack::getPhotoSettings): Canonical link: https://commits.webkit.org/274437@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5c0212: Update GPU Process VP9/VP8 preferences when other ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5c0212750833211421500e54474dca63c53a0c65 https://github.com/WebKit/WebKit/commit/5c0212750833211421500e54474dca63c53a0c65 Author: Eric Carlson Date: 2024-01-29 (Mon, 29 Jan 2024) Changed paths: M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.messages.in M Source/WebKit/GPUProcess/GPUProcess.cpp M Source/WebKit/GPUProcess/GPUProcess.h M Source/WebKit/GPUProcess/GPUProcessPreferences.cpp M Source/WebKit/GPUProcess/GPUProcessPreferences.h M Source/WebKit/GPUProcess/GPUProcessPreferences.serialization.in M Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp M Source/WebKit/WebProcess/GPU/GPUProcessConnection.h M Source/WebKit/WebProcess/GPU/media/RemoteVideoCodecFactory.cpp M Source/WebKit/WebProcess/WebPage/WebPage.cpp Log Message: --- Update GPU Process VP9/VP8 preferences when other media preferences are updated https://bugs.webkit.org/show_bug.cgi?id=268104 rdar://108641943 Reviewed by Jean-Yves Avenard. * Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp: (WebKit::GPUConnectionToWebProcess::enableVP9Decoders): Deleted. * Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h: * Source/WebKit/GPUProcess/GPUConnectionToWebProcess.messages.in: * Source/WebKit/GPUProcess/GPUProcess.cpp: (WebKit::GPUProcess::updateGPUProcessPreferences): Include VP8/VP9 preferences. (WebKit::GPUProcess::enableVP9Decoders): Deleted. * Source/WebKit/GPUProcess/GPUProcess.h: * Source/WebKit/GPUProcess/GPUProcessPreferences.cpp: (WebKit::GPUProcessPreferences::copyEnabledWebPreferences): Ditto. * Source/WebKit/GPUProcess/GPUProcessPreferences.h: Ditto. * Source/WebKit/GPUProcess/GPUProcessPreferences.serialization.in: * Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp: (WebKit::GPUProcessConnection::GPUProcessConnection): (WebKit::GPUProcessConnection::enableVP9Decoders): Deleted. * Source/WebKit/WebProcess/GPU/GPUProcessConnection.h: (WebKit::GPUProcessConnection::isVP8DecoderEnabled const): Deleted. (WebKit::GPUProcessConnection::isVP9DecoderEnabled const): Deleted. (WebKit::GPUProcessConnection::isVPSWDecoderEnabled const): Deleted. * Source/WebKit/WebProcess/GPU/media/RemoteVideoCodecFactory.cpp: (WebKit::shouldUseLocalDecoder): Disable the VP9 hardware decoder on macOS/AppleSilicon for now to maintain the current behavior. * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::WebPage): Canonical link: https://commits.webkit.org/273656@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 519c83: [ImageCapture] Commit configuration changes after ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 519c8375e5ac2dd3fc404e4a5b00a8056478e0db https://github.com/WebKit/WebKit/commit/519c8375e5ac2dd3fc404e4a5b00a8056478e0db Author: Eric Carlson Date: 2024-01-16 (Tue, 16 Jan 2024) Changed paths: M Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.cpp M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm M Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp M Source/WebCore/platform/mock/MockRealtimeVideoSource.h Log Message: --- [ImageCapture] Commit configuration changes after changing/restoring settings for image capture https://bugs.webkit.org/show_bug.cgi?id=267580 rdar://121045984 Reviewed by Youenn Fablet. AVCapture sometimes throws an exception if an AVCaptureSession is started while it is being configured, so ensure that session configuration is ended explicitly after setting up or restoring session configuration for image capture. * Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.cpp: (WebCore::RealtimeVideoCaptureSource::takePhoto): Call startApplyingConstraints and endApplyingConstraints around setting and restoring configuration. * Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm: (WebCore::AVVideoCaptureSource::rejectPendingPhotoRequest): Drive-by: don't log if the photo producer doesn't exist. (WebCore::AVVideoCaptureSource::takePhotoInternal): Reject the promise if there are no settings. * Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp: (WebCore::MockRealtimeVideoSource::setFrameRateAndZoomWithPreset): Assert if `m_beingConfigured` is not set. (WebCore::MockRealtimeVideoSource::startProducingData): Ditto. (WebCore::MockRealtimeVideoSource::startApplyingConstraints): Set `m_beingConfigured`. (WebCore::MockRealtimeVideoSource::endApplyingConstraints): Clear `m_beingConfigured`. * Source/WebCore/platform/mock/MockRealtimeVideoSource.h: Canonical link: https://commits.webkit.org/273091@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 976e63: VTTScanner should copy the string it is parsing
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 976e6341b4a89ea4c8a4f27185d0219af1ac3189 https://github.com/WebKit/WebKit/commit/976e6341b4a89ea4c8a4f27185d0219af1ac3189 Author: Eric Carlson Date: 2023-12-13 (Wed, 13 Dec 2023) Changed paths: M Source/WebCore/html/track/VTTScanner.cpp M Source/WebCore/html/track/VTTScanner.h Log Message: --- VTTScanner should copy the string it is parsing https://bugs.webkit.org/show_bug.cgi?id=266355 rdar://119621360 Reviewed by Chris Dumez. Store the String to be parsed in a member variable instead of only storing pointers to the start and end of the String to avoid crashes like the one caused by caused by 270868@main. * Source/WebCore/html/track/VTTScanner.cpp: (WebCore::VTTScanner::VTTScanner): * Source/WebCore/html/track/VTTScanner.h: Canonical link: https://commits.webkit.org/272005@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 88a2e6: Fix crash caused by 270868@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 88a2e6722dce9dcbe5d845a6b8f9655577306920 https://github.com/WebKit/WebKit/commit/88a2e6722dce9dcbe5d845a6b8f9655577306920 Author: Eric Carlson Date: 2023-12-12 (Tue, 12 Dec 2023) Changed paths: M Source/WebCore/html/track/VTTRegion.cpp Log Message: --- Fix crash caused by 270868@main https://bugs.webkit.org/show_bug.cgi?id=266310 rdar://119447227 Reviewed by Chris Dumez. Store the region settions to be parsed in a local variable because VTTScanner only stores pointers to the start and end of the String it is parsing, so passing it a temporary String leaves it with pointers into an object that has been destroyed. * Source/WebCore/html/track/VTTRegion.cpp: (WebCore::VTTRegion::setRegionSettings): Canonical link: https://commits.webkit.org/271965@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f8df16: [Cocoa] MediaCapabilities spatial rendering checks...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f8df1646f208282f5b000bf105beebd2e536a798 https://github.com/WebKit/WebKit/commit/f8df1646f208282f5b000bf105beebd2e536a798 Author: Eric Carlson Date: 2023-12-04 (Mon, 04 Dec 2023) Changed paths: M Source/WebCore/PAL/pal/cf/AudioToolboxSoftLink.cpp M Source/WebCore/PAL/pal/cf/AudioToolboxSoftLink.h M Source/WebCore/PAL/pal/cf/CoreMediaSoftLink.h M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm M Source/WebCore/PAL/pal/spi/cocoa/AudioToolboxSPI.h M Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp M Source/WebCore/platform/audio/PlatformMediaSessionManager.h M Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.h M Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm M Source/WebCore/platform/audio/ios/MediaSessionHelperIOS.h M Source/WebCore/platform/audio/ios/MediaSessionHelperIOS.mm M Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.h M Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm M Source/WebCore/platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.cpp M Source/WebKit/GPUProcess/media/ios/RemoteMediaSessionHelperProxy.cpp M Source/WebKit/GPUProcess/media/ios/RemoteMediaSessionHelperProxy.h M Source/WebKit/Shared/mac/MediaFormatReader/CoreMediaWrapped.cpp M Source/WebKit/WebProcess/GPU/media/ios/RemoteMediaSessionHelper.cpp M Source/WebKit/WebProcess/GPU/media/ios/RemoteMediaSessionHelper.h M Source/WebKit/WebProcess/GPU/media/ios/RemoteMediaSessionHelper.messages.in Log Message: --- [Cocoa] MediaCapabilities spatial rendering checks fail on capable HW with built-in sound output https://bugs.webkit.org/show_bug.cgi?id=265614 rdar://114214068 Reviewed by Jer Noble. On macOS, use SPI got get spatial audio preferences to see if spatial audio playback is supported. On iOS, switch from using the shared audio presentation output context to AVAudioSession, which makes it possible to see if the currently audio route has a port that supports spatial playback. * Source/WebCore/PAL/pal/cf/AudioToolboxSoftLink.cpp: * Source/WebCore/PAL/pal/cf/AudioToolboxSoftLink.h: * Source/WebCore/PAL/pal/cf/CoreMediaSoftLink.h: * Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h: * Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm: * Source/WebCore/PAL/pal/spi/cocoa/AudioToolboxSPI.h: * Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp: (WebCore::PlatformMediaSessionManager::setSupportsSpatialAudioPlayback): (WebCore::PlatformMediaSessionManager::supportsSpatialAudioPlaybackForConfiguration): * Source/WebCore/platform/audio/PlatformMediaSessionManager.h: (WebCore::PlatformMediaSessionManager::supportsSpatialAudioPlayback): * Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.h: * Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm: (WebCore::MediaSessionManagerCocoa::MediaSessionManagerCocoa): (WebCore::MediaSessionManagerCocoa::updateSessionState): (WebCore::MediaSessionManagerCocoa::supportsSpatialAudioPlaybackForConfiguration): * Source/WebCore/platform/audio/ios/MediaSessionHelperIOS.h: * Source/WebCore/platform/audio/ios/MediaSessionHelperIOS.mm: (MediaSessionHelper::activeAudioRouteSupportsSpatialPlaybackDidChange): (MediaSessionHelper::updateActiveAudioRouteSupportsSpatialPlayback): (MediaSessionHelper::setActiveAudioRouteSupportsSpatialPlayback): (-[WebMediaSessionHelper initWithCallback:]): (-[WebMediaSessionHelper spatialPlaybackCapabilitiesChanged:]): * Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.h: * Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm: (WebCore::MediaSessionManageriOS::activeAudioRouteSupportsSpatialPlaybackDidChange): (WebCore::MediaSessionManagerCocoa::supportsSpatialAudioPlaybackForConfiguration): * Source/WebCore/platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.cpp: (WebCore::computeMediaCapabilitiesInfo): * Source/WebKit/GPUProcess/media/ios/RemoteMediaSessionHelperProxy.cpp: (WebKit::RemoteMediaSessionHelperProxy::activeAudioRouteSupportsSpatialPlaybackDidChange): * Source/WebKit/GPUProcess/media/ios/RemoteMediaSessionHelperProxy.h: * Source/WebKit/Shared/mac/MediaFormatReader/CoreMediaWrapped.cpp: (WebKit::wrapperVTable): * Source/WebKit/WebProcess/GPU/media/ios/RemoteMediaSessionHelper.cpp: (WebKit::RemoteMediaSessionHelper::activeAudioRouteSupportsSpatialPlaybackDidChange): * Source/WebKit/WebProcess/GPU/media/ios/RemoteMediaSessionHelper.h: * Source/WebKit/WebProcess/GPU/media/ios/RemoteMediaSessionHelper.messages.in: Canonical link: https://commits.webkit.org/271504@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 860764: [MediaStream] Cleanup getPhotoSettings and getPhot...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8607642c71c8943b9f85a77e2dbafcde87a79414 https://github.com/WebKit/WebKit/commit/8607642c71c8943b9f85a77e2dbafcde87a79414 Author: Eric Carlson Date: 2023-11-29 (Wed, 29 Nov 2023) Changed paths: M Source/WebCore/Modules/mediastream/ImageCapture.cpp M Source/WebCore/Modules/mediastream/ImageCapture.h M Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp M Source/WebCore/Modules/mediastream/MediaStreamTrack.h M Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp M Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.h M Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSource.h M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm M Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp M Source/WebCore/platform/mock/MockRealtimeVideoSource.h M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.h M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.cpp M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.h M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.cpp M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h Log Message: --- [MediaStream] Cleanup getPhotoSettings and getPhotoCapabilities https://bugs.webkit.org/show_bug.cgi?id=265497 rdar://118909014 Reviewed by Jean-Yves Avenard. Don't pass the DOMPromise outside of ImageCapture, have MediaStreamTrack and below pass and return a NativePromise. * Source/WebCore/Modules/mediastream/ImageCapture.cpp: (WebCore::ImageCapture::getPhotoCapabilities): (WebCore::ImageCapture::getPhotoSettings): * Source/WebCore/Modules/mediastream/ImageCapture.h: * Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp: (WebCore::MediaStreamTrack::getPhotoCapabilities): (WebCore::MediaStreamTrack::getPhotoSettings): * Source/WebCore/Modules/mediastream/MediaStreamTrack.h: * Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp: (WebCore::MediaStreamTrackPrivate::getPhotoCapabilities): * Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.h: * Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp: (WebCore::RealtimeMediaSource::getPhotoCapabilities): * Source/WebCore/platform/mediastream/RealtimeMediaSource.h: (WebCore::PhotoCapabilitiesOrError::PhotoCapabilitiesOrError): Deleted. (WebCore::PhotoCapabilitiesOrError::operator bool const): Deleted. * Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h: * Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm: (WebCore::AVVideoCaptureSource::getPhotoCapabilities): * Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp: (WebCore::MockRealtimeVideoSource::getPhotoCapabilities): * Source/WebCore/platform/mock/MockRealtimeVideoSource.h: * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp: (WebKit::UserMediaCaptureManagerProxy::SourceProxy::getPhotoCapabilities): (WebKit::UserMediaCaptureManagerProxy::getPhotoCapabilities): * Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.h: * Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in: * Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.cpp: (WebKit::RemoteRealtimeMediaSource::getPhotoCapabilities): * Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.h: * Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.cpp: (WebKit::RemoteRealtimeMediaSourceProxy::getPhotoCapabilities): * Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h: Canonical link: https://commits.webkit.org/271314@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9ebaa6: [Media] Don't try to loop if current time or durat...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9ebaa6b42015ecbc62dcd42710bbb0c571f8d8ba https://github.com/WebKit/WebKit/commit/9ebaa6b42015ecbc62dcd42710bbb0c571f8d8ba Author: Eric Carlson Date: 2023-11-28 (Tue, 28 Nov 2023) Changed paths: M Source/WebCore/html/HTMLMediaElement.cpp Log Message: --- [Media] Don't try to loop if current time or duration is zero https://bugs.webkit.org/show_bug.cgi?id=265485 rdar://118902468 Reviewed by Jer Noble. Don't loop if current time or duration is zero. * Source/WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Canonical link: https://commits.webkit.org/271256@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 82bd65: [ImageCapture] Add runtime logging
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 82bd651c8ed19eb8c7db8152f9a9d1990305d638 https://github.com/WebKit/WebKit/commit/82bd651c8ed19eb8c7db8152f9a9d1990305d638 Author: Eric Carlson Date: 2023-11-28 (Tue, 28 Nov 2023) Changed paths: M Source/WebCore/Modules/mediastream/ImageCapture.cpp M Source/WebCore/Modules/mediastream/ImageCapture.h M Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp M Source/WebCore/Modules/mediastream/MediaStreamTrack.h Log Message: --- [ImageCapture] Add runtime logging https://bugs.webkit.org/show_bug.cgi?id=265452 rdar://118879100 Reviewed by Youenn Fablet. Add runtime logging to help diagnose future errors and failures. * Source/WebCore/Modules/mediastream/ImageCapture.cpp: (WebCore::ImageCapture::ImageCapture): (WebCore::ImageCapture::takePhoto): (WebCore::ImageCapture::getPhotoCapabilities): (WebCore::ImageCapture::getPhotoSettings): (WebCore::ImageCapture::logChannel const): * Source/WebCore/Modules/mediastream/ImageCapture.h: (WebCore::ImageCapture::logger const): (WebCore::ImageCapture::logIdentifier const): (WebCore::ImageCapture::logClassName const): * Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp: (WebCore::MediaStreamTrack::getPhotoCapabilities const): (WebCore::MediaStreamTrack::getPhotoSettings const): Canonical link: https://commits.webkit.org/271229@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0454da: [MediaStream] Address review comments after 270621...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0454dad1fb7bd693076bce3a6102e11aa0d0e29f https://github.com/WebKit/WebKit/commit/0454dad1fb7bd693076bce3a6102e11aa0d0e29f Author: Eric Carlson Date: 2023-11-27 (Mon, 27 Nov 2023) Changed paths: M Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm M Source/WebCore/platform/mock/MockRealtimeVideoSource.h M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp Log Message: --- [MediaStream] Address review comments after 270621@main https://bugs.webkit.org/show_bug.cgi?id=265378 rdar://118832787 Reviewed by Youenn Fablet. * Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp: (WebCore::MediaStreamTrack::applyConstraints): Resolve or reject promise in a task. (WebCore::MediaStreamTrack::trackEnded): Wrap long comment. * Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm: (WebCore::AVVideoCaptureSource::resolvePendingPhotoRequest): Log an error message if there is no producer. (WebCore::AVVideoCaptureSource::rejectPendingPhotoRequest): Ditto. (WebCore::AVVideoCaptureSource::captureOutputDidFinishProcessingPhoto): Return early if capture fails. * Source/WebCore/platform/mock/MockRealtimeVideoSource.h: (WebCore::MockRealtimeVideoSource::DrawingState::DrawingState): Add `explicit` * Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp: (WebKit::UserMediaCaptureManagerProxy::takePhoto): Canonical link: https://commits.webkit.org/271155@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6b87ac: [MediaStream] Add support for ImageCapture.takePhoto
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6b87ac816d8acb2ee9016d88e7a5d639b19e5818 https://github.com/WebKit/WebKit/commit/6b87ac816d8acb2ee9016d88e7a5d639b19e5818 Author: Eric Carlson Date: 2023-11-12 (Sun, 12 Nov 2023) Changed paths: A LayoutTests/fast/mediastream/image-capture-take-photo-expected.txt A LayoutTests/fast/mediastream/image-capture-take-photo.html M Source/WebCore/Modules/mediastream/ImageCapture.cpp M Source/WebCore/Modules/mediastream/ImageCapture.h M Source/WebCore/Modules/mediastream/ImageCapture.idl M Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp M Source/WebCore/Modules/mediastream/MediaStreamTrack.h M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm M Source/WebCore/dom/TaskSource.h M Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp M Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.h M Source/WebCore/platform/mediastream/PhotoSettings.h M Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSource.h M Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.cpp M Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.h M Source/WebCore/platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm M Source/WebCore/platform/mediastream/mac/MockRealtimeVideoSourceMac.mm M Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp M Source/WebCore/platform/mock/MockRealtimeVideoSource.h M Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.h M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.cpp M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.h M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.cpp M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h Log Message: --- [MediaStream] Add support for ImageCapture.takePhoto https://bugs.webkit.org/show_bug.cgi?id=262467 rdar://116322637 Reviewed by Youenn Fablet. Implement ImageCapture.takePhoto in AVVideoCaptureSource and MockRealtimeVideoSource. We reconfigure the capture source when asked for a photo larger than the current preset, so it always returns an image at least as large as the requested size, but it doesn't yet resize the image if the requested size doesn't exactly match the preset. Taking a photo is an asynchronous operation that can take an arbitrary amount of time, so we don't do it on the main thread. Because we may need to reconfigure the capture device to take a photo with the requested settings, we need to prevent the capture device from being reconfigured by `applyConstraints` while a photo is being generated. To do this we serialize calls to `takePhoto` and `applyConstraints` so they don't interfere with one another. * LayoutTests/fast/mediastream/image-capture-take-photo-expected.txt: Added. * LayoutTests/fast/mediastream/image-capture-take-photo.html: Added. * Source/WebCore/Modules/mediastream/ImageCapture.cpp: (WebCore::ImageCapture::takePhoto): * Source/WebCore/Modules/mediastream/ImageCapture.h: * Source/WebCore/Modules/mediastream/ImageCapture.idl: * Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp: (WebCore::MediaStreamTrack::stopTrack): (WebCore::MediaStreamTrack::queueAndProcessSerialAction): (WebCore::MediaStreamTrack::processNextSerialAction): (WebCore::MediaStreamTrack::takePhoto): (WebCore::MediaStreamTrack::applyConstraints): * Source/WebCore/Modules/mediastream/MediaStreamTrack.h: * Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h: * Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm: * Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp: (WebCore::MediaStreamTrackPrivate::takePhoto): * Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.h: * Source/WebCore/platform/mediastream/PhotoSettings.h: (WebCore::operator==): * Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp: (WebCore::RealtimeMediaSource::takePhoto): * Source/WebCore/platform/mediastream/RealtimeMediaSource.h: * Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.cpp: (WebCore::RealtimeVideoCaptureSource::bestSupportedSizeFrameRateAndZoomConsideringObservers): (WebCore::RealtimeVideoCaptureSource::setSizeFrameRateAndZoom): (WebCore::RealtimeVideoCaptureSource::takePhotoInternal): (WebCore::RealtimeVideoCaptureSource::takePhoto): * Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.h: * Source/WebCore/plat
[webkit-changes] [WebKit/WebKit] c4121d: REGRESSION(261180@main?): [ Sonoma ] TestWebKitAPI...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c4121dd7d23a83ebdaf9592cb4e6ce0d6c6564cc https://github.com/WebKit/WebKit/commit/c4121dd7d23a83ebdaf9592cb4e6ce0d6c6564cc Author: Eric Carlson Date: 2023-10-25 (Wed, 25 Oct 2023) Changed paths: M Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.h M Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.mm M Source/WebKit/UIProcess/mac/UserMediaPermissionRequestProxyMac.mm Log Message: --- REGRESSION(261180@main?): [ Sonoma ] TestWebKitAPI.GetDisplayMediaTest.SystemCanPrompt is constantly failing. https://bugs.webkit.org/show_bug.cgi?id=263098 rdar://116893261 Reviewed by Jean-Yves Avenard. The `systemCanPromptForTesting` setting should override the `requireUAGetDisplayMediaPrompt` preference. * Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.h: (WebKit::DisplayCaptureSessionManager::overrideCanRequestDisplayCapturePermissionForTesting const): * Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.mm: (WebKit::DisplayCaptureSessionManager::canRequestDisplayCapturePermission): * Source/WebKit/UIProcess/mac/UserMediaPermissionRequestProxyMac.mm: (WebKit::UserMediaPermissionRequestProxyMac::canRequestDisplayCapturePermission): Canonical link: https://commits.webkit.org/269789@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e3abef: [MediaStream] Add support for ImageCapture.getPhot...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e3abeffd3a45dc0db29736fb462089f85c906a00 https://github.com/WebKit/WebKit/commit/e3abeffd3a45dc0db29736fb462089f85c906a00 Author: Eric Carlson Date: 2023-10-05 (Thu, 05 Oct 2023) Changed paths: A LayoutTests/fast/mediastream/image-capture-get-photo-settings-expected.txt A LayoutTests/fast/mediastream/image-capture-get-photo-settings.html M Source/WebCore/CMakeLists.txt M Source/WebCore/DerivedSources.make M Source/WebCore/Headers.cmake M Source/WebCore/Modules/mediastream/ImageCapture.cpp M Source/WebCore/Modules/mediastream/ImageCapture.h M Source/WebCore/Modules/mediastream/ImageCapture.idl M Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp M Source/WebCore/Modules/mediastream/MediaStreamTrack.h A Source/WebCore/Modules/mediastream/PhotoSettings.idl M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp M Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.h A Source/WebCore/platform/mediastream/PhotoSettings.h M Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSource.h M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm M Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp M Source/WebCore/platform/mock/MockRealtimeVideoSource.h M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.h M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.cpp M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.h M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.cpp M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h Log Message: --- [MediaStream] Add support for ImageCapture.getPhotoSettings https://bugs.webkit.org/show_bug.cgi?id=262466 rdar://116322614 Reviewed by Youenn Fablet. Add ImageCapture.getPhotoSettings and implement support in MockRealtimeVideoSource and AVVideoCaptureSource. * LayoutTests/fast/mediastream/image-capture-get-photo-settings-expected.txt: Added. * LayoutTests/fast/mediastream/image-capture-get-photo-settings.html: Added. * Source/WebCore/DerivedSources.make: * Source/WebCore/Modules/mediastream/ImageCapture.cpp: (WebCore::ImageCapture::getPhotoSettings): * Source/WebCore/Modules/mediastream/ImageCapture.h: * Source/WebCore/Modules/mediastream/ImageCapture.idl: * Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp: (WebCore::MediaStreamTrack::getPhotoSettings const): * Source/WebCore/Modules/mediastream/MediaStreamTrack.h: * Source/WebCore/Modules/mediastream/PhotoSettings.idl: Added. * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp: (WebCore::MediaStreamTrackPrivate::getPhotoSettings): * Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.h: * Source/WebCore/platform/mediastream/PhotoSettings.h: Added. * Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp: (WebCore::RealtimeMediaSource::getPhotoSettings): * Source/WebCore/platform/mediastream/RealtimeMediaSource.h: (WebCore::PhotoSettingsOrError::PhotoSettingsOrError): (WebCore::PhotoSettingsOrError::operator bool const): * Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h: * Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm: (WebCore::toFillLightMode): (WebCore::AVVideoCaptureSource::getPhotoSettings): * Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp: (WebCore::MockRealtimeVideoSource::getPhotoSettings): (WebCore::MockRealtimeVideoSource::settingsDidChange): * Source/WebCore/platform/mock/MockRealtimeVideoSource.h: * Source/WebKit/Scripts/webkit/messages.py: (headers_for_type): * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp: (WebKit::UserMediaCaptureManagerProxy::SourceProxy::getPhotoSettings): (WebKit::UserMediaCaptureManagerProxy::getPhotoSettings): * Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.h: * Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in: * Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.cpp: (WebKit::RemoteRealtimeMediaSource::getPhotoSettings): * Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.h: * Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.cpp: (WebKit::RemoteRealtimeMediaSourceProxy::getPhotoSettings): * Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h: Canonical link
[webkit-changes] [WebKit/WebKit] 9c0b10: [MediaStream] Add support for torch
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9c0b105d80212675839a00325b58df55f408f1c0 https://github.com/WebKit/WebKit/commit/9c0b105d80212675839a00325b58df55f408f1c0 Author: Eric Carlson Date: 2023-10-04 (Wed, 04 Oct 2023) Changed paths: M LayoutTests/fast/mediastream/MediaStreamTrack-getCapabilities-expected.txt A LayoutTests/fast/mediastream/mediastreamtrack-video-torch-expected.txt A LayoutTests/fast/mediastream/mediastreamtrack-video-torch.html M Source/WebCore/Modules/mediastream/MediaDevices.cpp M Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp M Source/WebCore/Modules/mediastream/MediaStreamTrack.h M Source/WebCore/Modules/mediastream/MediaStreamTrack.idl M Source/WebCore/Modules/mediastream/MediaTrackCapabilities.cpp M Source/WebCore/Modules/mediastream/MediaTrackCapabilities.h M Source/WebCore/Modules/mediastream/MediaTrackCapabilities.idl M Source/WebCore/Modules/mediastream/MediaTrackConstraints.cpp M Source/WebCore/Modules/mediastream/MediaTrackConstraints.h M Source/WebCore/Modules/mediastream/MediaTrackConstraints.idl M Source/WebCore/Modules/mediastream/MediaTrackSupportedConstraints.h M Source/WebCore/Modules/mediastream/MediaTrackSupportedConstraints.idl M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm M Source/WebCore/platform/mediastream/MediaConstraints.cpp M Source/WebCore/platform/mediastream/MediaConstraints.h M Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSource.h M Source/WebCore/platform/mediastream/RealtimeMediaSourceCapabilities.h M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSourceSettings.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSourceSettings.h M Source/WebCore/platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSourceSupportedConstraints.h M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm M Source/WebCore/platform/mock/MockMediaDevice.h M Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp M Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in Log Message: --- [MediaStream] Add support for torch https://bugs.webkit.org/show_bug.cgi?id=262131 rdar://116066837 Reviewed by Youenn Fablet. Add support for `torch` to MediaTrackCapabilities and MediaTrackSettings, and expose 'torch' as a supported constraint in MockRealtimeVideoSource and AVVideoCaptureSource. * LayoutTests/fast/mediastream/MediaStreamTrack-getCapabilities-expected.txt: * LayoutTests/fast/mediastream/mediastreamtrack-video-torch-expected.txt: Added. * LayoutTests/fast/mediastream/mediastreamtrack-video-torch.html: Added. * Source/WebCore/Modules/mediastream/MediaDevices.cpp: (WebCore::hasInvalidGetDisplayMediaConstraint): * Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp: (WebCore::MediaStreamTrack::getSettings const): * Source/WebCore/Modules/mediastream/MediaStreamTrack.h: * Source/WebCore/Modules/mediastream/MediaStreamTrack.idl: * Source/WebCore/Modules/mediastream/MediaTrackCapabilities.cpp: (WebCore::toMediaTrackCapabilities): * Source/WebCore/Modules/mediastream/MediaTrackCapabilities.h: * Source/WebCore/Modules/mediastream/MediaTrackCapabilities.idl: * Source/WebCore/Modules/mediastream/MediaTrackConstraints.cpp: (WebCore::convertToInternalForm): * Source/WebCore/Modules/mediastream/MediaTrackConstraints.h: * Source/WebCore/Modules/mediastream/MediaTrackConstraints.idl: * Source/WebCore/Modules/mediastream/MediaTrackSupportedConstraints.h: * Source/WebCore/Modules/mediastream/MediaTrackSupportedConstraints.idl: * Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h: * Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm: * Source/WebCore/platform/mediastream/MediaConstraints.cpp: (WebCore::MediaTrackConstraintSetMap::filter const): (WebCore::MediaTrackConstraintSetMap::set): * Source/WebCore/platform/mediastream/MediaConstraints.h: (WebCore::MediaTrackConstraintSetMap::aspectRatio const): (WebCore::MediaTrackConstraintSetMap::facingMode const): (WebCore::MediaTrackConstraintSetMap::whiteBalanceMode const): (WebCore::MediaTrackConstraintSetMap::zoom const): (WebCore::MediaTrackConstraintSetMap::torch const): * Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp: (WebCore::RealtimeMediaSource::fitnessDistance): (WebCore::RealtimeMediaSource::applyConstraint): (WebCore::RealtimeMediaSource::supportsConstraint): (WebCore::RealtimeMediaSource::supportsConstraints): (WebCore::RealtimeMediaSource::setTorch): * Source/WebCore/platform/m
[webkit-changes] [WebKit/WebKit] 3f6e79: [MediaStream] Add support for ImageCapture
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3f6e79379d24178b2b960edee30ea00d4ec792f2 https://github.com/WebKit/WebKit/commit/3f6e79379d24178b2b960edee30ea00d4ec792f2 Author: Eric Carlson Date: 2023-10-02 (Mon, 02 Oct 2023) Changed paths: A LayoutTests/fast/mediastream/image-capture-creation-expected.txt A LayoutTests/fast/mediastream/image-capture-creation.html A LayoutTests/fast/mediastream/image-capture-get-photo-capabilities-expected.txt A LayoutTests/fast/mediastream/image-capture-get-photo-capabilities.html M Source/WebCore/CMakeLists.txt M Source/WebCore/DerivedSources-input.xcfilelist M Source/WebCore/DerivedSources-output.xcfilelist M Source/WebCore/DerivedSources.make M Source/WebCore/Headers.cmake A Source/WebCore/Modules/mediastream/FillLightMode.idl A Source/WebCore/Modules/mediastream/ImageCapture.cpp A Source/WebCore/Modules/mediastream/ImageCapture.h A Source/WebCore/Modules/mediastream/ImageCapture.idl A Source/WebCore/Modules/mediastream/MediaSettingsRange.idl M Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp M Source/WebCore/Modules/mediastream/MediaStreamTrack.h R Source/WebCore/Modules/mediastream/MeteringMode.h A Source/WebCore/Modules/mediastream/PhotoCapabilities.idl A Source/WebCore/Modules/mediastream/RedEyeReduction.idl M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/bindings/js/WebCoreBuiltinNames.h A Source/WebCore/platform/mediastream/FillLightMode.h A Source/WebCore/platform/mediastream/MediaSettingsRange.h M Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp M Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.h A Source/WebCore/platform/mediastream/MeteringMode.h A Source/WebCore/platform/mediastream/PhotoCapabilities.h M Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSource.h A Source/WebCore/platform/mediastream/RedEyeReduction.h M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm M Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp M Source/WebCore/platform/mock/MockRealtimeVideoSource.h M Source/WebKit/Scripts/webkit/messages.py M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.h M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.cpp M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.h M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.cpp M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h Log Message: --- [MediaStream] Add support for ImageCapture https://bugs.webkit.org/show_bug.cgi?id=262412 rdar://116261148 Reviewed by Jean-Yves Avenard. Add the ImageCapture object, implement the getPhotoCapabilities method. * LayoutTests/fast/mediastream/image-capture-creation-expected.txt: Added. * LayoutTests/fast/mediastream/image-capture-creation.html: Added. * LayoutTests/fast/mediastream/image-capture-get-photo-capabilities-expected.txt: Added. * LayoutTests/fast/mediastream/image-capture-get-photo-capabilities.html: Added. * Source/WebCore/CMakeLists.txt: * Source/WebCore/DerivedSources-input.xcfilelist: * Source/WebCore/DerivedSources-output.xcfilelist: * Source/WebCore/DerivedSources.make: * Source/WebCore/Headers.cmake: * Source/WebCore/Modules/mediastream/FillLightMode.idl: Copied from Source/WebCore/Modules/mediastream/MeteringMode.h. * Source/WebCore/Modules/mediastream/ImageCapture.cpp: Added. (WebCore::ImageCapture::create): (WebCore::ImageCapture::ImageCapture): (WebCore::ImageCapture::getPhotoCapabilities): (WebCore::ImageCapture::activeDOMObjectName const): * Source/WebCore/Modules/mediastream/ImageCapture.h: Added. (WebCore::ImageCapture::track const): * Source/WebCore/Modules/mediastream/ImageCapture.idl: Added. * Source/WebCore/Modules/mediastream/MediaSettingsRange.idl: Copied from Source/WebCore/Modules/mediastream/MeteringMode.h. * Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp: (WebCore::MediaStreamTrack::getPhotoCapabilities const): * Source/WebCore/Modules/mediastream/MediaStreamTrack.h: * Source/WebCore/Modules/mediastream/PhotoCapabilities.idl: Copied from Source/WebCore/Modules/mediastream/MeteringMode.h. * Source/WebCore/Modules/mediastream/RedEyeReduction.idl: Copied from Source/WebCore/Modules/mediastream/MeteringMode.h. * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/bindings/js/WebCoreBuiltinNames.h: * Source/WebCore/platform/mediastream/FillLightMode.h: * Source
[webkit-changes] [WebKit/WebKit] 351ec2: [MediaStream] Add support for whiteBalanceMode
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 351ec2749d2563ff7aa631bcdcabcc58240a3889 https://github.com/WebKit/WebKit/commit/351ec2749d2563ff7aa631bcdcabcc58240a3889 Author: Eric Carlson Date: 2023-09-18 (Mon, 18 Sep 2023) Changed paths: M LayoutTests/fast/mediastream/MediaStreamTrack-getCapabilities-expected.txt M LayoutTests/fast/mediastream/MediaStreamTrack-getCapabilities.html A LayoutTests/fast/mediastream/mediastreamtrack-video-white-balance-mode-expected.txt A LayoutTests/fast/mediastream/mediastreamtrack-video-white-balance-mode.html M Source/WebCore/CMakeLists.txt M Source/WebCore/DerivedSources-input.xcfilelist M Source/WebCore/DerivedSources-output.xcfilelist M Source/WebCore/DerivedSources.make M Source/WebCore/Headers.cmake M Source/WebCore/Modules/mediastream/MediaDevices.cpp M Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp M Source/WebCore/Modules/mediastream/MediaStreamTrack.h M Source/WebCore/Modules/mediastream/MediaStreamTrack.idl M Source/WebCore/Modules/mediastream/MediaTrackCapabilities.cpp M Source/WebCore/Modules/mediastream/MediaTrackCapabilities.h M Source/WebCore/Modules/mediastream/MediaTrackCapabilities.idl M Source/WebCore/Modules/mediastream/MediaTrackConstraints.cpp M Source/WebCore/Modules/mediastream/MediaTrackConstraints.h M Source/WebCore/Modules/mediastream/MediaTrackConstraints.idl M Source/WebCore/Modules/mediastream/MediaTrackSupportedConstraints.h M Source/WebCore/Modules/mediastream/MediaTrackSupportedConstraints.idl A Source/WebCore/Modules/mediastream/MeteringMode.h A Source/WebCore/Modules/mediastream/MeteringMode.idl M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/platform/mediastream/MediaConstraints.cpp M Source/WebCore/platform/mediastream/MediaConstraints.h M Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSource.h M Source/WebCore/platform/mediastream/RealtimeMediaSourceCapabilities.h M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSourceSettings.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSourceSettings.h M Source/WebCore/platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSourceSupportedConstraints.h M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm M Source/WebCore/platform/mock/MockMediaDevice.h M Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp M Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in Log Message: --- [MediaStream] Add support for whiteBalanceMode https://bugs.webkit.org/show_bug.cgi?id=261602 rdar://115552800 Reviewed by Youenn Fablet. Add support for MediaTrackCapabilities `whiteBalanceMode` and expose 'whiteBalanceMode' as a supported constraint. Update mock camera to support whiteBalanceMode and add new test. * LayoutTests/fast/mediastream/MediaStreamTrack-getCapabilities-expected.txt: * LayoutTests/fast/mediastream/MediaStreamTrack-getCapabilities.html: * LayoutTests/fast/mediastream/mediastreamtrack-video-white-balance-mode-expected.txt: Added. * LayoutTests/fast/mediastream/mediastreamtrack-video-white-balance-mode.html: Added. * Source/WebCore/DerivedSources-input.xcfilelist: * Source/WebCore/DerivedSources-output.xcfilelist: * Source/WebCore/DerivedSources.make: * Source/WebCore/Headers.cmake: * Source/WebCore/Modules/mediastream/MediaDevices.cpp: (WebCore::hasInvalidGetDisplayMediaConstraint): (WebCore::MediaDevices::getSupportedConstraints): * Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp: (WebCore::MediaStreamTrack::getSettings const): * Source/WebCore/Modules/mediastream/MediaStreamTrack.h: * Source/WebCore/Modules/mediastream/MediaStreamTrack.idl: * Source/WebCore/Modules/mediastream/MediaTrackCapabilities.cpp: (WebCore::capabilityStringVector): (WebCore::toMediaTrackCapabilities): * Source/WebCore/Modules/mediastream/MediaTrackCapabilities.h: * Source/WebCore/Modules/mediastream/MediaTrackCapabilities.idl: * Source/WebCore/Modules/mediastream/MediaTrackConstraints.cpp: (WebCore::convertToInternalForm): * Source/WebCore/Modules/mediastream/MediaTrackConstraints.h: * Source/WebCore/Modules/mediastream/MediaTrackConstraints.idl: * Source/WebCore/Modules/mediastream/MediaTrackSupportedConstraints.h: * Source/WebCore/Modules/mediastream/MediaTrackSupportedConstraints.idl: * Source/WebCore/Modules/mediastream/MeteringMode.h: New. * Source/WebCore/Modules/mediastream/MeteringMode.idl: New. * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Sour
[webkit-changes] [WebKit/WebKit] d0ef72: Remove debug-only asserts added in 266304@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d0ef72caf9de05f7e1a710aa63d947e140b5492c https://github.com/WebKit/WebKit/commit/d0ef72caf9de05f7e1a710aa63d947e140b5492c Author: Eric Carlson Date: 2023-09-08 (Fri, 08 Sep 2023) Changed paths: M Source/WebKit/WebProcess/cocoa/VideoFullscreenManager.mm Log Message: --- Remove debug-only asserts added in 266304@main https://bugs.webkit.org/show_bug.cgi?id=261343 rdar://113674840 Reviewed by Jer Noble. The asserts added in https://commits.webkit.org/266304@main test a condition that sometimes happens because we fire the end fullscreen event *before* exiting fullscreen to allow the page to restore the video element size/position so the exit fullscreen animation looks correct. The condition isn't a problem because already we call the completion handler and return early when it is true. * Source/WebKit/WebProcess/cocoa/VideoFullscreenManager.mm: (WebKit::VideoFullscreenManager::exitVideoFullscreenForVideoElement): (WebKit::VideoFullscreenManager::exitVideoFullscreenToModeWithoutAnimation): Canonical link: https://commits.webkit.org/267807@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f9b6f9: [iOS] Don't crash if -[LSBundleProxy bundleIdentif...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f9b6f92885015e79ba95513019cdd7248f62972c https://github.com/WebKit/WebKit/commit/f9b6f92885015e79ba95513019cdd7248f62972c Author: Eric Carlson Date: 2023-09-05 (Tue, 05 Sep 2023) Changed paths: M Source/WebCore/platform/audio/ios/AudioSessionIOS.mm Log Message: --- [iOS] Don't crash if -[LSBundleProxy bundleIdentifier] returns nil https://bugs.webkit.org/show_bug.cgi?id=261162 rdar://114802443 Reviewed by Andy Estes. (WebCore::AudioSessionIOS::setHostProcessAttribution): Log an error message and return early if -[LSBundleProxy bundleIdentifier] returns nil. Canonical link: https://commits.webkit.org/267659@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 362ae6: [iOS] Don't crash if -[LSBundleProxy bundleIdentif...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 362ae6dc9ae1b509a7c026cfcde64cad07e9db9e https://github.com/WebKit/WebKit/commit/362ae6dc9ae1b509a7c026cfcde64cad07e9db9e Author: Eric Carlson Date: 2023-09-05 (Tue, 05 Sep 2023) Changed paths: M Source/WebCore/platform/audio/ios/AudioSessionIOS.mm Log Message: --- [iOS] Don't crash if -[LSBundleProxy bundleIdentifier] returns nil https://bugs.webkit.org/show_bug.cgi?id=261162 rdar://114802443 Reviewed by Jean-Yves Avenard. * Source/WebCore/platform/audio/ios/AudioSessionIOS.mm: (WebCore::AudioSessionIOS::setHostProcessAttribution): Log an error message and return early if -[LSBundleProxy bundleIdentifier] returns nil. Canonical link: https://commits.webkit.org/267651@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 855292: [Cocoa] Window/screen picker is not shown when ano...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 855292ca7929c7ff9898d55b05d0d6d4b8488f09 https://github.com/WebKit/WebKit/commit/855292ca7929c7ff9898d55b05d0d6d4b8488f09 Author: Eric Carlson Date: 2023-08-25 (Fri, 25 Aug 2023) Changed paths: M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm Log Message: --- [Cocoa] Window/screen picker is not shown when another SCStream is active https://bugs.webkit.org/show_bug.cgi?id=260735 rdar://114467908 Reviewed by Jer Noble. `SCContentSharingPicker.maximumStreamCount` controls the maximum number of SCStreams that can be active in a process. WebKit should allow an arbitrary number of window/screen streams to be created, so set it to std::numeric_limits::max(). * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm: (WebCore::ScreenCaptureKitSharingSessionManager::promptWithSCContentSharingPicker): Canonical link: https://commits.webkit.org/267301@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 52ced8: [macOS] Suppress the SCStream privacy alert
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 52ced8d1a83a8e33d01115262b01a55ec3e0b0ff https://github.com/WebKit/WebKit/commit/52ced8d1a83a8e33d01115262b01a55ec3e0b0ff Author: Eric Carlson Date: 2023-08-07 (Mon, 07 Aug 2023) Changed paths: M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm Log Message: --- [macOS] Suppress the SCStream privacy alert https://bugs.webkit.org/show_bug.cgi?id=259889 rdar://113510677 Reviewed by Andy Estes. WebKit only allows one tab to capture at a time, so the SCStream privacy alert is confusing and unnecessary. * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm: (WebCore::ScreenCaptureKitCaptureSource::streamConfiguration): Set `configuration.presenterOverlayPrivacyAlertSetting` to `SCPresenterOverlayAlertSettingNever` Canonical link: https://commits.webkit.org/21@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3eac88: [macOS] Present SCKit picker with `-[SCContentShar...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3eac88b8c6c7480b19d42446a58284fa8b4439b2 https://github.com/WebKit/WebKit/commit/3eac88b8c6c7480b19d42446a58284fa8b4439b2 Author: Eric Carlson Date: 2023-08-07 (Mon, 07 Aug 2023) Changed paths: M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm Log Message: --- [macOS] Present SCKit picker with `-[SCContentSharingPicker presentPickerUsingContentStyle:]` https://bugs.webkit.org/show_bug.cgi?id=259851 rdar://113424298 Reviewed by Andy Estes. * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm: (WebCore::ScreenCaptureKitSharingSessionManager::promptWithSCContentSharingPicker): Call `-[SCContentSharingPicker presentPickerUsingContentStyle:]` when it is available and we are supposed to limit picking to either window or screen. Canonical link: https://commits.webkit.org/266640@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a41543: InputDevice capabilities are not required until ca...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a41543cba4bf7e50a7b5f873eaf84a449974cdce https://github.com/WebKit/WebKit/commit/a41543cba4bf7e50a7b5f873eaf84a449974cdce Author: Eric Carlson Date: 2023-08-04 (Fri, 04 Aug 2023) Changed paths: M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp Log Message: --- InputDevice capabilities are not required until capture is active https://bugs.webkit.org/show_bug.cgi?id=259814 rdar://113271473 Reviewed by Jer Noble. InputDevice capabilities are not exposed until after the user has given consent to capture, so don't bother asking for them unless they will be revealed as activating the AVAudioSession may change the characteristics of the audio rendering in other processes. * Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp: (WebKit::UserMediaPermissionRequestManagerProxy::platformGetMediaStreamDevices): Canonical link: https://commits.webkit.org/266581@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 83a656: [ macOS Debug WK2 ] ASSERT call in RenderVTTCue.cp...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 83a6562ec0c7855fbbeb1f50ea2f16034c504317 https://github.com/WebKit/WebKit/commit/83a6562ec0c7855fbbeb1f50ea2f16034c504317 Author: Eric Carlson Date: 2023-08-02 (Wed, 02 Aug 2023) Changed paths: M LayoutTests/platform/mac-wk2/TestExpectations M Source/WebCore/rendering/RenderVTTCue.cpp Log Message: --- [ macOS Debug WK2 ] ASSERT call in RenderVTTCue.cpp causing flaky crash (media/modern-media-controls/tracks-support/text-track-selected-via-media-api.html) https://bugs.webkit.org/show_bug.cgi?id=259544 rdar://112951082 Reviewed by Jer Noble. Remove two unneeded asserts. Both checked a condition that is commonly encountered and which is not dangerous or harmful. * LayoutTests/platform/mac-wk2/TestExpectations: Unskip test. * Source/WebCore/rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::repositionCueSnapToLinesSet): Remove assert. (WebCore::RenderVTTCue::repositionGenericCue): Ditto. Canonical link: https://commits.webkit.org/266513@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a21e7f: REGRESSION(259969@main): wpt /screen-capture/getdi...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a21e7fccf8e59e780467b0eaa9739d0c63e8bafa https://github.com/WebKit/WebKit/commit/a21e7fccf8e59e780467b0eaa9739d0c63e8bafa Author: Eric Carlson Date: 2023-08-01 (Tue, 01 Aug 2023) Changed paths: M Source/WebCore/Headers.cmake A Source/WebCore/Modules/mediastream/MediaAccessDenialReason.h M Source/WebCore/Modules/mediastream/UserMediaRequest.cpp M Source/WebCore/Modules/mediastream/UserMediaRequest.h M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSource.h M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h M Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.cpp M Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.h M Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp M Source/WebCore/platform/mediastream/gstreamer/GStreamerDisplayCaptureDeviceManager.cpp M Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp M Source/WebCore/platform/mediastream/gstreamer/MockDisplayCaptureSourceGStreamer.cpp M Source/WebCore/platform/mediastream/gstreamer/MockRealtimeAudioSourceGStreamer.cpp M Source/WebCore/platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp M Source/WebCore/platform/mediastream/ios/ReplayKitCaptureSource.h M Source/WebCore/platform/mediastream/ios/ReplayKitCaptureSource.mm M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm M Source/WebCore/platform/mediastream/mac/CGDisplayStreamScreenCaptureSource.h M Source/WebCore/platform/mediastream/mac/CGDisplayStreamScreenCaptureSource.mm M Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp M Source/WebCore/platform/mediastream/mac/MockAudioSharedUnit.mm M Source/WebCore/platform/mediastream/mac/MockRealtimeVideoSourceMac.mm M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.h M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm M Source/WebCore/platform/mock/MockRealtimeAudioSource.cpp M Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp M Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp M Source/WebKit/Scripts/webkit/messages.py M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.h M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in M Source/WebKit/UIProcess/SpeechRecognitionServer.cpp M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebProcessProxy.cpp M Source/WebKit/WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp M Source/WebKit/WebProcess/MediaStream/UserMediaPermissionRequestManager.h M Source/WebKit/WebProcess/WebPage/WebPage.cpp M Source/WebKit/WebProcess/cocoa/RemoteRealtimeAudioSource.cpp M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.cpp M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSource.h M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.cpp M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h Log Message: --- REGRESSION(259969@main): wpt /screen-capture/getdisplaymedia.https.html https://bugs.webkit.org/show_bug.cgi?id=259564 rdar://11297 Reviewed by Youenn Fablet. When a RealTimeMediaSource create function fails, return struct with a String and a failure code so we can create the correct type of exception when rejecting a getUserMedia or getDisplayMedia promise. Update a lot of plumbing to pass this struct around so we don't have to guess about what error code to use. * Source/WebCore/Headers.cmake: * Source/WebCore/Modules/mediastream/MediaAccessDenialReason.h: Added. * Source/WebCore/Modules/mediastream/UserMediaRequest.cpp: (WebCore::UserMediaRequest::allow): (WebCore::UserMediaRequest::deny): * Source/WebCore/Modules/mediastream/UserMediaRequest.h: (): Deleted. * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/platform/mediastream/RealtimeMediaSource.h: (WebCore::CaptureSourceError::CaptureSourceError): (WebCore::CaptureSourceError::operator bool const): (WebCore::CaptureSourceOrError::CaptureSourceOrError): (WebCore::CaptureSourceOrError::operator bool const): (WebCore::CaptureSourceOrError::source): (WebCore::RealtimeMediaSource::whenReady): * S
[webkit-changes] [WebKit/WebKit] 01d1f2: [macOS] Remove unneeded deprecated declaration gua...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 01d1f208e1d0f948abf664645d00e05ec7ca193c https://github.com/WebKit/WebKit/commit/01d1f208e1d0f948abf664645d00e05ec7ca193c Author: Eric Carlson Date: 2023-07-28 (Fri, 28 Jul 2023) Changed paths: M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm Log Message: --- [macOS] Remove unneeded deprecated declaration guards from ScreenCaptureKitCaptureSource https://bugs.webkit.org/show_bug.cgi?id=259596 rdar://113036793 Reviewed by Youenn Fablet. Remove unnecessary deprecated declaration guards from ScreenCaptureKitCaptureSource since it no longer used deprecated APIs. Minor cleanup of some logging. * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm: (WebCore::ScreenCaptureKitCaptureSource::streamConfiguration): Remove logging, all of the methods that call this already log. (WebCore::ScreenCaptureKitCaptureSource::commitConfiguration): Add logging so we know when the configuration is changed. Canonical link: https://commits.webkit.org/266402@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6f89f7: Overlapping VTTCues carried by InbandTextTrack (Le...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6f89f7891c5c2c079ee58270d0bc96c8457e4475 https://github.com/WebKit/WebKit/commit/6f89f7891c5c2c079ee58270d0bc96c8457e4475 Author: Eric Carlson Date: 2023-07-24 (Mon, 24 Jul 2023) Changed paths: A LayoutTests/http/tests/media/hls/track-in-band-multiple-cues-expected.txt A LayoutTests/http/tests/media/hls/track-in-band-multiple-cues.html A LayoutTests/http/tests/media/resources/hls/multiple-cues-per-sample/master.m3u8 A LayoutTests/http/tests/media/resources/hls/multiple-cues-per-sample/multiple0.vtt A LayoutTests/http/tests/media/resources/hls/multiple-cues-per-sample/multiple1.vtt A LayoutTests/http/tests/media/resources/hls/multiple-cues-per-sample/test-0.ts A LayoutTests/http/tests/media/resources/hls/multiple-cues-per-sample/test-1.ts A LayoutTests/http/tests/media/resources/hls/multiple-cues-per-sample/video.m3u8 A LayoutTests/http/tests/media/resources/hls/multiple-cues-per-sample/vtt.m3u8 M Source/WebCore/html/track/InbandGenericTextTrack.cpp M Source/WebCore/html/track/InbandGenericTextTrack.h M Source/WebCore/html/track/InbandTextTrack.h M Source/WebCore/html/track/TextTrackCue.h M Source/WebCore/platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp Log Message: --- Overlapping VTTCues carried by InbandTextTrack (LegibleOutput) does not handle correctly https://bugs.webkit.org/show_bug.cgi?id=251771 rdar://105372930 Reviewed by Jer Noble. Parse every cue in each CMSampleBuffer provided the the AVPlayerItemLegibleOutput delegate, not just the first one. * LayoutTests/http/tests/media/hls/track-in-band-multiple-cues-expected.txt: Added. * LayoutTests/http/tests/media/hls/track-in-band-multiple-cues.html: Added. * LayoutTests/http/tests/media/resources/hls/multiple-cues-per-sample/master.m3u8: Added. * LayoutTests/http/tests/media/resources/hls/multiple-cues-per-sample/multiple0.vtt: Added. * LayoutTests/http/tests/media/resources/hls/multiple-cues-per-sample/multiple1.vtt: Added. * LayoutTests/http/tests/media/resources/hls/multiple-cues-per-sample/test-0.ts: Added. * LayoutTests/http/tests/media/resources/hls/multiple-cues-per-sample/test-1.ts: Added. * LayoutTests/http/tests/media/resources/hls/multiple-cues-per-sample/video.m3u8: Added. * LayoutTests/http/tests/media/resources/hls/multiple-cues-per-sample/vtt.m3u8: Added. * Source/WebCore/html/track/InbandGenericTextTrack.cpp: (WebCore::InbandGenericTextTrack::cueToExtend): Look for an existing cue with the same contents and start time and duration within the allowed delta. (WebCore::InbandGenericTextTrack::newCuesParsed): Use cueToExtend. * Source/WebCore/html/track/InbandGenericTextTrack.h: * Source/WebCore/html/track/InbandTextTrack.h: * Source/WebCore/html/track/TextTrackCue.h: * Source/WebCore/platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp: (WebCore::InbandTextTrackPrivateAVF::processNativeSamples): There may be more than one cue in each CMSampleBuffer. Canonical link: https://commits.webkit.org/266260@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c44cb3: [macOS] Screen/window picker sometimes remains aft...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c44cb30770746f9750c34f9444895d1eaa549758 https://github.com/WebKit/WebKit/commit/c44cb30770746f9750c34f9444895d1eaa549758 Author: Eric Carlson Date: 2023-07-13 (Thu, 13 Jul 2023) Changed paths: M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.h M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm Log Message: --- [macOS] Screen/window picker sometimes remains after capture stops https://bugs.webkit.org/show_bug.cgi?id=259189 rdar://112195888 Reviewed by Youenn Fablet and Jer Noble. Deactivate the screen/window picker during session cleanup unless another picking session is active, so the menu is hidden when there are no active capture streams. * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm: (WebCore::ScreenCaptureKitCaptureSource::stop): Clear `m_sessionSource` immediately instead of in the stop lambda, there is no reason to wait. * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.h * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm: (WebCore::ScreenCaptureKitSharingSessionManager::cleanupSessionSource): If a prompt isn't active, call `cancelPicking` to cleanup. Canonical link: https://commits.webkit.org/266041@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 33ede2: [MediaStream] enumerateDevices should not expose d...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 33ede2d5891676cb59cdd61aa29ae5e82c60fc1b https://github.com/WebKit/WebKit/commit/33ede2d5891676cb59cdd61aa29ae5e82c60fc1b Author: Eric Carlson Date: 2023-07-11 (Tue, 11 Jul 2023) Changed paths: M Source/WebCore/platform/mediastream/CaptureDevice.h M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp M Source/WebKit/WebProcess/glib/UserMediaCaptureManager.cpp Log Message: --- [MediaStream] enumerateDevices should not expose devices that can not be used https://bugs.webkit.org/show_bug.cgi?id=258993 rdar://110210394 Reviewed by Youenn Fablet. Only include capabilities for InputDevices. * Source/WebCore/platform/mediastream/CaptureDevice.h: (WebCore::CaptureDevice::isInputDevice): * Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp: (WebCore::RealtimeMediaSourceCenter::getCapabilities): * Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp: (WebKit::UserMediaPermissionRequestManagerProxy::platformGetMediaStreamDevices): * Source/WebKit/WebProcess/glib/UserMediaCaptureManager.cpp: (WebKit::UserMediaCaptureManager::getMediaStreamDevices): Canonical link: https://commits.webkit.org/265947@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f45376: [MediaStream] enumerateDevices should not exposed ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f4537682e879e9aa3c5b76de6c4d547015e3993d https://github.com/WebKit/WebKit/commit/f4537682e879e9aa3c5b76de6c4d547015e3993d Author: Eric Carlson Date: 2023-07-10 (Mon, 10 Jul 2023) Changed paths: A LayoutTests/fast/mediastream/camera-invalid-device-expected.txt A LayoutTests/fast/mediastream/camera-invalid-device.html M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h M Source/WebCore/platform/mock/MockMediaDevice.h M Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/UIProcess/API/C/WKMockMediaDevice.cpp M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp M Source/WebKit/WebProcess/glib/UserMediaCaptureManager.cpp M Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl M Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp M Tools/WebKitTestRunner/InjectedBundle/TestRunner.h Log Message: --- [MediaStream] enumerateDevices should not exposed devices that can not be used https://bugs.webkit.org/show_bug.cgi?id=258993 rdar://110210394 Reviewed by Jer Noble and Youenn Fablet. `enumerateDevices` should only include devices that are available for capture, so make sure each device can be instantiated before including it. * LayoutTests/fast/mediastream/camera-invalid-device-expected.txt: Added. * LayoutTests/fast/mediastream/camera-invalid-device.html: Added. * Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp: (WebCore::RealtimeMediaSourceCenter::getCapabilities): Change to return a std::optional<> so it can signal failure. * Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h: * Source/WebCore/platform/mock/MockMediaDevice.h: (WebCore::MockMediaDevice::captureDevice const): Combine the existing `IsEphemeral` bool with the new `Invalid` flag into a "Flags" bitfield. (WebCore::MockMediaDevice::encode const): Encode the new flags variable. (WebCore::MockMediaDevice::decodeMockMediaDevice): Decode it. (WebCore::MockMediaDevice::decode): Ditto. * Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp: (WebCore::defaultDevices): Update for the struct change. (WebCore::MockRealtimeMediaSourceCenter::setDeviceIsEphemeral): Ditto. * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: Define the new bitfield. * Source/WebKit/UIProcess/API/C/WKMockMediaDevice.cpp: (WKAddMockMediaDevice): Both mock camera and microphone can now have properties. * Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp: (WebKit::UserMediaPermissionRequestManagerProxy::platformGetMediaStreamDevices): Don't include a device if `RealtimeMediaSourceCenter::getCapabilities` returns null. * Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::captureDeviceProperties): Convert the properties JS object to a WKDictionaryRef. (WTR::TestRunner::addMockCameraDevice): Call captureDeviceProperties. (WTR::TestRunner::addMockMicrophoneDevice): Add a properties parameter, call captureDeviceProperties to parse it. * Tools/WebKitTestRunner/InjectedBundle/TestRunner.h: Canonical link: https://commits.webkit.org/265923@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 7550c6: [macOS] Update ScreenCaptureKit API used
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7550c63a5a8bfdf3c3286f3d09d338af3bfc345a https://github.com/WebKit/WebKit/commit/7550c63a5a8bfdf3c3286f3d09d338af3bfc345a Author: Eric Carlson Date: 2023-07-03 (Mon, 03 Jul 2023) Changed paths: M Source/WebCore/PAL/pal/spi/mac/ScreenCaptureKitSPI.h M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm Log Message: --- [macOS] Update ScreenCaptureKit API used https://bugs.webkit.org/show_bug.cgi?id=257816 rdar://110408877 Reviewed by Youenn Fablet. Update to the most recent version of ScreenCaptureKit API. * Source/WebCore/PAL/pal/spi/mac/ScreenCaptureKitSPI.h: * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm: (-[WebDisplayMediaPromptHelper initWithCallback:]): (-[WebDisplayMediaPromptHelper contentSharingPicker:didCancelForStream:]): (-[WebDisplayMediaPromptHelper startObservingPicker:]): (-[WebDisplayMediaPromptHelper stopObservingPicker:]): (WebCore::ScreenCaptureKitSharingSessionManager::~ScreenCaptureKitSharingSessionManager): (WebCore::ScreenCaptureKitSharingSessionManager::cancelPicking): (WebCore::ScreenCaptureKitSharingSessionManager::promptWithSCContentSharingPicker): (-[WebDisplayMediaPromptHelper contentSharingPickerDidCancel:forStream:]): Deleted. Canonical link: https://commits.webkit.org/265722@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b9047a: [macOS] Support WebM files with no track ID
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b9047adba09699809e866ee7b8fc43ae92c763fe https://github.com/WebKit/WebKit/commit/b9047adba09699809e866ee7b8fc43ae92c763fe Author: Eric Carlson Date: 2023-06-22 (Thu, 22 Jun 2023) Changed paths: M Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp Log Message: --- [macOS] Support WebM files with no track ID https://bugs.webkit.org/show_bug.cgi?id=258402 rdar://110455790 Reviewed by Andy Estes and David Kilzer. Although WebM track ID is a required header field some otherwise valid files don't have them. MediaTrackReader requires a track ID, so create an ID when a file doesn't have one. * Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp: (WebKit::MediaFormatReader::didParseTracks): Canonical link: https://commits.webkit.org/265425@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b33ade: ASSERTION FAILED: firstChild():[ macOS ] media/tra...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b33adedfb11722f4b58923457939f6fabe613a4b https://github.com/WebKit/WebKit/commit/b33adedfb11722f4b58923457939f6fabe613a4b Author: Eric Carlson Date: 2023-06-22 (Thu, 22 Jun 2023) Changed paths: M Source/WebCore/rendering/RenderVTTCue.cpp Log Message: --- ASSERTION FAILED: firstChild():[ macOS ] media/track/track-cues-missed.html is a flaky test. https://bugs.webkit.org/show_bug.cgi?id=258183 rdar://110876540 Reviewed by Andy Estes. * Source/WebCore/rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::isOutside const): Return early if firstChild() return null. (WebCore::RenderVTTCue::isOverlapping const): Ditto. (WebCore::RenderVTTCue::overlappingObject const): Ditto. (WebCore::RenderVTTCue::moveIfNecessaryToKeepWithinContainer): Ditto. (WebCore::RenderVTTCue::findNonOverlappingPosition const): Ditto. Canonical link: https://commits.webkit.org/265420@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b76de3: [Cocoa] Assume the orientation of an "external unk...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b76de3885bc00051d230226e8e5bfdb7b3a34b46 https://github.com/WebKit/WebKit/commit/b76de3885bc00051d230226e8e5bfdb7b3a34b46 Author: Eric Carlson Date: 2023-06-12 (Mon, 12 Jun 2023) Changed paths: M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm Log Message: --- [Cocoa] Assume the orientation of an "external unknown" camera is 0 https://bugs.webkit.org/show_bug.cgi?id=257967 rdar://110650747 Reviewed by Andy Estes. Assume the orientation of an AVCaptureDeviceTypeExternalUnknown camera is 0 instead of checking the AVCaptureConnection's videoOrientation. * Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h: * Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm: (WebCore::AVVideoCaptureSource::sensorOrientationFromVideoOutput): (WebCore::AVVideoCaptureSource::setupCaptureSession): (WebCore::sensorOrientationFromVideoOutput): Deleted. Canonical link: https://commits.webkit.org/265079@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] bf0aa0: Non-MSE blob urls don't work for 'src' at...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: bf0aa014e8913031073b6d93ccaa725ce1df1501 https://github.com/WebKit/WebKit/commit/bf0aa014e8913031073b6d93ccaa725ce1df1501 Author: Eric Carlson Date: 2023-06-09 (Fri, 09 Jun 2023) Changed paths: A LayoutTests/media/video-source-element-with-blob-url-expected.txt A LayoutTests/media/video-source-element-with-blob-url.html M Source/WebCore/html/HTMLMediaElement.cpp Log Message: --- Non-MSE blob urls don't work for 'src' attribute https://bugs.webkit.org/show_bug.cgi?id=257918 rdar://110423496 Reviewed by Jer Noble. Don't assume every blob url is for MSE. * LayoutTests/media/video-source-element-with-blob-url-expected.txt: Added. * LayoutTests/media/video-source-element-with-blob-url.html: Added. * Source/WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::selectNextSourceChild): Canonical link: https://commits.webkit.org/265045@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0b941e: [macOS] Update ScreenCaptureKit API used
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0b941e1c1cc820380a9560f39012804ead3ea994 https://github.com/WebKit/WebKit/commit/0b941e1c1cc820380a9560f39012804ead3ea994 Author: Eric Carlson Date: 2023-06-08 (Thu, 08 Jun 2023) Changed paths: M Source/WebCore/PAL/pal/spi/mac/ScreenCaptureKitSPI.h M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm Log Message: --- [macOS] Update ScreenCaptureKit API used https://bugs.webkit.org/show_bug.cgi?id=257816 rdar://110408877 Reviewed by Youenn Fablet. Update to the most recent version of ScreenCaptureKit API. * Source/WebCore/PAL/pal/spi/mac/ScreenCaptureKitSPI.h: * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm: (-[WebDisplayMediaPromptHelper initWithCallback:]): (-[WebDisplayMediaPromptHelper contentSharingPicker:didCancelForStream:]): (-[WebDisplayMediaPromptHelper startObservingPicker:]): (-[WebDisplayMediaPromptHelper stopObservingPicker:]): (WebCore::ScreenCaptureKitSharingSessionManager::~ScreenCaptureKitSharingSessionManager): (WebCore::ScreenCaptureKitSharingSessionManager::cancelPicking): (WebCore::ScreenCaptureKitSharingSessionManager::promptWithSCContentSharingPicker): (-[WebDisplayMediaPromptHelper contentSharingPickerDidCancel:forStream:]): Deleted. Canonical link: https://commits.webkit.org/264988@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] cd5518: Add runtime logging to AudioSession and related cl...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: cd551880cee9f2657d8d315d51eea9ac9c40d73e https://github.com/WebKit/WebKit/commit/cd551880cee9f2657d8d315d51eea9ac9c40d73e Author: Eric Carlson Date: 2023-05-29 (Mon, 29 May 2023) Changed paths: M Source/WebCore/platform/audio/AudioSession.cpp M Source/WebCore/platform/audio/AudioSession.h M Source/WebCore/platform/audio/ios/AudioSessionIOS.mm M Source/WebCore/platform/audio/mac/AudioSessionMac.h M Source/WebCore/platform/audio/mac/AudioSessionMac.mm M Source/WebCore/platform/audio/mac/SharedRoutingArbitrator.h M Source/WebCore/platform/audio/mac/SharedRoutingArbitrator.mm M Source/WebKit/GPUProcess/mac/LocalAudioSessionRoutingArbitrator.cpp M Source/WebKit/GPUProcess/mac/LocalAudioSessionRoutingArbitrator.h M Source/WebKit/UIProcess/Media/AudioSessionRoutingArbitratorProxy.cpp M Source/WebKit/UIProcess/Media/AudioSessionRoutingArbitratorProxy.h M Source/WebKit/UIProcess/Media/cocoa/AudioSessionRoutingArbitratorProxyCocoa.mm M Source/WebKit/UIProcess/WebProcessProxy.cpp M Source/WebKit/UIProcess/WebProcessProxy.h M Source/WebKit/WebProcess/cocoa/AudioSessionRoutingArbitrator.cpp M Source/WebKit/WebProcess/cocoa/AudioSessionRoutingArbitrator.h Log Message: --- Add runtime logging to AudioSession and related classes https://bugs.webkit.org/show_bug.cgi?id=257431 rdar://109934372 Reviewed by Youenn Fablet. * Source/WebCore/platform/audio/AudioSession.cpp: (WebCore::AudioSession::tryToSetActive): (WebCore::AudioSession::beginInterruption): (WebCore::AudioSession::endInterruption): (WebCore::AudioSession::setCategoryOverride): (WebCore::AudioSession::logger): (WebCore::AudioSession::logChannel const): * Source/WebCore/platform/audio/AudioSession.h: * Source/WebCore/platform/audio/ios/AudioSessionIOS.mm: (WebCore::AudioSessionIOS::setHostProcessAttribution): (WebCore::AudioSessionIOS::setPresentingProcesses): (WebCore::AudioSessionIOS::setCategory): (WebCore::AudioSessionIOS::setPreferredBufferSize): * Source/WebCore/platform/audio/mac/AudioSessionMac.h: * Source/WebCore/platform/audio/mac/AudioSessionMac.mm: (WebCore::AudioSessionMac::audioOutputDeviceChanged): (WebCore::AudioSessionMac::setIsPlayingToBluetoothOverride): (WebCore::AudioSessionMac::setCategory): (WebCore::AudioSessionMac::setPreferredBufferSize): (WebCore::AudioSessionMac::logChannel const): (WebCore::AudioSessionMac::logIdentifier const): * Source/WebCore/platform/audio/mac/SharedRoutingArbitrator.h: * Source/WebCore/platform/audio/mac/SharedRoutingArbitrator.mm: (WebCore::SharedRoutingArbitrator::Token::logIdentifier const): (WebCore::SharedRoutingArbitrator::beginRoutingArbitrationForToken): (WebCore::SharedRoutingArbitrator::endRoutingArbitrationForToken): (WebCore::SharedRoutingArbitrator::setLogger): (WebCore::SharedRoutingArbitrator::logger): (WebCore::SharedRoutingArbitrator::logChannel const): * Source/WebKit/GPUProcess/mac/LocalAudioSessionRoutingArbitrator.cpp: (WebKit::LocalAudioSessionRoutingArbitrator::LocalAudioSessionRoutingArbitrator): (WebKit::LocalAudioSessionRoutingArbitrator::beginRoutingArbitrationWithCategory): (WebKit::LocalAudioSessionRoutingArbitrator::logger): (WebKit::LocalAudioSessionRoutingArbitrator::logChannel const): (WebKit::LocalAudioSessionRoutingArbitrator::canLog const): * Source/WebKit/GPUProcess/mac/LocalAudioSessionRoutingArbitrator.h: * Source/WebKit/UIProcess/Media/AudioSessionRoutingArbitratorProxy.cpp: (WebKit::AudioSessionRoutingArbitratorProxy::AudioSessionRoutingArbitratorProxy): (WebKit::AudioSessionRoutingArbitratorProxy::logger): (WebKit::AudioSessionRoutingArbitratorProxy::logChannel const): * Source/WebKit/UIProcess/Media/AudioSessionRoutingArbitratorProxy.h: (WebKit::AudioSessionRoutingArbitratorProxy::logIdentifier const): (WebKit::AudioSessionRoutingArbitratorProxy::logClassName const): * Source/WebKit/UIProcess/Media/cocoa/AudioSessionRoutingArbitratorProxyCocoa.mm: (WebKit::AudioSessionRoutingArbitratorProxy::AudioSessionRoutingArbitratorProxy): (WebKit::AudioSessionRoutingArbitratorProxy::beginRoutingArbitrationWithCategory): (WebKit::AudioSessionRoutingArbitratorProxy::endRoutingArbitration): * Source/WebKit/UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::WebProcessProxy): (WebKit::m_routingArbitrator): (WebKit::WebProcessProxy::setWebsiteDataStore): (WebKit::WebProcessProxy::logger): (WebKit::m_webPermissionController): Deleted. * Source/WebKit/UIProcess/WebProcessProxy.h: * Source/WebKit/WebProcess/cocoa/AudioSessionRoutingArbitrator.cpp: (WebKit::m_logIdentifier): (WebKit::AudioSessionRoutingArbitrator::canLog const): * Source/WebKit/WebProcess/cocoa/AudioSessionRoutingArbitrator.h: Canonical link: https://commits.webkit.org/264658@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit
[webkit-changes] [WebKit/WebKit] 56f6f9: Only claim to be eligible for Smart Routing when g...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 56f6f91ae9b4074cc5f08c80aab4cbc191d6e00b https://github.com/WebKit/WebKit/commit/56f6f91ae9b4074cc5f08c80aab4cbc191d6e00b Author: Eric Carlson Date: 2023-05-26 (Fri, 26 May 2023) Changed paths: M Source/WebCore/platform/audio/cocoa/AudioSessionCocoa.h M Source/WebCore/platform/audio/cocoa/AudioSessionCocoa.mm M Source/WebCore/platform/audio/ios/AudioSessionIOS.mm M Source/WebCore/platform/audio/mac/AudioSessionMac.mm Log Message: --- Only claim to be eligible for Smart Routing when generating audio https://bugs.webkit.org/show_bug.cgi?id=257388 rdar://109724130 Reviewed by Jer Noble. Don't claim to be eligible for Smart Routing if the audio session is inactive or the audio session category is None. * Source/WebCore/platform/audio/cocoa/AudioSessionCocoa.h: (WebCore::AudioSessionCocoa::isEligibleForSmartRouting const): * Source/WebCore/platform/audio/cocoa/AudioSessionCocoa.mm: (WebCore::AudioSessionCocoa::setEligibleForSmartRoutingInternal): (WebCore::AudioSessionCocoa::AudioSessionCocoa): (WebCore::AudioSessionCocoa::~AudioSessionCocoa): (WebCore::AudioSessionCocoa::setEligibleForSmartRouting): (WebCore::AudioSessionCocoa::tryToSetActiveInternal): (WebCore::AudioSessionCocoa::setCategory): (WebCore::setEligibleForSmartRouting): Deleted. * Source/WebCore/platform/audio/ios/AudioSessionIOS.mm: (WebCore::AudioSessionIOS::setCategory): * Source/WebCore/platform/audio/mac/AudioSessionMac.mm: (WebCore::AudioSessionMac::setCategory): Canonical link: https://commits.webkit.org/264610@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 7237e4: [macOS] Fix build after 264498@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7237e44cfbf76a9a9159e2325c45ed6935dbff51 https://github.com/WebKit/WebKit/commit/7237e44cfbf76a9a9159e2325c45ed6935dbff51 Author: Eric Carlson Date: 2023-05-25 (Thu, 25 May 2023) Changed paths: M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm Log Message: --- [macOS] Fix build after 264498@main https://bugs.webkit.org/show_bug.cgi?id=257334 rdar://109840239 Unreviewed build fix. Redeclare enum to fix build. * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm: (WebCore::ScreenCaptureKitSharingSessionManager::promptWithSCContentSharingPicker): Canonical link: https://commits.webkit.org/264530@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3ae709: [Cocoa] Allow user agent to show prompt before sys...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3ae70929d72c5e23384953be98c9d48829c2ae0b https://github.com/WebKit/WebKit/commit/3ae70929d72c5e23384953be98c9d48829c2ae0b Author: Eric Carlson Date: 2023-05-24 (Wed, 24 May 2023) Changed paths: M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.h M Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.mm M Source/WebCore/PAL/pal/spi/mac/ScreenCaptureKitSPI.h M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm M Source/WebKit/UIProcess/mac/UserMediaPermissionRequestProxyMac.mm Log Message: --- [Cocoa] Allow user agent to show prompt before system window/screen picker https://bugs.webkit.org/show_bug.cgi?id=257278 rdar://109793933 Reviewed by Jer Noble. Add a setting to allow the user agent to show a prompt before the system window/screen picker * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: Add RequireUAGetDisplayMediaPrompt. * Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.h: Declare SCContentSharingPickerConfiguration. * Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.mm: Soft link it. * Source/WebCore/PAL/pal/spi/mac/ScreenCaptureKitSPI.h: Add additional SPI. * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm: (WebCore::ScreenCaptureKitSharingSessionManager::isAvailable): Require SCContentSharingPickerConfiguration to be available. (WebCore::ScreenCaptureKitSharingSessionManager::promptWithSCContentSharingPicker): Allow the system picker to be invoked in window-only, screen-only, or window and screen picking mode. * Source/WebKit/UIProcess/mac/UserMediaPermissionRequestProxyMac.mm: (WebKit::UserMediaPermissionRequestProxyMac::canRequestDisplayCapturePermission): Check the requireUAGetDisplayMediaPrompt preference. Canonical link: https://commits.webkit.org/264498@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ca484a: [Cocoa] Playback is paused after scrubbing with to...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ca484addbacdec7e84b87023f410498bc6da8613 https://github.com/WebKit/WebKit/commit/ca484addbacdec7e84b87023f410498bc6da8613 Author: Eric Carlson Date: 2023-05-22 (Mon, 22 May 2023) Changed paths: M Source/WebCore/platform/mac/WebPlaybackControlsManager.mm Log Message: --- [Cocoa] Playback is paused after scrubbing with touch bar https://bugs.webkit.org/show_bug.cgi?id=257177 rdar://109523926 Reviewed by Jer Noble. * Source/WebCore/platform/mac/WebPlaybackControlsManager.mm: (-[WebPlaybackControlsManager setPlaying:]): Don't send a remote playback command to the model if is already in the correct state. Canonical link: https://commits.webkit.org/264400@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9fd6c7: [macOS] Update ScreenCaptureKitSPI.h
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9fd6c7e3607b8084951c0b7be42e9e7f45fcdfda https://github.com/WebKit/WebKit/commit/9fd6c7e3607b8084951c0b7be42e9e7f45fcdfda Author: Eric Carlson Date: 2023-05-10 (Wed, 10 May 2023) Changed paths: M Source/WebCore/PAL/pal/spi/mac/ScreenCaptureKitSPI.h Log Message: --- [macOS] Update ScreenCaptureKitSPI.h https://bugs.webkit.org/show_bug.cgi?id=256605 rdar://109162122 Reviewed by Jer Noble. * Source/WebCore/PAL/pal/spi/mac/ScreenCaptureKitSPI.h: Include new header. Canonical link: https://commits.webkit.org/263927@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9b1654: [iOS] Cleanup MediaPlayerSPI.h
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9b1654017ffa7dc9bc85d5f5ca80120c3758b9b3 https://github.com/WebKit/WebKit/commit/9b1654017ffa7dc9bc85d5f5ca80120c3758b9b3 Author: Eric Carlson Date: 2023-05-04 (Thu, 04 May 2023) Changed paths: M Source/WebCore/PAL/pal/spi/ios/MediaPlayerSPI.h Log Message: --- [iOS] Cleanup MediaPlayerSPI.h https://bugs.webkit.org/show_bug.cgi?id=256308 rdar://108894032 Reviewed by Jer Noble. * Source/WebCore/PAL/pal/spi/ios/MediaPlayerSPI.h: Remove unused declarations. Canonical link: https://commits.webkit.org/263703@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] aa760b: [macOS] AirPlay sometimes fails at Vimeo.com
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: aa760bb43f07c2c561c99928b1dea51513fd4720 https://github.com/WebKit/WebKit/commit/aa760bb43f07c2c561c99928b1dea51513fd4720 Author: Eric Carlson Date: 2023-04-29 (Sat, 29 Apr 2023) Changed paths: M Source/WebCore/html/HTMLMediaElement.cpp M Source/WebCore/html/HTMLMediaElement.h Log Message: --- [macOS] AirPlay sometimes fails at Vimeo.com https://bugs.webkit.org/show_bug.cgi?id=256099 rdar://108326570 Reviewed by Jer Noble. Use a timer to schedule media engine AirPlay compatibility. * Source/WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement): (WebCore::HTMLMediaElement::checkPlaybackTargetCompatibility): (WebCore::HTMLMediaElement::stopPeriodicTimers): (WebCore::HTMLMediaElement::cancelPendingTasks): (WebCore::HTMLMediaElement::setIsPlayingToWirelessTarget): (WebCore::HTMLMediaElement::scheduleCheckPlaybackTargetCompatability): Deleted. * Source/WebCore/html/HTMLMediaElement.h: Canonical link: https://commits.webkit.org/263534@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9ac904: [iOS] Captions are not rendered over fullscreen vi...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9ac904fb21323f02c4236196d8bf0e1b30d0d8ea https://github.com/WebKit/WebKit/commit/9ac904fb21323f02c4236196d8bf0e1b30d0d8ea Author: Eric Carlson Date: 2023-04-27 (Thu, 27 Apr 2023) Changed paths: M Source/WebCore/platform/cocoa/VideoFullscreenModelVideoElement.h M Source/WebCore/platform/cocoa/VideoFullscreenModelVideoElement.mm M Source/WebKit/WebProcess/cocoa/VideoFullscreenManager.mm Log Message: --- [iOS] Captions are not rendered over fullscreen video when UI-side compositing is enabled https://bugs.webkit.org/show_bug.cgi?id=256017 rdar://108208265 Reviewed by Jer Noble. * Source/WebCore/platform/cocoa/VideoFullscreenModelVideoElement.h: * Source/WebCore/platform/cocoa/VideoFullscreenModelVideoElement.mm: (WebCore::VideoFullscreenModelVideoElement::setVideoSizeFenced): Renamed from setVideoInlineSizeFenced. Call HTMLMediaElement::setVideoFullscreenFrame as well as HTMLMediaElement::setVideoInlineSizeFenced because they are the same when UI-side compositing is enabled, and this is only called in that case. (WebCore::VideoFullscreenModelVideoElement::setVideoInlineSizeFenced): Deleted. * Source/WebKit/WebProcess/cocoa/VideoFullscreenManager.mm: (WebKit::VideoFullscreenManager::setVideoLayerFrameFenced): Call VideoFullscreenModelVideoElement::setVideoSizeFenced. Canonical link: https://commits.webkit.org/263454@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0a9aa1: "Loading" spinner shown as Facebook videos play
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0a9aa1413ba631faae8b1924493234638cffcc53 https://github.com/WebKit/WebKit/commit/0a9aa1413ba631faae8b1924493234638cffcc53 Author: Eric Carlson Date: 2023-04-26 (Wed, 26 Apr 2023) Changed paths: M Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp Log Message: --- "Loading" spinner shown as Facebook videos play https://bugs.webkit.org/show_bug.cgi?id=255961 rdar://107842627 Reviewed by Jer Noble. AVFoundation reports a maximum loaded time greater than the file's duration with some Facebook videos. `MediaPlayerPrivateAVFoundation::updateStates` only changes the network state from `NetworkState::Loading` to `NetworkState::Loaded` when the maximum time loaded is _equal to_ the duration, which causes HTMLMediaElement to fire a `stalled` event. * Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Set networkState to `NetworkState::Loaded` when maximum time loaded is equal to or greater than duration. Canonical link: https://commits.webkit.org/263413@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3bc64a: REGRESSION(259969@main): Screen sharing is no long...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3bc64a5506e3a0324da4b6c4b99e3e99f4b3a947 https://github.com/WebKit/WebKit/commit/3bc64a5506e3a0324da4b6c4b99e3e99f4b3a947 Author: Eric Carlson Date: 2023-03-31 (Fri, 31 Mar 2023) Changed paths: M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/platform/mediastream/mac/CGDisplayStreamScreenCaptureSource.h M Source/WebCore/platform/mediastream/mac/CGDisplayStreamScreenCaptureSource.mm M Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.mm Log Message: --- REGRESSION(259969@main): Screen sharing is no longer working in public builds and causing UIProcess to crash https://bugs.webkit.org/show_bug.cgi?id=254155 rdar://107265903 Reviewed by Youenn Fablet. If the user agrees to share a screen on a version of macOS that doesn't have the ScreenCaptureKit picker, share the main screen. This restores the behavior before https://commits.webkit.org/259969@main. * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/platform/mediastream/mac/CGDisplayStreamScreenCaptureSource.h: * Source/WebCore/platform/mediastream/mac/CGDisplayStreamScreenCaptureSource.mm: (WebCore::CGDisplayStreamScreenCaptureSource::screenCaptureDeviceForMainDisplay): * Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.mm: (WebKit::DisplayCaptureSessionManager::promptForGetDisplayMedia): Canonical link: https://commits.webkit.org/262424@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 35a071: Two media/track/track-webvtt-snap-to-lines tests s...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 35a071cc970e256250103ce8d2381f19cc651635 https://github.com/WebKit/WebKit/commit/35a071cc970e256250103ce8d2381f19cc651635 Author: Eric Carlson Date: 2023-03-27 (Mon, 27 Mar 2023) Changed paths: M LayoutTests/media/track/track-webvtt-snap-to-lines-inline-style.html M LayoutTests/media/track/track-webvtt-snap-to-lines-left-right.html Log Message: --- Two media/track/track-webvtt-snap-to-lines tests sometimes fail https://bugs.webkit.org/show_bug.cgi?id=254538 rdar://106031213 Reviewed by Jer Noble. Allow minor pixel differences. * LayoutTests/media/track/track-webvtt-snap-to-lines-inline-style.html: * LayoutTests/media/track/track-webvtt-snap-to-lines-left-right.html: Canonical link: https://commits.webkit.org/262182@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] fe99ba: [Cocoa] Use new screen/window picker API when avai...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: fe99ba16036bd19b8cc1cff96d394c5dd5b1d275 https://github.com/WebKit/WebKit/commit/fe99ba16036bd19b8cc1cff96d394c5dd5b1d275 Author: Eric Carlson Date: 2023-03-03 (Fri, 03 Mar 2023) Changed paths: M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WTF/wtf/PlatformHave.h M Source/WebCore/Headers.cmake M Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.h M Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.mm M Source/WebCore/PAL/pal/spi/mac/ScreenCaptureKitSPI.h M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp M Source/WebCore/platform/audio/PlatformMediaSessionManager.h A Source/WebCore/platform/mediastream/DisplayCapturePromptType.h M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.h M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm M Source/WebKit/GPUProcess/GPUProcess.cpp M Source/WebKit/GPUProcess/GPUProcess.h M Source/WebKit/GPUProcess/GPUProcess.messages.in M Source/WebKit/GPUProcess/GPUProcessPreferences.cpp M Source/WebKit/GPUProcess/GPUProcessPreferences.h M Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in M Source/WebKit/Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/Shared/WebPreferencesDefaultValues.h M Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h M Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm M Source/WebKit/UIProcess/Cocoa/UIDelegate.mm M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm M Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp M Source/WebKit/UIProcess/GPU/GPUProcessProxy.h M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp M Source/WebKit/UIProcess/UserMediaPermissionRequestProxy.cpp M Source/WebKit/UIProcess/UserMediaPermissionRequestProxy.h M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.h M Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.mm M Source/WebKit/UIProcess/mac/UserMediaPermissionRequestProxyMac.h M Source/WebKit/UIProcess/mac/UserMediaPermissionRequestProxyMac.mm M Source/WebKit/WebProcess/WebPage/WebPage.cpp M Tools/TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm Log Message: --- [Cocoa] Use new screen/window picker API when available https://bugs.webkit.org/show_bug.cgi?id=251893 rdar://101206117 Reviewed by Jer Noble. * Source/WebCore/Headers.cmake: Add DisplayCapturePromptType.h. * Source/WebCore/WebCore.xcodeproj/project.pbxproj: Ditto. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: SC_CONTENT_SHARING_SESSION -> SCREEN_CAPTURE_KIT. Add new runtime preference. * Source/WTF/wtf/PlatformHave.h: Remove HAVE_SC_CONTENT_SHARING_SESSION. * Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.h:SCStreamFrameInfoStatus is always available when ScreenCaptureKit is available. * Source/WebCore/PAL/pal/mac/ScreenCaptureKitSoftLink.mm: * Source/WebCore/PAL/pal/spi/mac/ScreenCaptureKitSPI.h: * Source/WebKit/Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm: (WebKit::defaultUseSCContentSharingPicker): Initialize to feature flag value. * Source/WebKit/Shared/WebPreferencesDefaultValues.h: * Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp: (WebCore::PlatformMediaSessionManager::setUseSCContentSharingPicker): New preference access. (WebCore::PlatformMediaSessionManager::useSCContentSharingPicker): * Source/WebCore/platform/audio/PlatformMediaSessionManager.h: * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h: * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm: Rewrite to not be a direct `SCContentSharingSession` delegate and to not create `SCContentStream` directly, but to do both through the ScreenCaptureKitSharingSessionManager.h. (-[WebCoreScreenCaptureKitHelper stream:didStopWithError:]): (-[WebCoreScreenCaptureKitHelper stream:didOutputSampleBuffer:ofType:]): (WebCore::ScreenCaptureKitCaptureSource::~ScreenCaptureKitCaptureSource): (WebCore::ScreenCaptureKitCaptureSource::stop): (WebCore::ScreenCaptureKitCaptureSource::sessionFailedWithError): (WebCore::ScreenCaptureKitCaptureSource::sessionFilterDidChange): (WebCore::ScreenCaptureKitCaptureSource::sessionStreamDidEnd): (WebCore::ScreenCaptureKitCaptureSource::startContentStream): (WebCore::ScreenCaptureKitCaptureSource::updateStreamConfiguration): (WebCore::ScreenCaptureKitCaptureSource::commitConfiguration): (WebC
[webkit-changes] [WebKit/WebKit] 3c0664: [iOS] Add "recording website" entitlement
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3c0664a53923cd59554cfe9ee10c131ed5c448ef https://github.com/WebKit/WebKit/commit/3c0664a53923cd59554cfe9ee10c131ed5c448ef Author: Eric Carlson Date: 2023-02-28 (Tue, 28 Feb 2023) Changed paths: M Source/WebKit/Scripts/process-entitlements.sh Log Message: --- [iOS] Add "recording website" entitlement https://bugs.webkit.org/show_bug.cgi?id=253111 rdar://104938740 Reviewed by Jer Noble. * Source/WebKit/Scripts/process-entitlements.sh: Entitlement is required on iOS, not macOS. Canonical link: https://commits.webkit.org/260974@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f3eb8e: [iOS 15.3+] Crash at -[UIViewController presentVie...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f3eb8e384292b901bcee46913008d70c6b7b0ebb https://github.com/WebKit/WebKit/commit/f3eb8e384292b901bcee46913008d70c6b7b0ebb Author: Eric Carlson Date: 2023-02-21 (Tue, 21 Feb 2023) Changed paths: M Source/WebKit/UIProcess/Cocoa/UIDelegate.mm Log Message: --- [iOS 15.3+] Crash at -[UIViewController presentViewController:withAnimationController:completion:], called on a wrong thread https://bugs.webkit.org/show_bug.cgi?id=242235 rdar://96305779 Reviewed by Youenn Fablet. * Source/WebKit/UIProcess/Cocoa/UIDelegate.mm: (WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest): Always call request methods that may prompt on the main runloop. Canonical link: https://commits.webkit.org/260619@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6db3bf: REGRESSION(259626@main): Fullscreen and PiP button...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6db3bff657b6e0d735bb699a5a4d64d0f7a2141d https://github.com/WebKit/WebKit/commit/6db3bff657b6e0d735bb699a5a4d64d0f7a2141d Author: Eric Carlson Date: 2023-02-16 (Thu, 16 Feb 2023) Changed paths: M Source/WebCore/html/HTMLMediaElement.cpp Log Message: --- REGRESSION(259626@main): Fullscreen and PiP buttons don't work in a media document https://bugs.webkit.org/show_bug.cgi?id=252417 rdar://105469592 Reviewed by Jer Noble. * Source/WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::enterFullscreen): Consume a transient activation if fullscreen is required, but don't reject is there is no activation because this method can not be called unless the element is allowed to enter fullscreen. Canonical link: https://commits.webkit.org/260401@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d225f9: [Cocoa] System preferred camera should be first in...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d225f9e01c911b3d786d0179f54dd0d4b4e36a73 https://github.com/WebKit/WebKit/commit/d225f9e01c911b3d786d0179f54dd0d4b4e36a73 Author: Eric Carlson Date: 2023-02-16 (Thu, 16 Feb 2023) Changed paths: M Source/WTF/wtf/PlatformHave.h M Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm Log Message: --- [Cocoa] System preferred camera should be first in camera list https://bugs.webkit.org/show_bug.cgi?id=252311 rdar://101872716 Reviewed by Jer Noble. * Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm: (WebCore::AVCaptureDeviceManager::retrieveCaptureDevices): [AVCaptureDevice systemPreferredCamera], when available, should always be first in the camera list. Canonical link: https://commits.webkit.org/260363@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c3b03a: [iOS] Don't assume the type of objects returned by...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c3b03a9bd5f5b389206d97112f60d903c6e01d63 https://github.com/WebKit/WebKit/commit/c3b03a9bd5f5b389206d97112f60d903c6e01d63 Author: Eric Carlson Date: 2023-02-15 (Wed, 15 Feb 2023) Changed paths: M Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.mm Log Message: --- [iOS] Don't assume the type of objects returned by `[NSBundle objectForInfoDictionaryKey:` https://bugs.webkit.org/show_bug.cgi?id=252342 rdar://105248790 Reviewed by Jer Noble. The "UIBackgroundModes" in an application's info.plist is _supposed_ to be a dictionary, but it can be any valid plist type so don't assume `[NSBundle objectForInfoDictionaryKey:@"UIBackgroundModes"` will return an NSDictionary. * Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.mm: (WebCore::RealtimeMediaSourceCenter::shouldInterruptAudioOnPageVisibilityChange): Canonical link: https://commits.webkit.org/260331@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1c8de4: [iOS] Idle timer should be enabled/disabled on the...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1c8de44efc1a1e49d895a2499f4f4ab0d6e7f526 https://github.com/WebKit/WebKit/commit/1c8de44efc1a1e49d895a2499f4f4ab0d6e7f526 Author: Eric Carlson Date: 2023-02-09 (Thu, 09 Feb 2023) Changed paths: M Source/WebCore/PAL/pal/system/ios/SleepDisablerIOS.mm Log Message: --- [iOS] Idle timer should be enabled/disabled on the main thread https://bugs.webkit.org/show_bug.cgi?id=252015 rdar://104266428 Reviewed by Chris Dumez. Use `ensureOnMainRunLoop` so we always change `UIApplication.sharedApplication.idleTimerDisabled` on the main thread. This is necessary in WebKit where WebKit's "main thread" is not the UI thread. * Source/WebCore/PAL/pal/system/ios/SleepDisablerIOS.mm: (PAL::ScreenSleepDisabler::updateState): Canonical link: https://commits.webkit.org/260098@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1ad6bf: getDisplayMedia does not require a list of every s...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1ad6bf1f3f6c8122574d79e9ae8bb53a2a61669a https://github.com/WebKit/WebKit/commit/1ad6bf1f3f6c8122574d79e9ae8bb53a2a61669a Author: Eric Carlson Date: 2023-02-07 (Tue, 07 Feb 2023) Changed paths: M Source/WebCore/Modules/mediastream/MediaDevices.cpp M Source/WebCore/platform/mediastream/DisplayCaptureManager.h M Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h M Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.cpp M Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.h M Source/WebCore/platform/mediastream/mac/DisplayCaptureManagerCocoa.cpp M Source/WebCore/platform/mediastream/mac/DisplayCaptureManagerCocoa.h M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm M Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp M Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.h M Source/WebKit/UIProcess/API/C/WKUserMediaPermissionRequest.cpp M Source/WebKit/UIProcess/API/C/WKUserMediaPermissionRequest.h M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp M Source/WebKit/UIProcess/UserMediaPermissionRequestProxy.h M Source/WebKit/UIProcess/UserMediaProcessManager.cpp M Source/WebKit/UIProcess/UserMediaProcessManager.h M Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.mm M Tools/WebKitTestRunner/TestController.cpp Log Message: --- getDisplayMedia does not require a list of every screen and window https://bugs.webkit.org/show_bug.cgi?id=251719 rdar://105018387 Reviewed by Youenn Fablet. getDisplayMedia always requires a prompt and an explicit user selection, so we will never need to build a list of every window and screen. * Source/WebCore/platform/mediastream/DisplayCaptureManager.h: (WebCore::DisplayCaptureManager::windowDevices): Deleted. * Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp: (WebCore::RealtimeMediaSource::setIntrinsicSize): * Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp: (WebCore::RealtimeMediaSourceCenter::getMediaStreamDevices): (WebCore::RealtimeMediaSourceCenter::enumerateDevices): (WebCore::RealtimeMediaSourceCenter::validateRequestConstraints): (WebCore::RealtimeMediaSourceCenter::validateRequestConstraintsAfterEnumeration): (WebCore::RealtimeMediaSourceCenter::getDisplayMediaDevices): Deleted. * Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h: * Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.cpp: (WebCore::DisplayCaptureSourceCocoa::updateFrameSize): (WebCore::DisplayCaptureSourceCocoa::capturerConfigurationChanged): * Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.h: * Source/WebCore/platform/mediastream/mac/DisplayCaptureManagerCocoa.cpp: (WebCore::DisplayCaptureManagerCocoa::captureDevices): (WebCore::DisplayCaptureManagerCocoa::updateDisplayCaptureDevices): Deleted. (WebCore::DisplayCaptureManagerCocoa::updateWindowCaptureDevices): Deleted. (WebCore::DisplayCaptureManagerCocoa::windowDevices): Deleted. * Source/WebCore/platform/mediastream/mac/DisplayCaptureManagerCocoa.h: * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h: * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm: (WebCore::ScreenCaptureKitCaptureSource::startContentStream): (WebCore::ScreenCaptureKitCaptureSource::intrinsicSize const): (WebCore::ScreenCaptureKitCaptureSource::streamDidOutputSampleBuffer): (WebCore::ScreenCaptureKitCaptureSource::windowCaptureDeviceWithPersistentID): (WebCore::ScreenCaptureKitCaptureSource::captureDeviceWithPersistentID): Deleted. (WebCore::ScreenCaptureKitCaptureSource::screenCaptureDevices): Deleted. (WebCore::ScreenCaptureKitCaptureSource::windowCaptureDevices): Deleted. (WebCore::ScreenCaptureKitCaptureSource::windowDevices): Deleted. (WebCore::forEachNSWindow): Deleted. * Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp: (WebCore::MockRealtimeMediaSourceCenter::MockDisplayCaptureDeviceManager::windowDevices): Deleted. * Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.h: * Source/WebKit/UIProcess/API/C/WKUserMediaPermissionRequest.cpp: (WKUserMediaPermissionRequestRequiresDisplayCapture): * Source/WebKit/UIProcess/API/C/WKUserMediaPermissionRequest.h: * Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp: (WebKit::UserMediaPermissionRequestManagerProxy::finishGrantingRequest): (WebKit::UserMediaPermissionRequestManagerProxy::getRequestAction): (WebKit::UserMediaPermissionRequestManagerProxy::processUserMediaPermissionRequest): (WebKit::UserMediaPermissionRequestManagerProxy
[webkit-changes] [WebKit/WebKit] e271c3: [Cocoa] Soft link capture device type identifiers
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e271c33053e744c79209f438a7e66bf6d298cff8 https://github.com/WebKit/WebKit/commit/e271c33053e744c79209f438a7e66bf6d298cff8 Author: Eric Carlson Date: 2023-02-06 (Mon, 06 Feb 2023) Changed paths: M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm M Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm Log Message: --- [Cocoa] Soft link capture device type identifiers https://bugs.webkit.org/show_bug.cgi?id=251820 rdar://105101820 Reviewed by Jer Noble. * Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h: * Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm: * Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm: Canonical link: https://commits.webkit.org/259927@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b63b94: [Cocoa] startTime of dynamically added EXT-X-DATER...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b63b9425c88b7c4bc0af59caf9b3241d002842a9 https://github.com/WebKit/WebKit/commit/b63b9425c88b7c4bc0af59caf9b3241d002842a9 Author: Eric Carlson Date: 2023-02-06 (Mon, 06 Feb 2023) Changed paths: A LayoutTests/http/tests/media/hls/track-in-band-ext-x-date-range-start-time-expected.txt A LayoutTests/http/tests/media/hls/track-in-band-ext-x-date-range-start-time.html A LayoutTests/http/tests/media/resources/hls/dynamic-ext-date-range.py M Source/WebCore/html/HTMLMediaElement.cpp M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm Log Message: --- [Cocoa] startTime of dynamically added EXT-X-DATERANGE metadata cues is always 0 https://bugs.webkit.org/show_bug.cgi?id=251541 rdar://104142471 Reviewed by Jer Noble. The start time of a metadata group was calculated incorrectly. * LayoutTests/http/tests/media/hls/track-in-band-ext-x-date-range-start-time-expected.txt: Added. * LayoutTests/http/tests/media/hls/track-in-band-ext-x-date-range-start-time.html: Added. * LayoutTests/http/tests/media/resources/hls/dynamic-ext-date-range.py: Added. * Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::metadataGroupDidArrive): Correct `startTime` calculation. Canonical link: https://commits.webkit.org/259924@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9614c0: [Cocoa] Add "recording website" entitlement
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9614c09f9688754dd82757480739bb2112608ff9 https://github.com/WebKit/WebKit/commit/9614c09f9688754dd82757480739bb2112608ff9 Author: Eric Carlson Date: 2023-02-02 (Thu, 02 Feb 2023) Changed paths: M Source/WebKit/Scripts/process-entitlements.sh Log Message: --- [Cocoa] Add "recording website" entitlement https://bugs.webkit.org/show_bug.cgi?id=251585 rdar://104938740 Reviewed by Jer Noble. * Source/WebKit/Scripts/process-entitlements.sh: Add "mediaexperience.recordingWebsite" entitlement. Canonical link: https://commits.webkit.org/259759@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 98a098: Use transient activation for media playback
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 98a09842676c3af9db9a11e6617993db076c133c https://github.com/WebKit/WebKit/commit/98a09842676c3af9db9a11e6617993db076c133c Author: Eric Carlson Date: 2023-01-31 (Tue, 31 Jan 2023) Changed paths: M LayoutTests/http/tests/media/autoplay-if-audio-is-playing-expected.txt M LayoutTests/http/tests/media/autoplay-if-audio-is-playing.html M LayoutTests/media/media-fullscreen-inline-expected.txt M LayoutTests/media/media-fullscreen.js M LayoutTests/media/playlist-inherits-user-gesture.html M LayoutTests/media/restricted-audio-playback-with-multiple-settimeouts.html M LayoutTests/platform/glib/media/media-fullscreen-inline-expected.txt M LayoutTests/platform/glib/media/media-fullscreen-not-in-document-expected.txt M Source/WebCore/dom/Document.cpp M Source/WebCore/dom/FullscreenManager.cpp M Source/WebCore/html/HTMLMediaElement.cpp M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/autoplaying-multiple-media-elements.html Log Message: --- Use transient activation for media playback https://bugs.webkit.org/show_bug.cgi?id=251372 rdar://103800206 Reviewed by Jer Noble. Allow media to play when there is an active transient activation. Require and consume a transient activation when video fullscreen requires a user gesture. * LayoutTests/http/tests/media/autoplay-if-audio-is-playing-expected.txt: * LayoutTests/http/tests/media/autoplay-if-audio-is-playing.html: Update test and results as the second video is now able to play because the first was started with a user gesture. * LayoutTests/media/media-fullscreen-inline-expected.txt: * LayoutTests/media/media-fullscreen.js: (canplaythrough): Remove now invalid portion of the test. * LayoutTests/platform/glib/media/media-fullscreen-inline-expected.txt: * LayoutTests/platform/glib/media/media-fullscreen-not-in-document-expected.txt: * LayoutTests/media/playlist-inherits-user-gesture.html: * LayoutTests/media/restricted-audio-playback-with-multiple-settimeouts.html: Decrease transient activation time so these old tests work. * Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: Update test to account for and test playing because of transient activation. * Tools/TestWebKitAPI/Tests/WebKitCocoa/autoplaying-multiple-media-elements.html * Source/WebCore/dom/Document.cpp: (WebCore::Document::processingUserGestureForMedia const): Return true when there is an active transient activation. * Source/WebCore/dom/FullscreenManager.cpp: (WebCore::FullscreenManager::requestFullscreenForElement): Drive-by logging cleanup. Log all errors. * Source/WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::enterFullscreen): Require and consume a transient activation if a user gesture is required to enter fullscreen. Canonical link: https://commits.webkit.org/259626@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3f1a37: Cherry-pick 12fc92585a25. rdar://problem/104048960
Branch: refs/heads/safari-7615.1.18-branch Home: https://github.com/WebKit/WebKit Commit: 3f1a37e07714d3b08d40001c3b0fb6eea71f163b https://github.com/WebKit/WebKit/commit/3f1a37e07714d3b08d40001c3b0fb6eea71f163b Author: Eric Carlson Date: 2023-01-10 (Tue, 10 Jan 2023) Changed paths: M Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp Log Message: --- Cherry-pick 12fc92585a25. rdar://problem/104048960 [Cocoa] Crash LibWebRTCCodecs::setCallbacks in recoveryOS https://bugs.webkit.org/show_bug.cgi?id=250347 rdar://104048960 Reviewed by Youenn Fablet. * Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp: (WebKit::LibWebRTCCodecs::setCallbacks): Return early if webRTC is not available. Canonical link: https://commits.webkit.org/258706@main Canonical link: https://commits.webkit.org/258608.8@safari-7615.1.18-branch ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 930d40: [Cocoa] Add new screen capture entitlement
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 930d40c09c3256106ca8de0c9e29e160e716b1d4 https://github.com/WebKit/WebKit/commit/930d40c09c3256106ca8de0c9e29e160e716b1d4 Author: Eric Carlson Date: 2023-01-10 (Tue, 10 Jan 2023) Changed paths: M Source/WebKit/Scripts/process-entitlements.sh Log Message: --- [Cocoa] Add new screen capture entitlement https://bugs.webkit.org/show_bug.cgi?id=250338 rdar://103278319 Reviewed by Youenn Fablet. * Source/WebKit/Scripts/process-entitlements.sh: Add new entitlement. Canonical link: https://commits.webkit.org/258719@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 12fc92: [Cocoa] Crash LibWebRTCCodecs::setCallbacks in rec...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 12fc92585a259a29b2522e7e902492be45a57b6a https://github.com/WebKit/WebKit/commit/12fc92585a259a29b2522e7e902492be45a57b6a Author: Eric Carlson Date: 2023-01-10 (Tue, 10 Jan 2023) Changed paths: M Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp Log Message: --- [Cocoa] Crash LibWebRTCCodecs::setCallbacks in recoveryOS https://bugs.webkit.org/show_bug.cgi?id=250347 rdar://104048960 Reviewed by Youenn Fablet. * Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp: (WebKit::LibWebRTCCodecs::setCallbacks): Return early if webRTC is not available. Canonical link: https://commits.webkit.org/258706@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ba4235: [Cocoa, MediaStream] Support AVCapture virtual cam...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ba4235d06159cea7784a8c6962a9facd2e0c8a9b https://github.com/WebKit/WebKit/commit/ba4235d06159cea7784a8c6962a9facd2e0c8a9b Author: Eric Carlson Date: 2023-01-06 (Fri, 06 Jan 2023) Changed paths: M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm M Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSource.h M Source/WebCore/platform/mediastream/RealtimeVideoSource.h M Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm Log Message: --- [Cocoa, MediaStream] Support AVCapture virtual cameras https://bugs.webkit.org/show_bug.cgi?id=250142 rdar://103925476 Reviewed by Youenn Fablet. Add support for AVCapture virtual cameras. When getUserMedia video constraints request `facingMode : environment`, prefer the wide angle camera with the greatest capabilities. * Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h: * Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm: Include additional camera constants. * Source/WebCore/platform/mediastream/RealtimeMediaSource.h: Make `fitnessDistance` virtual. * Source/WebCore/platform/mediastream/RealtimeVideoSource.h: Implement `fitnessDistance`, pass through to source. * Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm: (WebCore::cameraCaptureDeviceTypes): Include AVCaptureDeviceTypeBuiltInDualWideCamera and AVCaptureDeviceTypeBuiltInTripleCamera in types array. * Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp: (WebCore::RealtimeMediaSource::fitnessDistance): Add facingModeFitnessDistanceAdjustment to calculated `facingMode` fitness distance. * Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h: * Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm: (WebCore::AVVideoCaptureSource::facingModeFitnessDistanceAdjustment const): Return a value to prefer wide angle cameras, and so when a device has more than one wide angle camera we prefer the wide angle camera with the greatest capabilities. Canonical link: https://commits.webkit.org/258585@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ba5d6a: [Cocoa, MSE] MSE video doesn't render in WK1 WebView
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ba5d6a18a598b8c8d8e328174609384590c0a3b2 https://github.com/WebKit/WebKit/commit/ba5d6a18a598b8c8d8e328174609384590c0a3b2 Author: Eric Carlson Date: 2023-01-05 (Thu, 05 Jan 2023) Changed paths: A LayoutTests/media/media-source/content/test-red-3s-480x360.png A LayoutTests/media/media-source/media-source-video-renders-expected.html A LayoutTests/media/media-source/media-source-video-renders.html M LayoutTests/media/utilities.js M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml Log Message: --- [Cocoa, MSE] MSE video doesn't render in WK1 WebView https://bugs.webkit.org/show_bug.cgi?id=250105 rdar://103696863 Reviewed by Wenson Hsieh. 252183@main (rdar://96256430) updated the `MediaPlayerPrivateMediaSourceAVFObjC` logic for rendering with an AVSampleBufferDisplayLayer or with a decompression session. The logic includes a check of the `mediaSourceInlinePaintingEnabled` runtime flag, which is off by default in WebKit 1, so it inadvertently disabled video in legacy WebViews. * LayoutTests/media/media-source/content/test-red-3s-480x360.png: Added. * LayoutTests/media/media-source/media-source-video-renders-expected.html: Added. * LayoutTests/media/media-source/media-source-video-renders.html: Added. * LayoutTests/media/utilities.js: * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: Make the MediaSourceInlinePaintingEnabled WebKitLegacy default the same as WebKit. Canonical link: https://commits.webkit.org/258499@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 83ba7a: Cherry-pick b96cc31eec98. rdar://problem/103003618
Branch: refs/heads/safari-7615.1.16-branch Home: https://github.com/WebKit/WebKit Commit: 83ba7a2701beb6dcb3a26012a9f8b2cc049be5dc https://github.com/WebKit/WebKit/commit/83ba7a2701beb6dcb3a26012a9f8b2cc049be5dc Author: Eric Carlson Date: 2023-01-03 (Tue, 03 Jan 2023) Changed paths: M Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.h M Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm Log Message: --- Cherry-pick b96cc31eec98. rdar://problem/103003618 [Cocoa] Softlink macros are not thread safe https://bugs.webkit.org/show_bug.cgi?id=249725 rdar://103003618 Reviewed by Dean Jackson. Load and cache AVCaptureDeviceType constants in the AVCaptureDeviceManager constructor, which is always called on the main thread, so they can be used on the dispatch queue used to discover the current capture devices. * Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.h: * Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm: (WebCore::AVCaptureDeviceManager::currentCameras): Use m_avCaptureDeviceTypes instead of the soft link functions directly. (WebCore::AVCaptureDeviceManager::AVCaptureDeviceManager): Cache AVCaptureDeviceType constants. (WebCore::currentCameras): Deleted. Canonical link: https://commits.webkit.org/258244@main Canonical link: https://commits.webkit.org/257979.11@safari-7615.1.16-branch ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b96cc3: [Cocoa] Softlink macros are not thread safe
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b96cc31eec98eb98b7f2e0967e9d3199f7879d97 https://github.com/WebKit/WebKit/commit/b96cc31eec98eb98b7f2e0967e9d3199f7879d97 Author: Eric Carlson Date: 2022-12-22 (Thu, 22 Dec 2022) Changed paths: M Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.h M Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm Log Message: --- [Cocoa] Softlink macros are not thread safe https://bugs.webkit.org/show_bug.cgi?id=249725 rdar://103003618 Reviewed by Dean Jackson. Load and cache AVCaptureDeviceType constants in the AVCaptureDeviceManager constructor, which is always called on the main thread, so they can be used on the dispatch queue used to discover the current capture devices. * Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.h: * Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm: (WebCore::AVCaptureDeviceManager::currentCameras): Use m_avCaptureDeviceTypes instead of the soft link functions directly. (WebCore::AVCaptureDeviceManager::AVCaptureDeviceManager): Cache AVCaptureDeviceType constants. (WebCore::currentCameras): Deleted. Canonical link: https://commits.webkit.org/258244@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 358c50: [Cocoa] Use AVCaptureDeviceDiscoverySession for ca...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 358c50c87d32ca26b3c738c508dfbc4d88399c8d https://github.com/WebKit/WebKit/commit/358c50c87d32ca26b3c738c508dfbc4d88399c8d Author: Eric Carlson Date: 2022-11-28 (Mon, 28 Nov 2022) Changed paths: M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm M Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm M Tools/TestWebKitAPI/Tests/WebKit/EnumerateMediaDevices.cpp Log Message: --- [Cocoa] Use AVCaptureDeviceDiscoverySession for camera discovery https://bugs.webkit.org/show_bug.cgi?id=248054 rdar://101919809 Reviewed by Youenn Fablet. * Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h: * Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm: Softlink new camera device strings. * Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm: (WebCore::currentCameras): Use AVCaptureDeviceDiscoverySession. (WebCore::AVCaptureDeviceManager::updateCachedAVCaptureDevices): Call currentCameras. (WebCore::AVCaptureDeviceManager::retrieveCaptureDevices): Ditto. (WebCore::AVCaptureDeviceManager::~AVCaptureDeviceManager): Stop listening. (WebCore::AVCaptureDeviceManager::registerForDeviceNotifications): Key-value observe `AVCaptureDeviceDiscoverySession.devices`. (-[WebCoreAVCaptureDeviceManagerObserver observeValueForKeyPath:ofObject:change:context:]): Allow "devices" change. * Tools/TestWebKitAPI/Tests/WebKit/EnumerateMediaDevices.cpp: (TestWebKitAPI::TEST): Remove unneeded configuration. Canonical link: https://commits.webkit.org/257094@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 460662: [Cocoa] Use AVCaptureDeviceDiscoverySession for ca...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 460662e8590c4a2e99a90a8a97b56ed9cb92016f https://github.com/WebKit/WebKit/commit/460662e8590c4a2e99a90a8a97b56ed9cb92016f Author: Eric Carlson Date: 2022-11-18 (Fri, 18 Nov 2022) Changed paths: M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h M Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm M Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm Log Message: --- [Cocoa] Use AVCaptureDeviceDiscoverySession for camera discovery https://bugs.webkit.org/show_bug.cgi?id=248054 rdar://101919809 Reviewed by Youenn Fablet. * Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h: * Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm: * Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm: (WebCore::currentCameras): Use AVCaptureDeviceDiscoverySession. (WebCore::AVCaptureDeviceManager::updateCachedAVCaptureDevices): Call currentCameras. (WebCore::AVCaptureDeviceManager::retrieveCaptureDevices): Ditto. (WebCore::AVCaptureDeviceManager::registerForDeviceNotifications): Key-value observe AVCaptureDeviceDiscoverySession.devices. (WebCore::AVCaptureDeviceManager::~AVCaptureDeviceManager): Stop listening. Canonical link: https://commits.webkit.org/256849@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ff7079: REGRESSION (256161@main): [ macOS Debug ] TestWebK...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ff70798d7add5ce9bc96cedb23ffb021e825ef3a https://github.com/WebKit/WebKit/commit/ff70798d7add5ce9bc96cedb23ffb021e825ef3a Author: Eric Carlson Date: 2022-11-11 (Fri, 11 Nov 2022) Changed paths: M Source/WebKit/UIProcess/WebPageProxy.cpp Log Message: --- REGRESSION (256161@main): [ macOS Debug ] TestWebKitAPI.GPUProcess.OnlyLaunchesGPUProcessWhenNecessaryMediaFeatureDetection is a consistent failure https://bugs.webkit.org/show_bug.cgi?id=247775 rdar://102221029 Reviewed by Darin Adler and John Wilander. * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didCommitLoadForFrame): Use `m_userMediaPermissionRequestManager` instead of `userMediaPermissionRequestManager()`` so we don't create the manager, and thus the GPU process, if it doesn't already exist. Canonical link: https://commits.webkit.org/256591@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] fc20b7: The size of a video track's settings is incorrect ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: fc20b78a56dcc355e091918cd8e9e2e7981e00a3 https://github.com/WebKit/WebKit/commit/fc20b78a56dcc355e091918cd8e9e2e7981e00a3 Author: Eric Carlson Date: 2022-11-07 (Mon, 07 Nov 2022) Changed paths: A LayoutTests/fast/mediastream/cloned-video-stream-aspect-ratio-expected.txt A LayoutTests/fast/mediastream/cloned-video-stream-aspect-ratio.html M Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp M Source/WebCore/platform/mediastream/RealtimeVideoSource.cpp M Source/WebCore/platform/mediastream/RealtimeVideoSource.h Log Message: --- The size of a video track's settings is incorrect in the second MediaStream created when the 'aspectRatio' contraint is applied https://bugs.webkit.org/show_bug.cgi?id=245511 rdar://100254156 Reviewed by Youenn Fablet. * LayoutTests/fast/mediastream/cloned-video-stream-aspect-ratio-expected.txt: Added. * LayoutTests/fast/mediastream/cloned-video-stream-aspect-ratio.html: Added. * Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp: (WebCore::RealtimeMediaSource::size const): Apply aspectRatio to size. (WebCore::RealtimeMediaSource::setAspectRatio): Call `setSize` instead of modifying m_size directly so observers will know the size has changed. * Source/WebCore/platform/mediastream/RealtimeVideoSource.cpp: (WebCore::RealtimeVideoSource::settingsDidChange): Call setSizeAndFrameRate when size changes so settings are updated. * Source/WebCore/platform/mediastream/RealtimeVideoSource.h: Canonical link: https://commits.webkit.org/256433@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0ee91a: Use an ephemeral device ID for the Continuity came...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0ee91ab89adb35d40fb7557159dfbb5380326156 https://github.com/WebKit/WebKit/commit/0ee91ab89adb35d40fb7557159dfbb5380326156 Author: Eric Carlson Date: 2022-10-31 (Mon, 31 Oct 2022) Changed paths: A LayoutTests/http/tests/media/media-stream/enumerate-devices-ephemeral-id-expected.txt A LayoutTests/http/tests/media/media-stream/enumerate-devices-ephemeral-id.html A LayoutTests/http/tests/media/media-stream/resources/enumerate-devices-ephemeral-id-iframe.html M Source/WTF/wtf/PlatformHave.h M Source/WebCore/Headers.cmake M Source/WebCore/Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp A Source/WebCore/Modules/mediastream/MediaDeviceHashSalts.h M Source/WebCore/Modules/mediastream/MediaDevices.cpp M Source/WebCore/Modules/mediastream/MediaDevices.h M Source/WebCore/Modules/mediastream/UserMediaClient.h M Source/WebCore/Modules/mediastream/UserMediaController.cpp M Source/WebCore/Modules/mediastream/UserMediaController.h M Source/WebCore/Modules/mediastream/UserMediaRequest.cpp M Source/WebCore/Modules/mediastream/UserMediaRequest.h M Source/WebCore/Modules/speech/SpeechRecognitionCaptureSource.cpp M Source/WebCore/Modules/webaudio/MediaStreamAudioSource.cpp M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/platform/mediastream/CaptureDevice.h M Source/WebCore/platform/mediastream/RealtimeIncomingAudioSource.cpp M Source/WebCore/platform/mediastream/RealtimeIncomingVideoSource.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSource.h M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h M Source/WebCore/platform/mediastream/RealtimeMediaSourceFactory.h M Source/WebCore/platform/mediastream/RealtimeMediaSourceSettings.h M Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.cpp M Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.h M Source/WebCore/platform/mediastream/RealtimeVideoSource.cpp M Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.cpp M Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.h M Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp M Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioCaptureSource.h M Source/WebCore/platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.h M Source/WebCore/platform/mediastream/gstreamer/GStreamerDisplayCaptureDeviceManager.cpp M Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp M Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h M Source/WebCore/platform/mediastream/gstreamer/MockRealtimeAudioSourceGStreamer.cpp M Source/WebCore/platform/mediastream/gstreamer/MockRealtimeAudioSourceGStreamer.h M Source/WebCore/platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp M Source/WebCore/platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.h M Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingAudioSourceGStreamer.cpp M Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingSourceGStreamer.cpp M Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingSourceGStreamer.h M Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingVideoSourceGStreamer.cpp M Source/WebCore/platform/mediastream/ios/CoreAudioCaptureSourceIOS.h M Source/WebCore/platform/mediastream/ios/CoreAudioCaptureSourceIOS.mm M Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h M Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm M Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp M Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.h M Source/WebCore/platform/mediastream/mac/MockAudioSharedUnit.mm M Source/WebCore/platform/mediastream/mac/MockRealtimeVideoSourceMac.h M Source/WebCore/platform/mediastream/mac/MockRealtimeVideoSourceMac.mm M Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp M Source/WebCore/platform/mock/MockMediaDevice.h M Source/WebCore/platform/mock/MockRealtimeAudioSource.cpp M Source/WebCore/platform/mock/MockRealtimeAudioSource.h M Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp M Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.h M Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp M Source/WebCore/platform/mock/MockRealtimeVideoSource.h M Source/WebKit/GPUProcess/GPUProcess.cpp M Source/WebKit/GPUProcess/GPUProcess.h M Source/WebKit/GPUProcess/GPUProcess.messages.in
[webkit-changes] [WebKit/WebKit] 4ec10f: Switch to alternate element for AirPlay w...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4ec10f6ab8204352d7e35c0f16f8219b6688348d https://github.com/WebKit/WebKit/commit/4ec10f6ab8204352d7e35c0f16f8219b6688348d Author: Eric Carlson Date: 2022-10-17 (Mon, 17 Oct 2022) Changed paths: M LayoutTests/TestExpectations A LayoutTests/media/media-source/remoteplayback-from-source-element-expected.txt A LayoutTests/media/media-source/remoteplayback-from-source-element.html M LayoutTests/platform/mac/TestExpectations M Source/WebCore/Modules/remoteplayback/RemotePlayback.cpp M Source/WebCore/Modules/remoteplayback/RemotePlayback.h M Source/WebCore/html/HTMLMediaElement.cpp M Source/WebCore/html/HTMLMediaElement.h M Source/WebCore/html/MediaElementSession.cpp M Source/WebCore/platform/graphics/MediaPlayer.cpp M Source/WebCore/platform/graphics/MediaPlayer.h M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm M Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm M Source/WebCore/testing/Internals.cpp M Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp M Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h M Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.messages.in M Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp M Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerMIMETypeCache.cpp M Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerMIMETypeCache.h Log Message: --- Switch to alternate element for AirPlay when necessary https://bugs.webkit.org/show_bug.cgi?id=246466 Reviewed by Jer Noble. * LayoutTests/media/media-source/remoteplayback-from-source-element-expected.txt: Added. * LayoutTests/media/media-source/remoteplayback-from-source-element.html: Added. * LayoutTests/TestExpectations: New test skipped everywhere. * LayoutTests/platform/mac/TestExpectations: New test enabled. * Source/WebCore/Modules/remoteplayback/RemotePlayback.cpp: (WebCore::RemotePlayback::watchAvailability): Add runtime logging. (WebCore::RemotePlayback::cancelWatchAvailability): Ditto. (WebCore::RemotePlayback::prompt): Ditto. (WebCore::RemotePlayback::shouldPlayToRemoteTargetChanged): Ditto. (WebCore::RemotePlayback::setState): Ditto. (WebCore::RemotePlayback::disconnect): Ditto. (WebCore::RemotePlayback::availabilityChanged): Ditto. (WebCore::RemotePlayback::setLogger): Ditto. (WebCore::RemotePlayback::logChannel const): Ditto. * Source/WebCore/Modules/remoteplayback/RemotePlayback.h: * Source/WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement): Set remote logger. (WebCore::HTMLMediaElement::checkPlaybackTargetCompatibility): If loaded from a element and is another uses a media engine that supports remote playback, try loading that. (WebCore::HTMLMediaElement::loadResource): Don't bother trying MSE, MediaStream, or blob if the load requires remote playback. (WebCore::HTMLMediaElement::applyConfiguration): Apply the stored configuration. (WebCore::HTMLMediaElement::setReadyState): Apply the remote configuration once HAVE_FUTURE_DATA is reached. (WebCore::HTMLMediaElement::selectNextSourceChild): Set parameter `requiresRemotePlayback` field. (WebCore::HTMLMediaElement::clearMediaPlayer): Force a target availability event. (WebCore::HTMLMediaElement::wirelessRoutesAvailableDidChange): Only post availability event when availability actually changes. (WebCore::HTMLMediaElement::setIsPlayingToWirelessTarget): (WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent): Add parameter so we don't necessarily post events when availability doesn't change. (WebCore::HTMLMediaElement::addEventListener): Force a target availability event. * Source/WebCore/html/HTMLMediaElement.h: * Source/WebCore/html/MediaElementSession.cpp: (WebCore::MediaElementSession::showPlaybackTargetPicker): Always log. * Source/WebCore/platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::load): Add `requiresRemotePlayback` parameter. * Source/WebCore/platform/graphics/MediaPlayer.h: (WebCore::MediaEngineSupportParameters::encode const): (WebCore::MediaEngineSupportParameters::decode): * Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm: (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::supportsType): Consider new support field. * Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm: (WebCore::MediaPlayerPrivateWebM::supportsType): Ditto. * Source/WebCore/testing/Internals.cpp: (WebCore::Internals::setMockMediaPlaybackTargetPickerEnabled): NULL-check frame and page. (WebCore::Internals::setMockMediaPlaybackTargetPickerState): Ditto. (WebCore::Internals::mockMediaPlaybackTargetPickerDismissPopup): Ditto. * Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp: (WebKit::RemoteMediaPlayerProxy::load): Add "requires remote playback" p
[webkit-changes] [295757] trunk
Title: [295757] trunk Revision 295757 Author eric.carl...@apple.com Date 2022-06-22 17:05:18 -0700 (Wed, 22 Jun 2022) Log Message Mute capture when disconnected from hardware console rdar://87794804 Reviewed by Brent Fulgham * Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h * Source/WebCore/page/ActivityState.cpp * Source/WebCore/page/ActivityState.h * Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h * Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm * Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm * Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm * Source/WebKit/UIProcess/WebPageProxy.cpp * Source/WebKit/UIProcess/WebPageProxy.h * Source/WebKit/UIProcess/WebProcessPool.h * Source/WebKit/UIProcess/WebProcessProxy.h * Source/WebKit/UIProcess/mac/WindowServerConnection.h * Source/WebKit/UIProcess/mac/WindowServerConnection.mm * Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm Canonical link: https://commits.webkit.org/251761@main Modified Paths trunk/Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h trunk/Source/WebCore/page/ActivityState.cpp trunk/Source/WebCore/page/ActivityState.h trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm trunk/Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm trunk/Source/WebKit/UIProcess/WebPageProxy.cpp trunk/Source/WebKit/UIProcess/WebPageProxy.h trunk/Source/WebKit/UIProcess/WebProcessPool.h trunk/Source/WebKit/UIProcess/WebProcessProxy.h trunk/Source/WebKit/UIProcess/mac/WindowServerConnection.h trunk/Source/WebKit/UIProcess/mac/WindowServerConnection.mm trunk/Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm Diff Modified: trunk/Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h (295756 => 295757) --- trunk/Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h 2022-06-23 00:04:40 UTC (rev 295756) +++ trunk/Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h 2022-06-23 00:05:18 UTC (rev 295757) @@ -206,6 +206,11 @@ static const CGSNotificationType kCGSConnectionWindowModificationsStopped = (CGSNotificationType)(kCGSFirstConnectionNotification + 7); static const CGSNotificationType kCGSessionConsoleConnect = kCGSFirstSessionNotification; static const CGSNotificationType kCGSessionConsoleDisconnect = (CGSNotificationType)(kCGSessionConsoleConnect + 1); +static const CGSNotificationType kCGSessionRemoteConnect = (CGSNotificationType)(kCGSessionConsoleDisconnect + 1); +static const CGSNotificationType kCGSessionRemoteDisconnect = (CGSNotificationType)(kCGSessionRemoteConnect + 1); +static const CGSNotificationType kCGSessionLoggedOn = (CGSNotificationType)(kCGSessionRemoteDisconnect + 1); +static const CGSNotificationType kCGSessionLoggedOff = (CGSNotificationType)(kCGSessionLoggedOn + 1); +static const CGSNotificationType kCGSessionConsoleWillDisconnect = (CGSNotificationType)(kCGSessionLoggedOff + 1); #endif // PLATFORM(MAC) Modified: trunk/Source/WebCore/page/ActivityState.cpp (295756 => 295757) --- trunk/Source/WebCore/page/ActivityState.cpp 2022-06-23 00:04:40 UTC (rev 295756) +++ trunk/Source/WebCore/page/ActivityState.cpp 2022-06-23 00:05:18 UTC (rev 295757) @@ -52,6 +52,7 @@ appendIf(ActivityState::IsAudible, "audible"); appendIf(ActivityState::IsLoading, "loading"); appendIf(ActivityState::IsCapturingMedia, "capturing media"); +appendIf(ActivityState::IsConnectedToHardwareConsole, "attached to hardware console"); return ts; } Modified: trunk/Source/WebCore/page/ActivityState.h (295756 => 295757) --- trunk/Source/WebCore/page/ActivityState.h 2022-06-23 00:04:40 UTC (rev 295756) +++ trunk/Source/WebCore/page/ActivityState.h 2022-06-23 00:05:18 UTC (rev 295757) @@ -44,9 +44,10 @@ IsAudible = 1 << 6, IsLoading = 1 << 7, IsCapturingMedia = 1 << 8, +IsConnectedToHardwareConsole = 1 << 9, }; -static constexpr OptionSet allFlags() { return { WindowIsActive, IsFocused, IsVisible, IsVisibleOrOccluded, IsInWindow, IsVisuallyIdle, IsAudible, IsLoading, IsCapturingMedia }; } +static constexpr OptionSet allFlags() { return { WindowIsActive, IsFocused, IsVisible, IsVisibleOrOccluded, IsInWindow, IsVisuallyIdle, IsAudible, IsLoading, IsCapturingMedia, IsConnectedToHardwareConsole }; } }; enum class ActivityStateForCPUSampling { @@ -72,7 +73,8 @@ WebCore::ActivityState::Flag::IsVisuallyIdle, WebCore::ActivityState::Flag::IsAudible, WebCore::ActivityState::Flag::IsLoading, -WebCore::ActivityState::Flag::IsCapturingMedia +WebCore::ActivityState::Flag::IsCapturingMedia, +WebCore::ActivityState::Flag::IsConnectedToHardwareConsole >; }; Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h (295756 => 295757) --- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h 2022-06-23 00:04:40 UTC (rev 295756) +++ trunk/Source/WebKi
[webkit-changes] [295613] trunk/Source/WebCore/platform/mediastream/mac/ ScreenCaptureKitCaptureSource.mm
Title: [295613] trunk/Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm Revision 295613 Author eric.carl...@apple.com Date 2022-06-16 14:48:09 -0700 (Thu, 16 Jun 2022) Log Message [macOS] Unable to resume screen sharing after it is paused https://bugs.webkit.org/show_bug.cgi?id=241693 rdar://93573937 Reviewed by Youenn Fablet. * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm: (WebCore::ScreenCaptureKitCaptureSource::stop): Clear m_contentStream in the completion handler. (WebCore::ScreenCaptureKitCaptureSource::startContentStream): Don't recreate instance variables that already exist. Canonical link: https://commits.webkit.org/251618@main Modified Paths trunk/Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm Diff Modified: trunk/Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm (295612 => 295613) --- trunk/Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm 2022-06-16 20:45:19 UTC (rev 295612) +++ trunk/Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm 2022-06-16 21:48:09 UTC (rev 295613) @@ -212,11 +212,13 @@ if (m_contentStream) { auto stopHandler = makeBlockPtr([weakThis = WeakPtr { *this }] (NSError *error) mutable { -if (!error) -return; callOnMainRunLoop([weakThis = WTFMove(weakThis), error = RetainPtr { error }]() mutable { -if (weakThis) +if (!weakThis) +return; + +weakThis->m_contentStream = nil; +if (error) weakThis->streamFailedWithError(WTFMove(error), "-[SCStream stopCaptureWithCompletionHandler:] failed"_s); }); }); @@ -384,18 +386,20 @@ return; } -m_contentFilter = switchOn(m_content.value(), -[] (const RetainPtr display) -> RetainPtr { -return adoptNS([PAL::allocSCContentFilterInstance() initWithDisplay:display.get() excludingWindows:@[]]); -}, -[] (const RetainPtr window) -> RetainPtr { -return adoptNS([PAL::allocSCContentFilterInstance() initWithDesktopIndependentWindow:window.get()]); +if (!m_contentFilter) { +m_contentFilter = switchOn(m_content.value(), +[] (const RetainPtr display) -> RetainPtr { +return adoptNS([PAL::allocSCContentFilterInstance() initWithDisplay:display.get() excludingWindows:@[]]); +}, +[] (const RetainPtr window) -> RetainPtr { +return adoptNS([PAL::allocSCContentFilterInstance() initWithDesktopIndependentWindow:window.get()]); +} +); + +if (!m_contentFilter) { +streamFailedWithError(nil, "Failed to allocate SCContentFilter"_s); +return; } -); - -if (!m_contentFilter) { -streamFailedWithError(nil, "Failed to allocate SCContentFilter"_s); -return; } if (!m_captureHelper) @@ -405,10 +409,12 @@ #if HAVE(SC_CONTENT_SHARING_SESSION) if (ScreenCaptureKitSharingSessionManager::isAvailable()) { -m_contentSharingSession = ScreenCaptureKitSharingSessionManager::singleton().takeSharingSessionForFilter(m_contentFilter.get()); if (!m_contentSharingSession) { -streamFailedWithError(nil, "Failed to get SharingSession"_s); -return; +m_contentSharingSession = ScreenCaptureKitSharingSessionManager::singleton().takeSharingSessionForFilter(m_contentFilter.get()); +if (!m_contentSharingSession) { +streamFailedWithError(nil, "Failed to get SharingSession"_s); +return; +} } m_contentStream = adoptNS([PAL::allocSCStreamInstance() initWithSharingSession:m_contentSharingSession.get() captureOutputProperties:streamConfiguration().get() delegate:m_captureHelper.get()]); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [295568] trunk/Source/WebCore/platform/graphics/avfoundation/objc/ SourceBufferPrivateAVFObjC.mm
Title: [295568] trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm Revision 295568 Author eric.carl...@apple.com Date 2022-06-15 12:28:01 -0700 (Wed, 15 Jun 2022) Log Message [Cocoa] Crash in SourceBufferPrivateAVFObjC::layerDidReceiveError. https://bugs.webkit.org/show_bug.cgi?id=241599 rdar://92972452 Reviewed by Jer Noble. Have WebAVSampleBufferErrorListener take a strong reference to `parent` before calling it. * Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: (-[WebAVSampleBufferErrorListener observeValueForKeyPath:ofObject:change:context:]): (-[WebAVSampleBufferErrorListener layerFailedToDecode:]): (-[WebAVSampleBufferErrorListener audioRendererWasAutomaticallyFlushed:]): Canonical link: https://commits.webkit.org/251573@main Modified Paths trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm Diff Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm (295567 => 295568) --- trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm 2022-06-15 18:01:02 UTC (rev 295567) +++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm 2022-06-15 19:28:01 UTC (rev 295568) @@ -210,13 +210,13 @@ return; callOnMainThread([parent = _parent, layer = WTFMove(layer), error = WTFMove(error)] { -if (parent) -parent->layerDidReceiveError(layer.get(), error.get()); +if (auto strongParent = RefPtr { parent.get() }) +strongParent->layerDidReceiveError(layer.get(), error.get()); }); } else if ([keyPath isEqualToString:@"outputObscuredDueToInsufficientExternalProtection"]) { callOnMainThread([parent = _parent, obscured = [[change valueForKey:NSKeyValueChangeNewKey] boolValue]] { -if (parent) -parent->outputObscuredDueToInsufficientExternalProtectionChanged(obscured); +if (auto strongParent = RefPtr { parent.get() }) +strongParent->outputObscuredDueToInsufficientExternalProtectionChanged(obscured); }); } else ASSERT_NOT_REACHED(); @@ -233,8 +233,8 @@ ASSERT([keyPath isEqualToString:@"error"]); callOnMainThread([parent = _parent, renderer = WTFMove(renderer), error = WTFMove(error)] { -if (parent) -parent->rendererDidReceiveError(renderer.get(), error.get()); +if (auto strongParent = RefPtr { parent.get() }) +strongParent->rendererDidReceiveError(renderer.get(), error.get()); }); } else ASSERT_NOT_REACHED(); @@ -247,8 +247,8 @@ return; callOnMainThread([parent = _parent, layer = WTFMove(layer), error = retainPtr([[note userInfo] valueForKey:AVSampleBufferDisplayLayerFailedToDecodeNotificationErrorKey])] { -if (parent) -parent->layerDidReceiveError(layer.get(), error.get()); +if (auto strongParent = RefPtr { parent.get() }) +strongParent->layerDidReceiveError(layer.get(), error.get()); }); } @@ -259,8 +259,8 @@ return; callOnMainThread([parent = _parent, renderer = WTFMove(renderer), flushTime = [[[note userInfo] valueForKey:AVSampleBufferAudioRendererFlushTimeKey] CMTimeValue]] { -if (parent) -parent->rendererWasAutomaticallyFlushed(renderer.get(), flushTime); +if (auto strongParent = RefPtr { parent.get() }) +strongParent->rendererWasAutomaticallyFlushed(renderer.get(), flushTime); }); } @end ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [295533] trunk/Source/WebCore/platform/mediastream/mac/ AVCaptureDeviceManager.mm
Title: [295533] trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm Revision 295533 Author eric.carl...@apple.com Date 2022-06-14 13:33:23 -0700 (Tue, 14 Jun 2022) Log Message [Cocoa] Update camera list when system preferred camera changes https://bugs.webkit.org/show_bug.cgi?id=241604 rdar://89694851 Reviewed by Youenn Fablet. * Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm: (WebCore::AVCaptureDeviceManager::~AVCaptureDeviceManager): (WebCore::AVCaptureDeviceManager::registerForDeviceNotifications): (-[WebCoreAVCaptureDeviceManagerObserver observeValueForKeyPath:ofObject:change:context:]): Canonical link: https://commits.webkit.org/251538@main Modified Paths trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm Diff Modified: trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm (295532 => 295533) --- trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm 2022-06-14 20:01:05 UTC (rev 295532) +++ trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm 2022-06-14 20:33:23 UTC (rev 295533) @@ -224,6 +224,7 @@ [m_objcObserver disconnect]; for (AVCaptureDevice *device in m_avCaptureDevices.get()) [device removeObserver:m_objcObserver.get() forKeyPath:@"suspended"]; +[PAL::getAVCaptureDeviceClass() removeObserver:m_objcObserver.get() forKeyPath:@"systemPreferredCamera"]; } void AVCaptureDeviceManager::registerForDeviceNotifications() @@ -230,6 +231,7 @@ { [[NSNotificationCenter defaultCenter] addObserver:m_objcObserver.get() selector:@selector(deviceConnectedDidChange:) name:AVCaptureDeviceWasConnectedNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:m_objcObserver.get() selector:@selector(deviceConnectedDidChange:) name:AVCaptureDeviceWasDisconnectedNotification object:nil]; +[PAL::getAVCaptureDeviceClass() addObserver:m_objcObserver.get() forKeyPath:@"systemPreferredCamera" options:(NSKeyValueObservingOptionOld | NSKeyValueObservingOptionNew) context:nil]; } } // namespace WebCore @@ -272,8 +274,13 @@ if (!m_callback) return; -if ([keyPath isEqualToString:@"suspended"]) -m_callback->refreshCaptureDevices(); +if (![keyPath isEqualToString:@"suspended"] && ![keyPath isEqualToString:@"systemPreferredCamera"]) +return; + +RunLoop::main().dispatch([self, protectedSelf = retainPtr(self)] { +if (m_callback) +m_callback->refreshCaptureDevices(); +}); } @end ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [295440] trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm
Title: [295440] trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm Revision 295440 Author eric.carl...@apple.com Date 2022-06-09 16:43:51 -0700 (Thu, 09 Jun 2022) Log Message [Cocoa] TestWebKitAPI.MediaLoading.CaptivePortalHLS times out https://bugs.webkit.org/show_bug.cgi?id=241476 rdar://93270049 Reviewed by Jer Noble. * Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm: (TestWebKitAPI::TEST): Return early if the SPI used for captive portal mode is not implemented. Canonical link: https://commits.webkit.org/251446@main Modified Paths trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm Diff Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm (295439 => 295440) --- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm 2022-06-09 23:12:18 UTC (rev 295439) +++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm 2022-06-09 23:43:51 UTC (rev 295440) @@ -31,6 +31,8 @@ #import "TestWKWebView.h" #import +#import + #if ENABLE(VIDEO) && USE(AVFOUNDATION) namespace TestWebKitAPI { @@ -187,6 +189,9 @@ TEST(MediaLoading, CaptivePortalHLS) { +if (!PAL::canLoad_AVFoundation_AVURLAssetAllowableTypeCategoriesKey()) +return; + constexpr auto hlsPlayTestHTML = "
[webkit-changes] [295439] trunk/Source/WebCore/platform/graphics
Title: [295439] trunk/Source/WebCore/platform/graphics Revision 295439 Author eric.carl...@apple.com Date 2022-06-09 16:12:18 -0700 (Thu, 09 Jun 2022) Log Message [iOS] iPhone fullscreen captions are sometimes duplicated https://bugs.webkit.org/show_bug.cgi?id=241464 rdar://94261522 Reviewed by Jer Noble. Clear the text track representation when the video layer is cleared. * Source/WebCore/platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm: (WebCore::VideoLayerManagerObjC::didDestroyVideoLayer): Clear the text track representation. * Source/WebCore/platform/graphics/cocoa/TextTrackRepresentationCocoa.mm: (WebCore::TextTrackRepresentationCocoa::TextTrackRepresentationCocoa): Name the text track representation layer to aid debugging in the future. Canonical link: https://commits.webkit.org/251445@main Modified Paths trunk/Source/WebCore/platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm trunk/Source/WebCore/platform/graphics/cocoa/TextTrackRepresentationCocoa.mm Diff Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm (295438 => 295439) --- trunk/Source/WebCore/platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm 2022-06-09 21:45:40 UTC (rev 295438) +++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm 2022-06-09 23:12:18 UTC (rev 295439) @@ -91,6 +91,9 @@ { ALWAYS_LOG(LOGIDENTIFIER); +#if ENABLE(VIDEO_PRESENTATION_MODE) +setTextTrackRepresentationLayer(nil); +#endif [m_videoLayer removeFromSuperlayer]; m_videoInlineLayer = nil; Modified: trunk/Source/WebCore/platform/graphics/cocoa/TextTrackRepresentationCocoa.mm (295438 => 295439) --- trunk/Source/WebCore/platform/graphics/cocoa/TextTrackRepresentationCocoa.mm 2022-06-09 21:45:40 UTC (rev 295438) +++ trunk/Source/WebCore/platform/graphics/cocoa/TextTrackRepresentationCocoa.mm 2022-06-09 23:12:18 UTC (rev 295439) @@ -119,6 +119,8 @@ { [m_layer setDelegate:m_delegate.get()]; [m_layer setContentsGravity:kCAGravityBottom]; + +[m_layer setName:@"TextTrackRepresentation"]; } TextTrackRepresentationCocoa::~TextTrackRepresentationCocoa() ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [295426] trunk
Title: [295426] trunk
Revision 295426
Author eric.carl...@apple.com
Date 2022-06-09 11:35:15 -0700 (Thu, 09 Jun 2022)
Log Message
Regression(r283217) : [ iOS 15 ] media/track/track-forced-subtitles-in-band.html is failing
https://bugs.webkit.org/show_bug.cgi?id=231333
rdar://83955154
Reviewed by Jer Noble.
* LayoutTests/media/track/track-forced-subtitles-in-band-expected.txt: Update.
* LayoutTests/media/track/track-forced-subtitles-in-band.html: Ditto.
* LayoutTests/media/video-test.js: Make waitForEventWithTimeout return a Promise
rejection when it times out so failures can be caught.
* LayoutTests/platform/ios-wk2/TestExpectations: Remove updated test.
* LayoutTests/platform/mac/TestExpectations: Ditto.
* Source/WebCore/html/track/TextTrackCueGeneric.cpp: Add more logging to help future debugging.
* Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Ditto.
Canonical link: https://commits.webkit.org/251432@main
Modified Paths
trunk/LayoutTests/media/track/track-forced-subtitles-in-band-expected.txt
trunk/LayoutTests/media/track/track-forced-subtitles-in-band.html
trunk/LayoutTests/media/video-test.js
trunk/LayoutTests/platform/ios-wk2/TestExpectations
trunk/LayoutTests/platform/mac/TestExpectations
trunk/Source/WebCore/html/track/TextTrackCueGeneric.cpp
trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm
Diff
Modified: trunk/LayoutTests/media/track/track-forced-subtitles-in-band-expected.txt (295425 => 295426)
--- trunk/LayoutTests/media/track/track-forced-subtitles-in-band-expected.txt 2022-06-09 18:21:03 UTC (rev 295425)
+++ trunk/LayoutTests/media/track/track-forced-subtitles-in-band-expected.txt 2022-06-09 18:35:15 UTC (rev 295426)
@@ -9,7 +9,7 @@
EVENT(canplaythrough)
** Forced tracks should be in .textTracks, but not in the menu
-EXPECTED (video.textTracks.length == '9') OK
+EXPECTED (video.textTracks.length == '11') OK
** Only the 'fr' forced track should be showing
EXPECTED (video.textTracks[0].language == 'en') OK
@@ -48,11 +48,19 @@
EXPECTED (video.textTracks[8].kind == 'captions') OK
EXPECTED (video.textTracks[8].mode == 'disabled') OK
+EXPECTED (video.textTracks[9].language == 'es') OK
+EXPECTED (video.textTracks[9].kind == 'chapters') OK
+EXPECTED (video.textTracks[9].mode == 'hidden') OK
+
+EXPECTED (video.textTracks[10].language == 'en') OK
+EXPECTED (video.textTracks[10].kind == 'chapters') OK
+EXPECTED (video.textTracks[10].mode == 'hidden') OK
+
+** A cue should become active when current time is within its active range
RUN(video.currentTime = 9.5)
-
EVENT(seeked)
EVENT(cuechange)
-EXPECTED (video.textTracks[3].activeCues.length == '1') OK
+EXPECTED (video.textTracks[3].activeCues.length === 1 == 'true') OK
END OF TEST
Modified: trunk/LayoutTests/media/track/track-forced-subtitles-in-band.html (295425 => 295426)
--- trunk/LayoutTests/media/track/track-forced-subtitles-in-band.html 2022-06-09 18:21:03 UTC (rev 295425)
+++ trunk/LayoutTests/media/track/track-forced-subtitles-in-band.html 2022-06-09 18:35:15 UTC (rev 295426)
@@ -3,25 +3,26 @@
-