RESOLVED FIXED 236531
[macOS] Use system window and screen picker when available
https://bugs.webkit.org/show_bug.cgi?id=236531
Summary [macOS] Use system window and screen picker when available
Eric Carlson
Reported 2022-02-11 15:24:30 PST
Use system window and screen picker when available
Attachments
Patch (49.19 KB, patch)
2022-02-11 16:24 PST, Eric Carlson
no flags
Patch (1.51 KB, patch)
2022-02-12 13:28 PST, Eric Carlson
no flags
Eric Carlson
Comment 1 2022-02-11 15:28:56 PST
Eric Carlson
Comment 2 2022-02-11 16:24:24 PST
Jer Noble
Comment 3 2022-02-11 16:33:17 PST
Comment on attachment 451757 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=451757&action=review r=me with nit > Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm:151 > + RunLoop::main().dispatch([self, strongSelf = RetainPtr { self }, session = RetainPtr { session }]() mutable { We shouldn't use RunLoop::main().dispatch() from WebCore code, because it will dispatch to the wrong thread on iOS/WK1. Just use runOnMainThread(). It's a known problem that this pattern is super confusing; apologies! > Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm:159 > + RunLoop::main().dispatch([self, strongSelf = RetainPtr { self }, session = RetainPtr { session }]() mutable { Ditto.
EWS
Comment 4 2022-02-12 08:10:04 PST
Committed r289696 (247181@main): <https://commits.webkit.org/247181@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 451757 [details].
Eric Carlson
Comment 5 2022-02-12 13:28:05 PST
Reopening to attach new patch.
Eric Carlson
Comment 6 2022-02-12 13:28:07 PST
EWS
Comment 7 2022-02-12 14:59:00 PST
Committed r289701 (247186@main): <https://commits.webkit.org/247186@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 451793 [details].
Geoffrey Garen
Comment 8 2022-02-14 09:59:58 PST
> > Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm:151 > > + RunLoop::main().dispatch([self, strongSelf = RetainPtr { self }, session = RetainPtr { session }]() mutable { > > We shouldn't use RunLoop::main().dispatch() from WebCore code, because it > will dispatch to the wrong thread on iOS/WK1. Just use runOnMainThread(). > It's a known problem that this pattern is super confusing; apologies! Would this review comment be easier to understand if we renamed callOnMainThread to callOnWebCoreThread (or similar)? (I have been low-key wanting to rename that function for a few years, but not sure if the proposed new name would help most people or not.)
Note You need to log in before you can comment on or make changes to this bug.