electron/atom/browser
Samuel Attard 77a4946069
refactor: rewire the desktop capturer API to remove race conditions (#18029)
We now create a new instance of atom::api::DesktopCapturer for every
request instead of weirdly re-using the same instance and queuing
requests.  This means there is now a 1:1 relationship between request
and DesktopCapturer so there isn't a race condition between the observer
for one request calling back before the observer of another.  This is an
issue ever since the backing APIs moved to worker threads.

This also does a few things to ensure memory management
* Only ever listen to one event per-request, after that we wipe the emit
function to ignore all future events
* Ensures we clean up the window_capturer_, screen_capturer_ and
captured_sources_ in native land once the request is over.

This _in theory_ fixes a flake we've been seeing on CI where we try to
resolve the promise for a request that no longerr exists.
2019-04-29 13:21:28 -07:00
..
api refactor: rewire the desktop capturer API to remove race conditions (#18029) 2019-04-29 13:21:28 -07:00
lib
loader build: enable gn check for //electron:electron_lib (#17100) 2019-03-05 10:38:55 +05:30
mac Revert "device/fido/mac: add more specific check for TouchID availability" 2019-04-02 14:43:04 -07:00
media Move MediaStream Mojo and public interfaces to Blink. 2019-02-14 23:59:21 +05:30
net feat: migrate protocol module to NetworkService (Part 2) (#17965) 2019-04-29 11:37:45 +09:00
notifications chore: bump chromium to 1e9f9a24aa12 (master) (#17880) 2019-04-20 10:20:37 -07:00
osr chore: bump chromium to 1e9f9a24aa12 (master) (#17880) 2019-04-20 10:20:37 -07:00
printing chore: node_includes header no longer needs to be at the end of the list (#17090) 2019-03-11 17:13:43 -07:00
resources Bump v6.0.0-nightly.20190404 2019-04-04 11:42:14 -07:00
ui chore: bump chromium to 1e9f9a24aa12 (master) (#17880) 2019-04-20 10:20:37 -07:00
win
atom_blob_reader.cc feat: promisify session.getBlobData() (#17303) 2019-03-14 08:11:01 -07:00
atom_blob_reader.h feat: promisify session.getBlobData() (#17303) 2019-03-14 08:11:01 -07:00
atom_browser_client.cc fix: allow access to the profile dir in mac network sandbox (nws13n) (#17931) 2019-04-24 09:31:36 +09:00
atom_browser_client.h fix: allow access to the profile dir in mac network sandbox (nws13n) (#17931) 2019-04-24 09:31:36 +09:00
atom_browser_context.cc refactor: Enable network service (Part 1) (#17431) 2019-03-26 10:10:48 +09:00
atom_browser_context.h refactor: Enable network service (Part 1) (#17431) 2019-03-26 10:10:48 +09:00
atom_browser_main_parts.cc refactor: initialize feature list earlier (#17922) 2019-04-23 15:18:12 -07:00
atom_browser_main_parts.h refactor: initialize feature list earlier (#17922) 2019-04-23 15:18:12 -07:00
atom_browser_main_parts_mac.mm fix: crash when run from SMB network share (#17886) 2019-04-22 19:28:48 -07:00
atom_browser_main_parts_posix.cc feat: Upgrade to Chromium 71.0.3578.98 (#15966) 2019-01-11 17:00:43 -08:00
atom_download_manager_delegate.cc fix: incorrect default path setting for dl items (#17773) 2019-04-15 14:11:20 -04:00
atom_download_manager_delegate.h fix: use async save dialog for anchor download attribute (#16612) 2019-01-31 11:06:55 +09:00
atom_javascript_dialog_manager.cc fix: use file path as key for safeDialogs on filesystem (#17546) 2019-03-27 11:21:10 -07:00
atom_javascript_dialog_manager.h
atom_navigation_throttle.cc
atom_navigation_throttle.h
atom_paths.h
atom_permission_manager.cc
atom_permission_manager.h
atom_quota_permission_context.cc
atom_quota_permission_context.h Fix includes in AtomQuotaPermissionContext 2018-06-19 11:49:41 +10:00
atom_resource_dispatcher_host_delegate.cc Remove const interfaces from content::ResourceRequestInfo. 2019-03-08 15:06:16 -08:00
atom_resource_dispatcher_host_delegate.h Handle external protocols with the network service. 2018-09-11 20:24:03 +02:00
atom_speech_recognition_manager_delegate.cc
atom_speech_recognition_manager_delegate.h Remove content::SpeechRecognitionResult 2018-10-09 14:38:00 -07:00
atom_web_ui_controller_factory.cc
atom_web_ui_controller_factory.h Change CreateWebUIControllerForURL() to return a unique_ptr 2018-10-09 14:38:00 -07:00
auto_updater.cc
auto_updater.h
auto_updater_mac.mm
browser.cc chore: make util::Promise a move-only type (#17071) 2019-02-21 12:32:44 +00:00
browser.h feat: add native emoji picker (#17359) 2019-03-14 13:39:52 -07:00
browser_linux.cc feat: add native emoji picker (#17359) 2019-03-14 13:39:52 -07:00
browser_mac.mm chore: bump chromium to 1e9f9a24aa12 (master) (#17880) 2019-04-20 10:20:37 -07:00
browser_observer.h chore: make BrowserObserver a CheckedObserver 2018-12-03 20:07:38 +05:30
browser_process_impl.cc refactor: Enable network service (Part 1) (#17431) 2019-03-26 10:10:48 +09:00
browser_process_impl.h refactor: Enable network service (Part 1) (#17431) 2019-03-26 10:10:48 +09:00
browser_win.cc feat: add native emoji picker (#17359) 2019-03-14 13:39:52 -07:00
child_web_contents_tracker.cc content: Fix WebContentsUserData for usage across components. 2019-02-14 23:59:21 +05:30
child_web_contents_tracker.h content: Fix WebContentsUserData for usage across components. 2019-02-14 23:59:21 +05:30
common_web_contents_delegate.cc chore: bump chromium to 1e9f9a24aa12 (master) (#17880) 2019-04-20 10:20:37 -07:00
common_web_contents_delegate.h fix: enable autofill popups on mac (#16308) 2019-02-11 09:38:58 -10:00
common_web_contents_delegate_mac.mm Revert "feat: upgrade to Chromium 72.0.3626.52 (#16334)" 2019-01-22 12:01:04 -08:00
common_web_contents_delegate_views.cc fix: enable autofill popups on mac (#16308) 2019-02-11 09:38:58 -10:00
cookie_change_notifier.cc
cookie_change_notifier.h
fake_location_provider.cc
fake_location_provider.h Port //services/device/geolocation to network::SimpleURLLoader 2018-10-09 14:38:00 -07:00
feature_list.cc refactor: initialize feature list earlier (#17922) 2019-04-23 15:18:12 -07:00
feature_list.h refactor: initialize feature list earlier (#17922) 2019-04-23 15:18:12 -07:00
font_defaults.cc Use base::size rather than arraysize 2019-02-14 23:59:22 +05:30
font_defaults.h
io_thread.cc chore: bump chromium to 1e9f9a24aa12 (master) (#17880) 2019-04-20 10:20:37 -07:00
io_thread.h
javascript_environment.cc chore: bump chromium to 1e9f9a24aa12 (master) (#17880) 2019-04-20 10:20:37 -07:00
javascript_environment.h
login_handler.cc chore: bump chromium to 1e9f9a24aa12 (master) (#17880) 2019-04-20 10:20:37 -07:00
login_handler.h chore: bump chromium to 1e9f9a24aa12 (master) (#17880) 2019-04-20 10:20:37 -07:00
microtasks_runner.cc
microtasks_runner.h
native_browser_view.cc
native_browser_view.h feat: flexible autoresize for BrowserViews (#16184) 2019-01-31 11:07:19 +09:00
native_browser_view_mac.h
native_browser_view_mac.mm feat: flexible autoresize for BrowserViews (#16184) 2019-01-31 11:07:19 +09:00
native_browser_view_views.cc feat: flexible autoresize for BrowserViews (#16184) 2019-01-31 11:07:19 +09:00
native_browser_view_views.h feat: flexible autoresize for BrowserViews (#16184) 2019-01-31 11:07:19 +09:00
native_window.cc content: Fix WebContentsUserData for usage across components. 2019-02-14 23:59:21 +05:30
native_window.h feat: allow windows to be excluded from the windows menu (#17404) 2019-03-27 08:10:23 -04:00
native_window_mac.h feat: allow windows to be excluded from the windows menu (#17404) 2019-03-27 08:10:23 -04:00
native_window_mac.mm fix: port OSR code to new viz compositor codepath (#17538) 2019-04-17 14:10:04 -07:00
native_window_observer.h feat: implement 'app-command' events for browser history navigation keys on Linux (#15441) 2018-12-05 09:35:59 -08:00
native_window_views.cc feat: allow windows to be excluded from the windows menu (#17404) 2019-03-27 08:10:23 -04:00
native_window_views.h feat: allow windows to be excluded from the windows menu (#17404) 2019-03-27 08:10:23 -04:00
native_window_views_win.cc fix: improve the way frameless windows are handled on Windows (#16596) 2019-01-31 11:19:47 +09:00
node_debugger.cc feat: upgrade to Node 12 (#17838) 2019-04-26 18:55:12 +09:00
node_debugger.h
pref_store_delegate.cc refactor: create request context from network context (#14656) 2018-10-04 13:08:56 -05:00
pref_store_delegate.h
relauncher.cc
relauncher.h
relauncher_linux.cc
relauncher_mac.cc
relauncher_win.cc
render_process_preferences.cc
render_process_preferences.h Refactoring: use C++11 class member variable initialization 2018-05-22 00:18:38 +02:00
session_preferences.cc also format missing .cc files 2018-04-18 20:48:45 -04:00
session_preferences.h
special_storage_policy.cc
special_storage_policy.h
unresponsive_suppressor.cc
unresponsive_suppressor.h
web_contents_permission_helper.cc content: Fix WebContentsUserData for usage across components. 2019-02-14 23:59:21 +05:30
web_contents_permission_helper.h content: Fix WebContentsUserData for usage across components. 2019-02-14 23:59:21 +05:30
web_contents_preferences.cc refactor: add missing constants for options (#17897) 2019-04-23 09:14:18 -07:00
web_contents_preferences.h content: Fix WebContentsUserData for usage across components. 2019-02-14 23:59:21 +05:30
web_contents_zoom_controller.cc content: Fix WebContentsUserData for usage across components. 2019-02-14 23:59:21 +05:30
web_contents_zoom_controller.h content: Fix WebContentsUserData for usage across components. 2019-02-14 23:59:21 +05:30
web_dialog_helper.cc IWYU: add missing headers 2019-03-08 15:04:32 -08:00
web_dialog_helper.h
web_view_guest_delegate.cc AttachToOuterWebContentsFrame => AttachInnerWebContents 2019-03-08 15:13:12 -08:00
web_view_guest_delegate.h
web_view_manager.cc
web_view_manager.h
window_list.cc [chromium-style] auto variable type must not deduce to a raw pointer type 2018-04-19 11:10:52 -07:00
window_list.h
window_list_observer.h
zoom_level_delegate.cc
zoom_level_delegate.h