webrtc/modules/desktop_capture/win
Bryan Ferguson 1256d9bcac Avoid capturing system UI over selected window
This change avoids inadvertent capture of certain system windows (e.g.
the Start menu, other taskbar menus, and notification toasts) when
capturing a specific window on Windows.

It stops using EnumWindows for detection of overlapping windows, because
this API excludes these system windows from its enumeration. Using
FindWindowEx instead enumerates these windows.

The enumeration logic is refactored somewhat because a callback is no
longer necessary.

Bug: webrtc:10835
Change-Id: I1cccd44d6ef07f13a68e8daf2d2573d422001201
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161153
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#30022}
2019-12-05 19:13:03 +00:00
..
cursor_test_data
cursor_unittest_resources.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
cursor_unittest_resources.rc
cursor_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
cursor.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
cursor.h
d3d_device.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
d3d_device.h Lowercase windows includes in desktop_capture/. 2019-05-23 06:36:19 +00:00
desktop.cc Do not assume /DUNICODE and /D_UNICODE. 2019-03-27 14:18:41 +00:00
desktop.h Add missing RTC_EXPORT for the Chromium Windows build. 2019-11-07 09:32:24 +00:00
display_configuration_monitor.cc
display_configuration_monitor.h
dxgi_adapter_duplicator.cc Lowercase windows includes in desktop_capture/. 2019-05-23 06:36:19 +00:00
dxgi_adapter_duplicator.h
dxgi_context.cc Format almost everything. 2019-07-08 13:45:15 +00:00
dxgi_context.h Format almost everything. 2019-07-08 13:45:15 +00:00
dxgi_duplicator_controller.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
dxgi_duplicator_controller.h Lowercase windows includes in desktop_capture/. 2019-05-23 06:36:19 +00:00
dxgi_frame.cc Remove unnecessary memset to DesktopFrame 2019-02-01 01:21:48 +00:00
dxgi_frame.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
dxgi_output_duplicator.cc Format almost everything. 2019-07-08 13:45:15 +00:00
dxgi_output_duplicator.h Lowercase windows includes in desktop_capture/. 2019-05-23 06:36:19 +00:00
dxgi_texture_mapping.cc Lowercase windows includes in desktop_capture/. 2019-05-23 06:36:19 +00:00
dxgi_texture_mapping.h Lowercase windows includes in desktop_capture/. 2019-05-23 06:36:19 +00:00
dxgi_texture_staging.cc Lowercase windows includes in desktop_capture/. 2019-05-23 06:36:19 +00:00
dxgi_texture_staging.h Lowercase windows includes in desktop_capture/. 2019-05-23 06:36:19 +00:00
dxgi_texture.cc Lowercase windows includes in desktop_capture/. 2019-05-23 06:36:19 +00:00
dxgi_texture.h Lowercase windows includes in desktop_capture/. 2019-05-23 06:36:19 +00:00
full_screen_win_application_handler.cc Implement handling for MS PowerPoint Presentation Mode. 2019-12-03 19:17:24 +00:00
full_screen_win_application_handler.h Implement handling for MS PowerPoint Presentation Mode. 2019-12-03 19:17:24 +00:00
scoped_gdi_object.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
scoped_thread_desktop.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
scoped_thread_desktop.h Add missing RTC_EXPORT for the Chromium Windows build. 2019-11-07 09:32:24 +00:00
screen_capture_utils_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
screen_capture_utils.cc Do not assume /DUNICODE and /D_UNICODE. 2019-03-27 14:18:41 +00:00
screen_capture_utils.h RTC_EXPORT webrtc::GetScreenRect. 2019-11-08 09:55:17 +00:00
screen_capturer_win_directx_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
screen_capturer_win_directx.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
screen_capturer_win_directx.h Add missing RTC_EXPORT for the Chromium Windows build. 2019-11-07 09:32:24 +00:00
screen_capturer_win_gdi.cc Do not assume /DUNICODE and /D_UNICODE. 2019-03-27 14:18:41 +00:00
screen_capturer_win_gdi.h Format almost everything. 2019-07-08 13:45:15 +00:00
screen_capturer_win_magnifier.cc Do not assume /DUNICODE and /D_UNICODE. 2019-03-27 14:18:41 +00:00
screen_capturer_win_magnifier.h Format almost everything. 2019-07-08 13:45:15 +00:00
selected_window_context.cc Avoid capturing system UI over selected window 2019-12-05 19:13:03 +00:00
selected_window_context.h Avoid capturing system UI over selected window 2019-12-05 19:13:03 +00:00
window_capture_utils.cc Avoid capturing system UI over selected window 2019-12-05 19:13:03 +00:00
window_capture_utils.h Avoid capturing system UI over selected window 2019-12-05 19:13:03 +00:00