react-native-macos/ReactCommon/fabric
Valentin Shergin 28a5f122a8 Fabric: `MountingCoordinator::revoke()`
Summary:
MountingCoordinator is a borderline between Core and Mounting. Some of Core design constraints are impossible/impractical to enforce on Mounting layer, so we have to handle all of those cases in `MountingCoordinator`.

One of the constrains is that all ShadowNodes implicitly depend on associated ComponentDescriptor instances without retaining them (retaining is expensive and creates a retain cycle).
The problem is that the Mounting layer can call `MountingCoordinator::pull()` at any moment (even after the whole Core is already destroyed). To prevent this, the owner of a `MountingCoordinator` on the Core side calls `revoke()` right before being deallocated (right before the moment the owner cannot guarantee the constraint).

Reviewed By: JoshuaGross

Differential Revision: D17272295

fbshipit-source-id: ba8b02eab8f84cce68aa65c1ad36950cd2498049
2019-09-09 20:26:25 -07:00
..
attributedstring Fix parsing of textAlign props in C++ 2019-07-15 18:33:26 -07:00
components Fabric: Fixing small nit in `ParagraphComponentDescriptor` 2019-09-05 08:06:09 -07:00
core Fabric: `MountingCoordinator::revoke()` 2019-09-09 20:26:25 -07:00
debug Fix typos (#25770) 2019-07-23 03:23:11 -07:00
graphics Remove 's.static_framework = true' requirement for podspec (#25816) 2019-07-25 11:46:43 -07:00
imagemanager Migrate RCTImage NativeModules to CoreModules 2019-08-14 13:39:30 -07:00
mapbuffer Fix typos (#25770) 2019-07-23 03:23:11 -07:00
mounting Fabric: `MountingCoordinator::revoke()` 2019-09-09 20:26:25 -07:00
textlayoutmanager Use YOGA_CXX_TARGET alias for Buck deps 2019-06-26 11:19:34 -07:00
uimanager Fabric: Killing a concept of `getDefaultComponentRegistryFactory` 2019-09-05 08:06:09 -07:00