react-native-macos/React/Fabric/Surface
Valentin Shergin 013b39f32c Fabric: Using `SurfaceHandler` on iOS
Summary:
(This is the second version of the diff that includes additional checkes and syncronization around `start` and `stop` methods).

This diff migrates iOS renderer to using SurfaceHandler directly instead of calling Scheduler methods.

Major changes:
* RCTFabricSurface only stores a SurfaceHandler and platform-specific parts (such as a UIView instance and TouchHandler); all other pieces of state are stored in SurfaceHandler object.
* All the state changes initiated from RCTFabricSurface are performed via calling corresponding methods on SurfaceHandler (bypassing RCTSurfacePresenter, RCTScheduler, Scheduler, and UIManager).
* Every RCTSurfaceHandler is responsible for observing `UIContentSizeCategoryDidChangeNotification` and communicating the change down to SurfaceHandler. (Besides code simplifications it's more correct because on iOS the DPI actually depends on a particular UIScreen/UIWindow associated with UIView and *not* global for the whole app.)

Changelog: [Internal] Fabric-specific internal change.

Reviewed By: ShikaSD

Differential Revision: D26614577

fbshipit-source-id: 428f4c4cc1ca46cd97be0413e9279e29a54807f6
2021-02-24 08:29:35 -08:00
..
RCTFabricSurface.h Fabric: Using `SurfaceHandler` on iOS 2021-02-24 08:29:35 -08:00
RCTFabricSurface.mm Fabric: Using `SurfaceHandler` on iOS 2021-02-24 08:29:35 -08:00
RCTFabricSurfaceHostingProxyRootView.h Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTFabricSurfaceHostingProxyRootView.mm Make RCTSurface and RCTFabricSurface conform to common protocol 2020-08-10 12:52:23 -07:00
RCTFabricSurfaceHostingView.h Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTFabricSurfaceHostingView.mm Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00