Chromium Code Reviews| 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..a03f159923dc22b7b3ae013b54b48a4101e8821f 100644 |
| --- a/webrtc/modules/desktop_capture/mac/window_list_utils.cc |
| +++ b/webrtc/modules/desktop_capture/mac/window_list_utils.cc |
| @@ -16,7 +16,12 @@ |
| namespace webrtc { |
| -bool GetWindowList(WindowCapturer::WindowList* windows) { |
| +bool GetWindowList(DesktopCapturer::SourceList* windows) { |
|
Sergey Ulanov
2016/11/07 20:20:56
Style guide discourages overloaded. I don't think
Hzj_jie
2016/11/07 23:00:18
Done.
|
| + return GetWindowList(windows, false); |
| +} |
| + |
| +bool GetWindowList(DesktopCapturer::SourceList* windows, |
| + bool ignore_minimized) { |
| // Only get on screen, non-desktop windows. |
| CFArrayRef window_array = CGWindowListCopyWindowInfo( |
| kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, |
| @@ -24,6 +29,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 +56,12 @@ 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; } |
|
Sergey Ulanov
2016/11/07 20:20:56
Please move continue to a separate line.
Hzj_jie
2016/11/07 23:00:18
Done.
|
| + |
| + DesktopCapturer::Source window; |
| window.id = id; |
| if (!rtc::ToUtf8(window_title, &(window.title)) || |
| window.title.empty()) { |