28a5f122a8
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 |
||
---|---|---|
.. | ||
attributedstring | ||
components | ||
core | ||
debug | ||
graphics | ||
imagemanager | ||
mapbuffer | ||
mounting | ||
textlayoutmanager | ||
uimanager |