From 631ef15a76b30d75dc4f5d4e58bad3f9f068bd2e Mon Sep 17 00:00:00 2001 From: Andreas Pehrson Date: Mon, 16 Sep 2024 14:51:45 +0000 Subject: [PATCH] Bug 1918996 - Use SCShareableContentStyleNone on macOS 15. r=webrtc-reviewers,jib Differential Revision: https://phabricator.services.mozilla.com/D222270 --- .../desktop_capture/mac/screen_capturer_sck.mm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/third_party/libwebrtc/modules/desktop_capture/mac/screen_capturer_sck.mm b/third_party/libwebrtc/modules/desktop_capture/mac/screen_capturer_sck.mm index 482501e2d942..9e45e94ccdeb 100644 --- a/third_party/libwebrtc/modules/desktop_capture/mac/screen_capturer_sck.mm +++ b/third_party/libwebrtc/modules/desktop_capture/mac/screen_capturer_sck.mm @@ -305,10 +305,18 @@ void ScreenCapturerSck::EnsureVisible() { SCContentSharingPickerConfiguration* config = picker.defaultConfiguration; config.allowedPickerModes = picker_modes_; picker.defaultConfiguration = config; + SCShareableContentStyle style = SCShareableContentStyleNone; // Pick a sensible style to start out with, based on our current mode. - // Default to Screen because if using Window the picker automatically hides - // our current window to show others. - SCShareableContentStyle style = SCShareableContentStyleDisplay; + if (@available(macOS 15, *)) { + // Stick with None because if we use Display, the picker doesn't let us + // pick a window when first opened. Behaves like Window in 14 except doesn't + // change window focus. + } else { + // Default to Display because if using Window the picker automatically hides + // our current window to show others. Saves a click compared to None when + // picking a display. + style = SCShareableContentStyleDisplay; + } if (picker_modes_ == SCContentSharingPickerModeSingleDisplay) { style = SCShareableContentStyleDisplay; } else if (picker_modes_ == SCContentSharingPickerModeSingleWindow ||