| Index: webrtc/modules/desktop_capture/mac/window_list_utils.cc
|
| diff --git a/webrtc/modules/desktop_capture/mac/window_list_utils.cc b/webrtc/modules/desktop_capture/mac/window_list_utils.cc
|
| index 0261c45a69d35f6f011f6ad4286ffae11b183a4b..bcb8798c39d9e9d9dbf90527a8e74752cd47a6d7 100644
|
| --- a/webrtc/modules/desktop_capture/mac/window_list_utils.cc
|
| +++ b/webrtc/modules/desktop_capture/mac/window_list_utils.cc
|
| @@ -16,7 +16,8 @@
|
|
|
| namespace webrtc {
|
|
|
| -bool GetWindowList(WindowCapturer::WindowList* windows) {
|
| +bool GetWindowList(DesktopCapturer::SourceList* windows,
|
| + bool ignore_minimized) {
|
| // Only get on screen, non-desktop windows.
|
| CFArrayRef window_array = CGWindowListCopyWindowInfo(
|
| kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements,
|
| @@ -24,6 +25,12 @@ bool GetWindowList(WindowCapturer::WindowList* windows) {
|
| if (!window_array)
|
| return false;
|
|
|
| + MacDesktopConfiguration desktop_config;
|
| + if (ignore_minimized) {
|
| + desktop_config = MacDesktopConfiguration::GetCurrent(
|
| + MacDesktopConfiguration::TopLeftOrigin);
|
| + }
|
| +
|
| // Check windows to make sure they have an id, title, and use window layer
|
| // other than 0.
|
| CFIndex count = CFArrayGetCount(window_array);
|
| @@ -45,7 +52,14 @@ bool GetWindowList(WindowCapturer::WindowList* windows) {
|
|
|
| int id;
|
| CFNumberGetValue(window_id, kCFNumberIntType, &id);
|
| - WindowCapturer::Window window;
|
| +
|
| + // Skip windows that are minimized and not full screen.
|
| + if (ignore_minimized && IsWindowMinimized(id) &&
|
| + !IsWindowFullScreen(desktop_config, window)) {
|
| + continue;
|
| + }
|
| +
|
| + DesktopCapturer::Source window;
|
| window.id = id;
|
| if (!rtc::ToUtf8(window_title, &(window.title)) ||
|
| window.title.empty()) {
|
|
|