[webkit-changes] [WebKit/WebKit] ea20b8: Build fails with “'CGWindowListCreateImage' is una...

2024-08-27 Thread Eric Carlson
  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...

2024-08-16 Thread Eric Carlson
  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...

2024-07-24 Thread Eric Carlson
  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* (...

2024-07-18 Thread Eric Carlson
  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...

2024-07-12 Thread Eric Carlson
  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

2024-06-27 Thread Eric Carlson
  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...

2024-06-14 Thread Eric Carlson
  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...

2024-05-14 Thread Eric Carlson
  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...

2024-05-05 Thread Eric Carlson
  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...

2024-05-03 Thread Eric Carlson
  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

2024-04-01 Thread Eric Carlson
  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

2024-04-01 Thread Eric Carlson
  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...

2024-03-18 Thread Eric Carlson
  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...

2024-03-05 Thread Eric Carlson
  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 ...

2024-03-04 Thread Eric Carlson
  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 ...

2024-02-24 Thread Eric Carlson
  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...

2024-02-10 Thread Eric Carlson
  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...

2024-02-10 Thread Eric Carlson
  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 ...

2024-02-10 Thread Eric Carlson
  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 ...

2024-01-29 Thread Eric Carlson
  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 ...

2024-01-16 Thread Eric Carlson
  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

2023-12-13 Thread Eric Carlson
  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

2023-12-12 Thread Eric Carlson
  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...

2023-12-04 Thread Eric Carlson
  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...

2023-11-29 Thread Eric Carlson
  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...

2023-11-28 Thread Eric Carlson
  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

2023-11-28 Thread Eric Carlson
  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...

2023-11-27 Thread Eric Carlson
  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

2023-11-12 Thread Eric Carlson
  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...

2023-10-25 Thread Eric Carlson
  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...

2023-10-05 Thread Eric Carlson
  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

2023-10-04 Thread Eric Carlson
  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

2023-10-02 Thread Eric Carlson
  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

2023-09-18 Thread Eric Carlson
  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

2023-09-08 Thread Eric Carlson
  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...

2023-09-05 Thread Eric Carlson
  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...

2023-09-05 Thread Eric Carlson
  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...

2023-08-25 Thread Eric Carlson
  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

2023-08-07 Thread Eric Carlson
  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...

2023-08-07 Thread Eric Carlson
  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...

2023-08-04 Thread Eric Carlson
  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...

2023-08-02 Thread Eric Carlson
  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...

2023-08-01 Thread Eric Carlson
  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...

2023-07-28 Thread Eric Carlson
  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...

2023-07-24 Thread Eric Carlson
  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...

2023-07-13 Thread Eric Carlson
  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...

2023-07-11 Thread Eric Carlson
  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 ...

2023-07-10 Thread Eric Carlson
  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

2023-07-03 Thread Eric Carlson
  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

2023-06-22 Thread Eric Carlson
  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...

2023-06-22 Thread Eric Carlson
  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...

2023-06-12 Thread Eric Carlson
  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...

2023-06-09 Thread Eric Carlson
  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

2023-06-08 Thread Eric Carlson
  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...

2023-05-29 Thread Eric Carlson
  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...

2023-05-26 Thread Eric Carlson
  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

2023-05-25 Thread Eric Carlson
  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...

2023-05-24 Thread Eric Carlson
  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...

2023-05-22 Thread Eric Carlson
  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

2023-05-10 Thread Eric Carlson
  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

2023-05-04 Thread Eric Carlson
  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

2023-04-29 Thread Eric Carlson
  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...

2023-04-27 Thread Eric Carlson
  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

2023-04-26 Thread Eric Carlson
  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...

2023-03-31 Thread Eric Carlson
  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...

2023-03-27 Thread Eric Carlson
  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...

2023-03-03 Thread Eric Carlson
  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

2023-02-28 Thread Eric Carlson
  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...

2023-02-21 Thread Eric Carlson
  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...

2023-02-16 Thread Eric Carlson
  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...

2023-02-16 Thread Eric Carlson
  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...

2023-02-15 Thread Eric Carlson
  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...

2023-02-09 Thread Eric Carlson
  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...

2023-02-07 Thread Eric Carlson
  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

2023-02-06 Thread Eric Carlson
  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...

2023-02-06 Thread Eric Carlson
  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

2023-02-02 Thread Eric Carlson
  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

2023-01-31 Thread Eric Carlson
  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

2023-01-10 Thread Eric Carlson
  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

2023-01-10 Thread Eric Carlson
  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...

2023-01-10 Thread Eric Carlson
  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...

2023-01-06 Thread Eric Carlson
  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

2023-01-05 Thread Eric Carlson
  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

2023-01-03 Thread Eric Carlson
  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

2022-12-22 Thread Eric Carlson
  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...

2022-11-28 Thread Eric Carlson
  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...

2022-11-18 Thread Eric Carlson
  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...

2022-11-11 Thread Eric Carlson
  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 ...

2022-11-07 Thread Eric Carlson
  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...

2022-10-31 Thread Eric Carlson
  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...

2022-10-17 Thread Eric Carlson
  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

2022-06-22 Thread eric . carlson
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

2022-06-16 Thread eric . carlson
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

2022-06-15 Thread eric . carlson
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

2022-06-14 Thread eric . carlson
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

2022-06-09 Thread eric . carlson
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

2022-06-09 Thread eric . carlson
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

2022-06-09 Thread eric . carlson
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 @@
 
 
 
-