electron/atom/common
Samuel Attard 78411db4b5
fix: maintain a ref count for objects sent over remote (#17464)
* spec: clean up after a failed window count assertion

Previously when this assertion failed all tests that ran after the
failed assertion also failed.  This ensure that the assertion fails for
the test that actually caused the issue but cleans up the left-over
windows so that future tests do not fail.

* fix: maintain a ref count for objects sent over remote

Previously there was a race condition where a GC could occur in the
renderer process between the main process sending a meta.id and the
renderer pulling the proxy out its weakmap to stop it being GC'ed.

This fixes that race condition by maintaining a "sent" ref count in the
object registry and a "received" ref count in the object cache on the
renderer side.  The deref request now sends the number of refs the
renderer thinks it owns, if the number does not match the value in the
object registry it is assumed that there is an IPC message containing a
new reference in flight and this race condition was hit.

The browser side ref count is then reduced and we wait for the new deref
message.  This guaruntees that an object will only be removed from the
registry if every reference we sent has been guarunteed to be unreffed.
2019-04-16 16:08:11 -04:00
..
api fix: maintain a ref count for objects sent over remote (#17464) 2019-04-16 16:08:11 -04:00
asar Change base::JSONReader::ReadToValue() to return Optional. 2019-03-08 15:06:16 -08:00
crash_reporter fix: correct crash reporter for Windows on Arm (#17533) 2019-03-27 11:30:11 -07:00
mac refactor: eliminate brightray (#15240) 2018-10-24 12:49:10 +02:00
native_mate_converters chore: update permission_status.h include for new path 2019-04-02 14:43:03 -07:00
resources/mac feat: Add electron version to framework (#14296) 2018-08-29 10:31:45 -07:00
application_info.cc Move GetUserAgent from ContentClient to ContentBrowserClient 2019-02-14 23:59:22 +05:30
application_info.h Move GetUserAgent from ContentClient to ContentBrowserClient 2019-02-14 23:59:22 +05:30
application_info_linux.cc refactor: eliminate brightray (#15240) 2018-10-24 12:49:10 +02:00
application_info_mac.mm refactor: eliminate brightray (#15240) 2018-10-24 12:49:10 +02:00
application_info_win.cc refactor: eliminate brightray (#15240) 2018-10-24 12:49:10 +02:00
atom_command_line.cc
atom_command_line.h
atom_constants.cc feat: implement 'app-command' events for browser history navigation keys on Linux (#15441) 2018-12-05 09:35:59 -08:00
atom_constants.h feat: implement 'app-command' events for browser history navigation keys on Linux (#15441) 2018-12-05 09:35:59 -08:00
atom_version.h Bump v6.0.0-nightly.20190404 2019-04-04 11:42:14 -07:00
color_util.cc
color_util.h
common_message_generator.cc Revert "feat: upgrade to Chromium 72.0.3626.52 (#16334)" 2019-01-22 12:01:04 -08:00
common_message_generator.h refactor: move printing out of chromium_src (#15023) 2018-10-13 12:57:04 +11:00
draggable_region.cc
draggable_region.h
heap_snapshot.cc feat: add process.takeHeapSnapshot() / webContents.takeHeapSnapshot() (#14456) 2018-09-18 11:00:31 -07:00
heap_snapshot.h feat: add process.takeHeapSnapshot() / webContents.takeHeapSnapshot() (#14456) 2018-09-18 11:00:31 -07:00
key_weak_map.h
keyboard_util.cc feat: add support for scroll lock accelerator (#16873) 2019-02-11 09:13:13 -10:00
keyboard_util.h refactor: Improve accessibility of menus (#15302) 2018-10-29 13:08:46 -05:00
mouse_util.cc
mouse_util.h
node_bindings.cc chore: node_includes header no longer needs to be at the end of the list (#17090) 2019-03-11 17:13:43 -07:00
node_bindings.h feat: expose missing process APIs in sandboxed renderers (#13505) 2018-08-21 11:05:45 -07:00
node_bindings_linux.cc
node_bindings_linux.h
node_bindings_mac.cc
node_bindings_mac.h
node_bindings_win.cc Revert "feat: upgrade to Chromium 72.0.3626.52 (#16334)" 2019-01-22 12:01:04 -08:00
node_bindings_win.h
node_includes.h refactor: load electron builtin modules with process._linkedBinding (#17247) 2019-03-08 10:29:52 -08:00
options_switches.cc feat: add 'disableHtmlFullscreenWindowResize' option to webPreferences (#17203) 2019-03-07 15:29:37 -08:00
options_switches.h feat: add 'disableHtmlFullscreenWindowResize' option to webPreferences (#17203) 2019-03-07 15:29:37 -08:00
platform_util.h refactor: make shell.ShowItemInFolder asynchronous (#17121) 2019-02-27 12:58:23 +00:00
platform_util_linux.cc fix: base::LaunchOptions environ is now environment 2019-04-02 14:43:05 -07:00
platform_util_mac.mm refactor: make shell.ShowItemInFolder asynchronous (#17121) 2019-02-27 12:58:23 +00:00
platform_util_win.cc chore: bump chromium to 74.0.3729.27 (master) (#17345) 2019-03-21 11:45:22 -04:00
promise_util.cc chore: make util::Promise a move-only type (#17071) 2019-02-21 12:32:44 +00:00
promise_util.h feat: promisify session proxy methods (#17222) 2019-03-08 12:51:12 -08:00