react-native 0.66.2 → 0.67.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +14 -1
  2. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -0
  3. package/Libraries/Animated/AnimatedEvent.js +23 -4
  4. package/Libraries/Animated/NativeAnimatedHelper.js +2 -2
  5. package/Libraries/Animated/components/AnimatedImage.js +3 -3
  6. package/Libraries/Animated/components/AnimatedScrollView.js +3 -3
  7. package/Libraries/Animated/components/AnimatedText.js +3 -3
  8. package/Libraries/Animated/components/AnimatedView.js +1 -3
  9. package/Libraries/Animated/createAnimatedComponent.js +3 -34
  10. package/Libraries/Components/Button.js +3 -0
  11. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +3 -6
  12. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -7
  13. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +1 -0
  14. package/Libraries/Components/ScrollView/ScrollView.js +17 -16
  15. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +268 -252
  16. package/Libraries/Components/View/View.js +1 -1
  17. package/Libraries/Components/View/ViewAccessibility.js +1 -1
  18. package/Libraries/Core/ExceptionsManager.js +45 -80
  19. package/Libraries/Core/ExtendedError.js +0 -1
  20. package/Libraries/Core/ReactNativeVersion.js +3 -3
  21. package/Libraries/Core/setUpBatchedBridge.js +1 -1
  22. package/Libraries/Core/setUpGlobals.js +2 -4
  23. package/Libraries/Core/setUpTimers.js +2 -2
  24. package/Libraries/Image/Image.ios.js +6 -0
  25. package/Libraries/Image/ImageBackground.js +10 -8
  26. package/Libraries/Image/ImageProps.js +28 -0
  27. package/Libraries/Image/RCTImageView.mm +4 -0
  28. package/Libraries/LogBox/Data/LogBoxData.js +0 -1
  29. package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
  30. package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
  31. package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
  32. package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
  33. package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
  34. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +0 -3
  35. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +6 -3
  36. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +1 -2
  37. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +2 -1
  38. package/Libraries/NewAppScreen/components/logo.png +0 -0
  39. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -1
  40. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +2 -0
  41. package/Libraries/Pressability/Pressability.js +13 -13
  42. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
  43. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +0 -1
  44. package/Libraries/ReactNative/AppRegistry.js +4 -2
  45. package/Libraries/Renderer/REVISION +1 -1
  46. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +1569 -875
  47. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +529 -319
  48. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +570 -362
  49. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +1592 -891
  50. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +521 -311
  51. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +562 -354
  52. package/Libraries/Share/Share.js +1 -1
  53. package/Libraries/StyleSheet/normalizeColor.js +2 -2
  54. package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +4 -2
  55. package/Libraries/Text/TextInput/RCTBaseTextInputView.m +2 -12
  56. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +4 -11
  57. package/Libraries/Text/TextProps.js +1 -7
  58. package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
  59. package/Libraries/Utilities/HMRClient.js +1 -1
  60. package/README.md +1 -1
  61. package/React/Base/RCTBridge+Private.h +8 -0
  62. package/React/Base/RCTBridge.h +4 -0
  63. package/React/Base/RCTBridge.m +19 -7
  64. package/React/Base/RCTBridgeModule.h +2 -11
  65. package/React/Base/RCTBundleURLProvider.h +1 -1
  66. package/React/Base/RCTBundleURLProvider.mm +5 -3
  67. package/React/Base/RCTConstants.h +0 -6
  68. package/React/Base/RCTConstants.m +0 -15
  69. package/React/Base/RCTConvert.h +1 -1
  70. package/React/Base/RCTDefines.h +12 -3
  71. package/React/Base/RCTEventDispatcherProtocol.h +2 -0
  72. package/React/Base/RCTJSThread.h +29 -0
  73. package/React/Base/RCTJSThread.m +19 -0
  74. package/React/Base/RCTRootView.h +15 -0
  75. package/React/Base/RCTRootView.m +15 -0
  76. package/React/Base/RCTTouchHandler.m +1 -9
  77. package/React/Base/RCTUtils.h +3 -0
  78. package/React/Base/RCTUtils.m +14 -7
  79. package/React/Base/RCTVersion.m +3 -3
  80. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +11 -0
  81. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +35 -1
  82. package/React/CoreModules/RCTAccessibilityManager+Internal.h +24 -0
  83. package/React/CoreModules/RCTAccessibilityManager.mm +18 -3
  84. package/React/CoreModules/RCTActionSheetManager.mm +14 -5
  85. package/React/CoreModules/RCTDevLoadingView.mm +5 -10
  86. package/React/CoreModules/RCTDevSettings.mm +6 -6
  87. package/React/CoreModules/RCTDevSplitBundleLoader.mm +1 -1
  88. package/React/CoreModules/RCTDeviceInfo.mm +4 -4
  89. package/React/CoreModules/RCTEventDispatcher.mm +5 -0
  90. package/React/CoreModules/RCTExceptionsManager.mm +11 -24
  91. package/React/CoreModules/RCTLogBox.mm +0 -1
  92. package/React/CoreModules/RCTPerfMonitor.mm +9 -4
  93. package/React/CoreModules/RCTRedBox.mm +1 -5
  94. package/React/CxxBridge/RCTCxxBridge.mm +18 -1
  95. package/React/DevSupport/RCTPackagerConnection.h +3 -0
  96. package/React/DevSupport/RCTPackagerConnection.mm +9 -5
  97. package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +11 -3
  98. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +0 -3
  99. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +16 -0
  100. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +6 -0
  101. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +3 -5
  102. package/React/Fabric/Mounting/RCTMountingManager.mm +15 -1
  103. package/React/Fabric/RCTScheduler.mm +12 -5
  104. package/React/Fabric/RCTSurfacePresenter.mm +0 -4
  105. package/React/Fabric/RCTSurfaceTouchHandler.mm +6 -20
  106. package/React/Fabric/Surface/RCTFabricSurface.mm +1 -3
  107. package/React/React-RCTFabric.podspec +0 -1
  108. package/React/Views/RCTFont.mm +54 -38
  109. package/React/Views/RCTView.m +1 -6
  110. package/React/Views/RCTViewManager.m +3 -2
  111. package/React/Views/SafeAreaView/RCTSafeAreaView.m +1 -5
  112. package/React/Views/ScrollView/RCTScrollView.m +5 -15
  113. package/React/Views/ScrollView/RCTScrollViewManager.m +0 -7
  114. package/React/Views/UIView+React.m +2 -11
  115. package/React-Core.podspec +0 -1
  116. package/ReactAndroid/build.gradle +11 -5
  117. package/ReactAndroid/gradle.properties +1 -1
  118. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -1
  119. package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -7
  120. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +2 -1
  121. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.java +14 -8
  122. package/ReactAndroid/src/main/java/com/facebook/react/BUCK +0 -1
  123. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +63 -26
  124. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +50 -2
  125. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +31 -0
  126. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +17 -1
  127. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +2 -0
  128. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +13 -2
  129. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +1 -0
  130. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +39 -0
  131. package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +21 -0
  132. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +2 -2
  133. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegate.java +40 -0
  134. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegateFactory.java +24 -0
  135. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +0 -6
  136. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +16 -0
  137. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -0
  138. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +5 -2
  139. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +102 -0
  140. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +35 -11
  141. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +5 -72
  142. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +12 -0
  143. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.java +92 -0
  144. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.java +27 -42
  145. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +14 -0
  146. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +5 -4
  147. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +3 -7
  148. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +41 -2
  149. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +8 -3
  150. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +43 -9
  151. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +2 -1
  152. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.cpp +69 -0
  153. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.h +40 -0
  154. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +2 -6
  155. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +84 -32
  156. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +4 -2
  157. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +20 -2
  158. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +2 -1
  159. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +9 -1
  160. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +19 -4
  161. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +6 -2
  162. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +2 -1
  163. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.java +6 -1
  164. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BUCK +0 -6
  165. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +4 -1
  166. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.java +9 -8
  167. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +7 -19
  168. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerManager.java → JavaScriptTimerExecutor.java} +1 -1
  169. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +7 -7
  170. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +2 -2
  171. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +7 -1
  172. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +23 -19
  173. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +1 -4
  174. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +3 -3
  175. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +8 -8
  176. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +1 -1
  177. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/BUCK +0 -6
  178. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -1
  179. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -5
  180. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK +0 -12
  181. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +1 -1
  182. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +75 -10
  183. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +19 -22
  184. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.java +42 -0
  185. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +7 -1
  186. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +2 -2
  187. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +7 -0
  188. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +2 -1
  189. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +17 -9
  190. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +43 -8
  191. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventType.java +15 -16
  192. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +108 -19
  193. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +0 -6
  194. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +79 -4
  195. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +5 -0
  196. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +94 -3
  197. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +21 -1
  198. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +5 -0
  199. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -4
  200. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +16 -0
  201. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +9 -1
  202. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +20 -1
  203. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +25 -6
  204. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +25 -5
  205. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +3 -0
  206. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +92 -0
  207. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +19 -0
  208. package/ReactAndroid/src/main/jni/react/jni/Android.mk +3 -2
  209. package/ReactAndroid/src/main/jni/react/jni/BUCK +4 -5
  210. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +49 -7
  211. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +15 -2
  212. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
  213. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h +25 -0
  214. package/{ReactCommon/react/renderer/core/Constants.cpp → ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp} +6 -8
  215. package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +30 -0
  216. package/ReactAndroid/src/main/jni/react/perftests/BUCK +0 -4
  217. package/ReactAndroid/src/main/third-party/android/androidx/BUCK +6 -6
  218. package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +43 -0
  219. package/ReactAndroid/src/test/java/com/facebook/react/modules/clipboard/ClipboardModuleTest.java +3 -1
  220. package/ReactCommon/React-Fabric.podspec +9 -1
  221. package/ReactCommon/better/BUCK +0 -6
  222. package/ReactCommon/callinvoker/BUCK +2 -8
  223. package/ReactCommon/cxxreact/BUCK +1 -16
  224. package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
  225. package/ReactCommon/hermes/inspector/tools/msggen/package.json +7 -4
  226. package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +13 -10
  227. package/ReactCommon/jsi/BUCK +0 -9
  228. package/ReactCommon/jsinspector/BUCK +0 -5
  229. package/ReactCommon/logger/BUCK +0 -5
  230. package/ReactCommon/react/config/BUCK +0 -6
  231. package/ReactCommon/react/debug/BUCK +0 -6
  232. package/ReactCommon/react/nativemodule/core/BUCK +0 -5
  233. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +14 -31
  234. package/ReactCommon/react/nativemodule/samples/BUCK +0 -7
  235. package/ReactCommon/react/renderer/animations/BUCK +1 -4
  236. package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +34 -0
  237. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +5 -26
  238. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +8 -14
  239. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +912 -1147
  240. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +80 -245
  241. package/ReactCommon/react/renderer/animations/conversions.h +212 -0
  242. package/ReactCommon/react/renderer/animations/primitives.h +104 -0
  243. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +3 -3
  244. package/ReactCommon/react/renderer/animations/utils.cpp +71 -0
  245. package/ReactCommon/react/renderer/animations/utils.h +80 -0
  246. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
  247. package/ReactCommon/react/renderer/attributedstring/BUCK +0 -6
  248. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +7 -3
  249. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +12 -2
  250. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +1 -1
  251. package/ReactCommon/react/renderer/attributedstring/conversions.h +58 -3
  252. package/ReactCommon/react/renderer/attributedstring/primitives.h +18 -1
  253. package/ReactCommon/react/renderer/componentregistry/BUCK +0 -6
  254. package/ReactCommon/react/renderer/componentregistry/native/BUCK +0 -6
  255. package/ReactCommon/react/renderer/components/image/BUCK +0 -6
  256. package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +0 -2
  257. package/ReactCommon/react/renderer/components/inputaccessory/BUCK +0 -6
  258. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryComponentDescriptor.h +0 -4
  259. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +0 -6
  260. package/ReactCommon/react/renderer/components/modal/BUCK +0 -6
  261. package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +0 -5
  262. package/ReactCommon/react/renderer/components/progressbar/BUCK +0 -6
  263. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarComponentDescriptor.h +0 -3
  264. package/ReactCommon/react/renderer/components/root/BUCK +0 -6
  265. package/ReactCommon/react/renderer/components/safeareaview/BUCK +0 -6
  266. package/ReactCommon/react/renderer/components/scrollview/BUCK +0 -6
  267. package/ReactCommon/react/renderer/components/slider/BUCK +0 -6
  268. package/ReactCommon/react/renderer/components/slider/SliderComponentDescriptor.h +0 -3
  269. package/ReactCommon/react/renderer/components/switch/BUCK +0 -6
  270. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchComponentDescriptor.h +0 -3
  271. package/ReactCommon/react/renderer/components/text/BUCK +0 -6
  272. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +1 -20
  273. package/ReactCommon/react/renderer/components/textinput/BUCK +0 -6
  274. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +0 -3
  275. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +2 -0
  276. package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +0 -6
  277. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputComponentDescriptor.h +0 -3
  278. package/ReactCommon/react/renderer/components/unimplementedview/BUCK +0 -6
  279. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +0 -4
  280. package/ReactCommon/react/renderer/components/view/Android.mk +1 -1
  281. package/ReactCommon/react/renderer/components/view/BUCK +0 -6
  282. package/ReactCommon/react/renderer/components/view/Touch.h +1 -32
  283. package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +0 -23
  284. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +2 -3
  285. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +3 -3
  286. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -1
  287. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +4 -0
  288. package/ReactCommon/react/renderer/core/BUCK +2 -6
  289. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +14 -9
  290. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +1 -10
  291. package/ReactCommon/react/renderer/core/EventEmitter.cpp +9 -4
  292. package/ReactCommon/react/renderer/core/EventEmitter.h +2 -1
  293. package/ReactCommon/react/renderer/core/Props.h +1 -0
  294. package/ReactCommon/react/renderer/core/PropsParserContext.h +3 -2
  295. package/ReactCommon/react/renderer/core/RawEvent.h +7 -5
  296. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +10 -2
  297. package/ReactCommon/react/renderer/core/ReactPrimitives.h +0 -2
  298. package/ReactCommon/react/renderer/core/ShadowNode.cpp +7 -10
  299. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +1 -0
  300. package/ReactCommon/react/renderer/debug/BUCK +0 -6
  301. package/ReactCommon/react/renderer/element/BUCK +0 -6
  302. package/ReactCommon/react/renderer/graphics/Android.mk +1 -1
  303. package/ReactCommon/react/renderer/graphics/BUCK +0 -6
  304. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +0 -1
  305. package/ReactCommon/react/renderer/graphics/Transform.cpp +1 -1
  306. package/ReactCommon/react/renderer/graphics/Transform.h +1 -1
  307. package/ReactCommon/react/renderer/imagemanager/BUCK +0 -6
  308. package/ReactCommon/react/renderer/leakchecker/BUCK +0 -6
  309. package/ReactCommon/react/renderer/mapbuffer/BUCK +0 -6
  310. package/ReactCommon/react/renderer/mounting/Android.mk +2 -1
  311. package/ReactCommon/react/renderer/mounting/BUCK +0 -6
  312. package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
  313. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -0
  314. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +10 -1
  315. package/ReactCommon/react/renderer/runtimescheduler/Android.mk +2 -1
  316. package/ReactCommon/react/renderer/runtimescheduler/BUCK +1 -7
  317. package/ReactCommon/react/renderer/runtimescheduler/ErrorUtils.h +36 -0
  318. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +28 -20
  319. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +4 -2
  320. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +4 -3
  321. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +4 -2
  322. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +32 -0
  323. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +36 -0
  324. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +4 -2
  325. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +4 -3
  326. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +4 -2
  327. package/ReactCommon/react/renderer/runtimescheduler/Task.h +4 -2
  328. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +4 -2
  329. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +26 -1
  330. package/ReactCommon/react/renderer/runtimescheduler/tests/StubErrorUtils.h +72 -0
  331. package/ReactCommon/react/renderer/scheduler/BUCK +0 -6
  332. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +1 -4
  333. package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -1
  334. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +4 -4
  335. package/ReactCommon/react/renderer/telemetry/BUCK +0 -6
  336. package/ReactCommon/react/renderer/templateprocessor/BUCK +0 -6
  337. package/ReactCommon/react/renderer/textlayoutmanager/BUCK +0 -6
  338. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.h +2 -0
  339. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +19 -0
  340. package/ReactCommon/react/renderer/timeline/BUCK +6 -12
  341. package/ReactCommon/react/renderer/uimanager/BUCK +0 -6
  342. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
  343. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +2 -2
  344. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +1 -1
  345. package/ReactCommon/react/test_utils/BUCK +3 -6
  346. package/ReactCommon/react/{renderer/core/Constants.h → test_utils/MockSurfaceHandler.h} +9 -7
  347. package/ReactCommon/react/utils/BUCK +0 -6
  348. package/ReactCommon/react/utils/ContextContainer.h +0 -27
  349. package/ReactCommon/reactperflogger/BUCK +0 -4
  350. package/ReactCommon/runtimeexecutor/BUCK +0 -6
  351. package/ReactCommon/yoga/BUCK +1 -5
  352. package/android/com/facebook/react/react-native/{0.66.2/react-native-0.66.2.aar → 0.67.0-rc.3/react-native-0.67.0-rc.3.aar} +0 -0
  353. package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.aar.md5 +1 -0
  354. package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.aar.sha1 +1 -0
  355. package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.aar.sha256 +1 -0
  356. package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.aar.sha512 +1 -0
  357. package/android/com/facebook/react/react-native/{0.66.2/react-native-0.66.2.module → 0.67.0-rc.3/react-native-0.67.0-rc.3.module} +16 -17
  358. package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.module.md5 +1 -0
  359. package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.module.sha1 +1 -0
  360. package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.module.sha256 +1 -0
  361. package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.module.sha512 +1 -0
  362. package/android/com/facebook/react/react-native/{0.66.2/react-native-0.66.2.pom → 0.67.0-rc.3/react-native-0.67.0-rc.3.pom} +2 -2
  363. package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.pom.md5 +1 -0
  364. package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.pom.sha1 +1 -0
  365. package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.pom.sha256 +1 -0
  366. package/android/com/facebook/react/react-native/0.67.0-rc.3/react-native-0.67.0-rc.3.pom.sha512 +1 -0
  367. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
  368. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  369. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  370. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
  371. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
  372. package/flow/global.js +45 -0
  373. package/index.js +15 -10
  374. package/jest/mockModal.js +31 -0
  375. package/jest/setup.js +5 -3
  376. package/package.json +8 -9
  377. package/react.gradle +53 -18
  378. package/scripts/find-node.sh +13 -0
  379. package/scripts/generate-specs-cli.js +18 -0
  380. package/scripts/ios-configure-glog.sh +4 -0
  381. package/scripts/react-native-xcode.sh +6 -6
  382. package/scripts/react_native_pods.rb +200 -57
  383. package/template/Gemfile +6 -0
  384. package/template/Gemfile.lock +100 -0
  385. package/template/_bundle/config +2 -0
  386. package/template/_flowconfig +1 -1
  387. package/template/_ruby-version +1 -0
  388. package/template/android/app/build.gradle +1 -1
  389. package/template/android/app/src/main/res/drawable/rn_edit_text_material.xml +36 -0
  390. package/template/android/app/src/main/res/values/styles.xml +1 -0
  391. package/template/android/build.gradle +7 -3
  392. package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  393. package/template/android/gradle.properties +1 -1
  394. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +0 -2
  395. package/template/package.json +1 -1
  396. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  397. package/third-party-podspecs/glog.podspec +0 -1
  398. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -87
  399. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
  400. package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
  401. package/Libraries/Components/StaticContainer.react.js +0 -51
  402. package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -25
  403. package/Libraries/Interaction/InteractionMixin.js +0 -54
  404. package/Libraries/ReactNative/queryLayoutByID.js +0 -58
  405. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java +0 -172
  406. package/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js +0 -45
  407. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +0 -27
  408. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java +0 -137
  409. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +0 -153
  410. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerMode.java +0 -15
  411. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java +0 -117
  412. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/BUCK +0 -20
  413. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/RuntimeSchedulerManager.java +0 -39
  414. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/Android.mk +0 -34
  415. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/BUCK +0 -35
  416. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/OnLoad.cpp +0 -15
  417. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.cpp +0 -46
  418. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.h +0 -40
  419. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidViewPagerManagerDelegate.java +0 -57
  420. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidViewPagerManagerInterface.java +0 -23
  421. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/BUCK +0 -19
  422. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/DatePickerManagerDelegate.java +0 -62
  423. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/DatePickerManagerInterface.java +0 -25
  424. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/InputAccessoryViewManagerDelegate.java +0 -33
  425. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/InputAccessoryViewManagerInterface.java +0 -17
  426. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/PullToRefreshViewManagerDelegate.java +0 -51
  427. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/PullToRefreshViewManagerInterface.java +0 -21
  428. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SwitchManagerDelegate.java +0 -63
  429. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SwitchManagerInterface.java +0 -24
  430. package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.aar.md5 +0 -1
  431. package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.aar.sha1 +0 -1
  432. package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.aar.sha256 +0 -1
  433. package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.aar.sha512 +0 -1
  434. package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.module.md5 +0 -1
  435. package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.module.sha1 +0 -1
  436. package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.module.sha256 +0 -1
  437. package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.module.sha512 +0 -1
  438. package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.pom.md5 +0 -1
  439. package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.pom.sha1 +0 -1
  440. package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.pom.sha256 +0 -1
  441. package/android/com/facebook/react/react-native/0.66.2/react-native-0.66.2.pom.sha512 +0 -1
  442. package/scripts/generate-specs.sh +0 -99
  443. package/template/_editorconfig +0 -3
  444. package/template/_gitattributes +0 -3
@@ -51,10 +51,18 @@ RawPropsKey::operator std::string() const noexcept {
51
51
  return std::string{buffer, length};
52
52
  }
53
53
 
54
+ static bool areFieldsEqual(char const *lhs, char const *rhs) {
55
+ if (lhs == nullptr || rhs == nullptr) {
56
+ return lhs == rhs;
57
+ }
58
+ return std::string(lhs) == std::string(rhs);
59
+ }
60
+
54
61
  bool operator==(RawPropsKey const &lhs, RawPropsKey const &rhs) noexcept {
55
62
  // Note: We check the name first.
56
- return lhs.name == rhs.name && lhs.prefix == rhs.prefix &&
57
- lhs.suffix == rhs.suffix;
63
+ return areFieldsEqual(lhs.name, rhs.name) &&
64
+ areFieldsEqual(lhs.prefix, rhs.prefix) &&
65
+ areFieldsEqual(lhs.suffix, rhs.suffix);
58
66
  }
59
67
 
60
68
  bool operator!=(RawPropsKey const &lhs, RawPropsKey const &rhs) noexcept {
@@ -8,8 +8,6 @@
8
8
  #pragma once
9
9
 
10
10
  #include <folly/dynamic.h>
11
- #include <react/renderer/core/RawProps.h>
12
- #include <react/renderer/core/RawValue.h>
13
11
  #include <memory>
14
12
  #include <string>
15
13
 
@@ -6,7 +6,6 @@
6
6
  */
7
7
 
8
8
  #include "ShadowNode.h"
9
- #include "Constants.h"
10
9
  #include "DynamicPropsUtilities.h"
11
10
  #include "ShadowNodeFragment.h"
12
11
 
@@ -39,15 +38,13 @@ SharedProps ShadowNode::propsForClonedShadowNode(
39
38
  ShadowNode const &sourceShadowNode,
40
39
  Props::Shared const &props) {
41
40
  #ifdef ANDROID
42
- if (Constants::getPropsForwardingEnabled()) {
43
- bool hasBeenMounted = sourceShadowNode.hasBeenMounted_;
44
- bool sourceNodeHasRawProps = !sourceShadowNode.getProps()->rawProps.empty();
45
- if (!hasBeenMounted && sourceNodeHasRawProps && props) {
46
- auto &castedProps = const_cast<Props &>(*props);
47
- castedProps.rawProps = mergeDynamicProps(
48
- sourceShadowNode.getProps()->rawProps, props->rawProps);
49
- return props;
50
- }
41
+ bool hasBeenMounted = sourceShadowNode.hasBeenMounted_;
42
+ bool sourceNodeHasRawProps = !sourceShadowNode.getProps()->rawProps.empty();
43
+ if (!hasBeenMounted && sourceNodeHasRawProps && props) {
44
+ auto &castedProps = const_cast<Props &>(*props);
45
+ castedProps.rawProps = mergeDynamicProps(
46
+ sourceShadowNode.getProps()->rawProps, props->rawProps);
47
+ return props;
51
48
  }
52
49
  #endif
53
50
  return props ? props : sourceShadowNode.getProps();
@@ -10,6 +10,7 @@
10
10
  #include <memory>
11
11
 
12
12
  #include <better/mutex.h>
13
+ #include <better/small_vector.h>
13
14
 
14
15
  #include <react/renderer/core/EventEmitter.h>
15
16
  #include <react/renderer/core/ReactPrimitives.h>
@@ -31,12 +31,6 @@ rn_xplat_cxx_library(
31
31
  ],
32
32
  prefix = "react/renderer/debug",
33
33
  ),
34
- compiler_flags = [
35
- "-fexceptions",
36
- "-frtti",
37
- "-std=c++17",
38
- "-Wall",
39
- ],
40
34
  fbobjc_compiler_flags = APPLE_COMPILER_FLAGS,
41
35
  fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(),
42
36
  force_static = True,
@@ -31,12 +31,6 @@ rn_xplat_cxx_library(
31
31
  ],
32
32
  prefix = "react/renderer/element",
33
33
  ),
34
- compiler_flags = [
35
- "-fexceptions",
36
- "-frtti",
37
- "-std=c++17",
38
- "-Wall",
39
- ],
40
34
  fbobjc_compiler_flags = APPLE_COMPILER_FLAGS,
41
35
  fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(),
42
36
  force_static = True,
@@ -15,7 +15,7 @@ LOCAL_SHARED_LIBRARIES := libfolly_json libreact_debug libfb libfbjni libfolly_j
15
15
 
16
16
  LOCAL_STATIC_LIBRARIES :=
17
17
 
18
- LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../ $(LOCAL_PATH)/platform/cxx/
18
+ LOCAL_C_INCLUDES := $(LOCAL_PATH)/ $(LOCAL_PATH)/../../../ $(LOCAL_PATH)/platform/cxx/
19
19
 
20
20
  LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../ $(LOCAL_PATH)/platform/cxx/
21
21
 
@@ -36,12 +36,6 @@ rn_xplat_cxx_library(
36
36
  ],
37
37
  prefix = "react/renderer/graphics",
38
38
  ),
39
- compiler_flags = [
40
- "-fexceptions",
41
- "-frtti",
42
- "-std=c++17",
43
- "-Wall",
44
- ],
45
39
  cxx_exported_headers = subdir_glob(
46
40
  [
47
41
  ("platform/cxx/react/renderer/graphics", "**/*.h"),
@@ -29,7 +29,6 @@ Pod::Spec.new do |s|
29
29
  s.author = "Facebook, Inc. and its affiliates"
30
30
  s.platforms = { :ios => "11.0", :tvos => "11.0" }
31
31
  s.source = source
32
- s.library = "stdc++"
33
32
  s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
34
33
  s.source_files = "**/*.{m,mm,cpp,h}"
35
34
  s.exclude_files = "tests",
@@ -183,7 +183,7 @@ TransformOperation Transform::DefaultTransformOperation(
183
183
  }
184
184
 
185
185
  Transform Transform::Interpolate(
186
- float animationProgress,
186
+ Float animationProgress,
187
187
  Transform const &lhs,
188
188
  Transform const &rhs) {
189
189
  // Iterate through operations and reconstruct an interpolated resulting
@@ -117,7 +117,7 @@ struct Transform {
117
117
  * @return
118
118
  */
119
119
  static Transform Interpolate(
120
- float animationProgress,
120
+ Float animationProgress,
121
121
  Transform const &lhs,
122
122
  Transform const &rhs);
123
123
 
@@ -31,12 +31,6 @@ rn_xplat_cxx_library(
31
31
  ],
32
32
  prefix = "react/renderer/imagemanager",
33
33
  ),
34
- compiler_flags = [
35
- "-fexceptions",
36
- "-frtti",
37
- "-std=c++17",
38
- "-Wall",
39
- ],
40
34
  contacts = ["oncall+react_native@xmail.facebook.com"],
41
35
  fbandroid_exported_headers = subdir_glob(
42
36
  [
@@ -30,12 +30,6 @@ rn_xplat_cxx_library(
30
30
  ],
31
31
  prefix = "react/renderer/leakchecker",
32
32
  ),
33
- compiler_flags = [
34
- "-fexceptions",
35
- "-frtti",
36
- "-std=c++17",
37
- "-Wall",
38
- ],
39
33
  fbobjc_compiler_flags = APPLE_COMPILER_FLAGS,
40
34
  fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(),
41
35
  force_static = True,
@@ -29,12 +29,6 @@ rn_xplat_cxx_library(
29
29
  ],
30
30
  prefix = "react/renderer/mapbuffer",
31
31
  ),
32
- compiler_flags = [
33
- "-fexceptions",
34
- "-frtti",
35
- "-std=c++17",
36
- "-Wall",
37
- ],
38
32
  fbobjc_compiler_flags = APPLE_COMPILER_FLAGS,
39
33
  fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(),
40
34
  force_static = True,
@@ -21,7 +21,7 @@ LOCAL_CFLAGS += -fexceptions -frtti -std=c++17 -Wall
21
21
 
22
22
  LOCAL_STATIC_LIBRARIES :=
23
23
 
24
- LOCAL_SHARED_LIBRARIES := libjsi libbetter libyoga libfolly_futures glog libfolly_json libglog_init libreact_render_core libreact_render_debug librrc_view librrc_root libreact_utils libreact_debug libreact_render_telemetry
24
+ LOCAL_SHARED_LIBRARIES := libjsi libbetter libyoga libfolly_futures glog libfolly_json libglog_init libreact_render_core libreact_render_debug librrc_view librrc_root libreact_utils libreact_debug libreact_render_graphics libreact_render_telemetry
25
25
 
26
26
  include $(BUILD_SHARED_LIBRARY)
27
27
 
@@ -36,4 +36,5 @@ $(call import-module,react/renderer/debug)
36
36
  $(call import-module,react/utils)
37
37
  $(call import-module,react/debug)
38
38
  $(call import-module,yogajni)
39
+ $(call import-module,react/renderer/graphics)
39
40
  $(call import-module,react/renderer/telemetry)
@@ -32,12 +32,6 @@ rn_xplat_cxx_library(
32
32
  ],
33
33
  prefix = "react/renderer/mounting",
34
34
  ),
35
- compiler_flags = [
36
- "-fexceptions",
37
- "-frtti",
38
- "-std=c++17",
39
- "-Wall",
40
- ],
41
35
  fbobjc_compiler_flags = APPLE_COMPILER_FLAGS,
42
36
  fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(),
43
37
  force_static = True,
@@ -22,7 +22,7 @@ class MountingCoordinator;
22
22
  class MountingOverrideDelegate {
23
23
  public:
24
24
  virtual bool shouldOverridePullTransaction() const = 0;
25
- virtual ~MountingOverrideDelegate(){};
25
+ virtual ~MountingOverrideDelegate() = default;
26
26
 
27
27
  /**
28
28
  * Delegates that override this method are responsible for:
@@ -84,6 +84,18 @@ bool ShadowViewMutation::mutatedViewIsVirtual() const {
84
84
  return viewIsVirtual;
85
85
  }
86
86
 
87
+ ShadowViewMutation::ShadowViewMutation(
88
+ Type type,
89
+ ShadowView parentShadowView,
90
+ ShadowView oldChildShadowView,
91
+ ShadowView newChildShadowView,
92
+ int index)
93
+ : type(type),
94
+ parentShadowView(parentShadowView),
95
+ oldChildShadowView(oldChildShadowView),
96
+ newChildShadowView(newChildShadowView),
97
+ index(index) {}
98
+
87
99
  #if RN_DEBUG_STRING_CONVERTIBLE
88
100
 
89
101
  std::string getDebugName(ShadowViewMutation const &mutation) {
@@ -23,6 +23,8 @@ namespace react {
23
23
  struct ShadowViewMutation final {
24
24
  using List = std::vector<ShadowViewMutation>;
25
25
 
26
+ ShadowViewMutation() = delete;
27
+
26
28
  #pragma mark - Designated Initializers
27
29
 
28
30
  /*
@@ -70,13 +72,20 @@ struct ShadowViewMutation final {
70
72
  ShadowView newChildShadowView = {};
71
73
  int index = -1;
72
74
 
73
- public:
74
75
  // Some platforms can have the notion of virtual views - views that are in the
75
76
  // ShadowTree hierarchy but never are on the platform. Generally this is used
76
77
  // so notify the platform that a view exists so that we can keep EventEmitters
77
78
  // around, to notify JS of something. This mechanism is DEPRECATED and it is
78
79
  // highly recommended that you NOT make use of this in your platform!
79
80
  bool mutatedViewIsVirtual() const;
81
+
82
+ private:
83
+ ShadowViewMutation(
84
+ Type type,
85
+ ShadowView parentShadowView,
86
+ ShadowView oldChildShadowView,
87
+ ShadowView newChildShadowView,
88
+ int index);
80
89
  };
81
90
 
82
91
  using ShadowViewMutationList = std::vector<ShadowViewMutation>;
@@ -15,7 +15,7 @@ LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp)
15
15
 
16
16
  LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../
17
17
 
18
- LOCAL_SHARED_LIBRARIES := libruntimeexecutor libreact_render_core libreact_debug libjsi
18
+ LOCAL_SHARED_LIBRARIES := libruntimeexecutor libreact_render_core libreact_debug libjsi callinvoker
19
19
 
20
20
  LOCAL_CFLAGS := \
21
21
  -DLOG_TAG=\"Fabric\"
@@ -25,3 +25,4 @@ LOCAL_CFLAGS += -fexceptions -frtti -std=c++17 -Wall
25
25
  include $(BUILD_SHARED_LIBRARY)
26
26
 
27
27
  $(call import-module,runtimeexecutor)
28
+ $(call import-module,callinvoker)
@@ -31,12 +31,6 @@ rn_xplat_cxx_library(
31
31
  ],
32
32
  prefix = "react/renderer/runtimescheduler",
33
33
  ),
34
- compiler_flags = [
35
- "-fexceptions",
36
- "-frtti",
37
- "-std=c++17",
38
- "-Wall",
39
- ],
40
34
  fbobjc_compiler_flags = APPLE_COMPILER_FLAGS,
41
35
  fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(),
42
36
  force_static = True,
@@ -50,10 +44,10 @@ rn_xplat_cxx_library(
50
44
  tests = [":tests"],
51
45
  visibility = ["PUBLIC"],
52
46
  deps = [
53
- react_native_xplat_target("react/renderer/core:core"),
54
47
  react_native_xplat_target("runtimeexecutor:runtimeexecutor"),
55
48
  react_native_xplat_target("react/renderer/debug:debug"),
56
49
  react_native_xplat_target("better:better"),
50
+ react_native_xplat_target("callinvoker:callinvoker"),
57
51
  ],
58
52
  )
59
53
 
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #include <jsi/jsi.h>
9
+
10
+ namespace facebook {
11
+ namespace react {
12
+
13
+ inline static void handleFatalError(
14
+ jsi::Runtime &runtime,
15
+ const jsi::JSError &error) {
16
+ auto reportFatalError = "reportFatalError";
17
+ auto errorUtils = runtime.global().getProperty(runtime, "ErrorUtils");
18
+ if (errorUtils.isUndefined() || !errorUtils.isObject() ||
19
+ !errorUtils.getObject(runtime).hasProperty(runtime, reportFatalError)) {
20
+ // ErrorUtils was not set up. This probably means the bundle didn't
21
+ // load properly.
22
+ throw jsi::JSError(
23
+ runtime,
24
+ "ErrorUtils is not set up properly. Something probably went wrong trying to load the JS bundle. Trying to report error " +
25
+ error.getMessage(),
26
+ error.getStack());
27
+ }
28
+
29
+ auto func = errorUtils.asObject(runtime).getPropertyAsFunction(
30
+ runtime, reportFatalError);
31
+
32
+ func.call(runtime, error.value());
33
+ }
34
+
35
+ } // namespace react
36
+ } // namespace facebook
@@ -6,8 +6,10 @@
6
6
  */
7
7
 
8
8
  #include "RuntimeScheduler.h"
9
+ #include "ErrorUtils.h"
9
10
 
10
- namespace facebook::react {
11
+ namespace facebook {
12
+ namespace react {
11
13
 
12
14
  #pragma mark - Public
13
15
 
@@ -88,29 +90,35 @@ void RuntimeScheduler::executeNowOnTheSameThread(
88
90
  void RuntimeScheduler::startWorkLoop(jsi::Runtime &runtime) const {
89
91
  auto previousPriority = currentPriority_;
90
92
  isPerformingWork_ = true;
91
- while (!taskQueue_.empty()) {
92
- auto topPriorityTask = taskQueue_.top();
93
- auto now = now_();
94
- auto didUserCallbackTimeout = topPriorityTask->expirationTime <= now;
95
-
96
- if (!didUserCallbackTimeout && shouldYield_) {
97
- // This task hasn't expired and we need to yield.
98
- break;
99
- }
100
- currentPriority_ = topPriorityTask->priority;
101
- auto result = topPriorityTask->execute(runtime);
102
-
103
- if (result.isObject() && result.getObject(runtime).isFunction(runtime)) {
104
- topPriorityTask->callback =
105
- result.getObject(runtime).getFunction(runtime);
106
- } else {
107
- if (taskQueue_.top() == topPriorityTask) {
108
- taskQueue_.pop();
93
+ try {
94
+ while (!taskQueue_.empty()) {
95
+ auto topPriorityTask = taskQueue_.top();
96
+ auto now = now_();
97
+ auto didUserCallbackTimeout = topPriorityTask->expirationTime <= now;
98
+
99
+ if (!didUserCallbackTimeout && shouldYield_) {
100
+ // This task hasn't expired and we need to yield.
101
+ break;
102
+ }
103
+ currentPriority_ = topPriorityTask->priority;
104
+ auto result = topPriorityTask->execute(runtime);
105
+
106
+ if (result.isObject() && result.getObject(runtime).isFunction(runtime)) {
107
+ topPriorityTask->callback =
108
+ result.getObject(runtime).getFunction(runtime);
109
+ } else {
110
+ if (taskQueue_.top() == topPriorityTask) {
111
+ taskQueue_.pop();
112
+ }
109
113
  }
110
114
  }
115
+ } catch (jsi::JSError &error) {
116
+ handleFatalError(runtime, error);
111
117
  }
118
+
112
119
  currentPriority_ = previousPriority;
113
120
  isPerformingWork_ = false;
114
121
  }
115
122
 
116
- } // namespace facebook::react
123
+ } // namespace react
124
+ } // namespace facebook
@@ -14,7 +14,8 @@
14
14
  #include <memory>
15
15
  #include <queue>
16
16
 
17
- namespace facebook::react {
17
+ namespace facebook {
18
+ namespace react {
18
19
 
19
20
  class RuntimeScheduler final {
20
21
  public:
@@ -100,4 +101,5 @@ class RuntimeScheduler final {
100
101
  mutable bool isPerformingWork_{false};
101
102
  };
102
103
 
103
- } // namespace facebook::react
104
+ } // namespace react
105
+ } // namespace facebook
@@ -10,11 +10,11 @@
10
10
  #include "primitives.h"
11
11
 
12
12
  #include <react/debug/react_native_assert.h>
13
- #include <react/renderer/core/PropsParserContext.h>
14
13
  #include <chrono>
15
14
  #include <memory>
16
15
 
17
- namespace facebook::react {
16
+ namespace facebook {
17
+ namespace react {
18
18
 
19
19
  std::shared_ptr<RuntimeSchedulerBinding>
20
20
  RuntimeSchedulerBinding::createAndInstallIfNeeded(
@@ -167,4 +167,5 @@ jsi::Value RuntimeSchedulerBinding::get(
167
167
  return jsi::Value::undefined();
168
168
  }
169
169
 
170
- } // namespace facebook::react
170
+ } // namespace react
171
+ } // namespace facebook
@@ -10,7 +10,8 @@
10
10
  #include <jsi/jsi.h>
11
11
  #include <react/renderer/runtimescheduler/RuntimeScheduler.h>
12
12
 
13
- namespace facebook::react {
13
+ namespace facebook {
14
+ namespace react {
14
15
 
15
16
  /*
16
17
  * Exposes RuntimeScheduler to JavaScript realm.
@@ -39,4 +40,5 @@ class RuntimeSchedulerBinding : public jsi::HostObject {
39
40
  std::shared_ptr<RuntimeScheduler> runtimeScheduler_;
40
41
  };
41
42
 
42
- } // namespace facebook::react
43
+ } // namespace react
44
+ } // namespace facebook
@@ -0,0 +1,32 @@
1
+ /*
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #include "RuntimeSchedulerCallInvoker.h"
9
+
10
+ namespace facebook {
11
+ namespace react {
12
+
13
+ RuntimeSchedulerCallInvoker::RuntimeSchedulerCallInvoker(
14
+ std::weak_ptr<RuntimeScheduler> runtimeScheduler)
15
+ : runtimeScheduler_(runtimeScheduler) {}
16
+
17
+ void RuntimeSchedulerCallInvoker::invokeAsync(std::function<void()> &&func) {
18
+ if (auto runtimeScheduler = runtimeScheduler_.lock()) {
19
+ runtimeScheduler->scheduleWork(
20
+ [func = std::move(func)](jsi::Runtime &) { func(); });
21
+ }
22
+ }
23
+
24
+ void RuntimeSchedulerCallInvoker::invokeSync(std::function<void()> &&func) {
25
+ if (auto runtimeScheduler = runtimeScheduler_.lock()) {
26
+ runtimeScheduler->executeNowOnTheSameThread(
27
+ [func = std::move(func)](jsi::Runtime &) { func(); });
28
+ }
29
+ }
30
+
31
+ } // namespace react
32
+ } // namespace facebook
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include <ReactCommon/CallInvoker.h>
11
+ #include <react/renderer/runtimescheduler/RuntimeScheduler.h>
12
+
13
+ namespace facebook {
14
+ namespace react {
15
+
16
+ /*
17
+ * Exposes RuntimeScheduler to native modules. All calls invonked on JavaScript
18
+ * queue from native modules will be funneled through RuntimeScheduler.
19
+ */
20
+ class RuntimeSchedulerCallInvoker : public CallInvoker {
21
+ public:
22
+ RuntimeSchedulerCallInvoker(std::weak_ptr<RuntimeScheduler> runtimeScheduler);
23
+
24
+ void invokeAsync(std::function<void()> &&func) override;
25
+ void invokeSync(std::function<void()> &&func) override;
26
+
27
+ private:
28
+ /*
29
+ * RuntimeScheduler is retained by the runtime. It must not be
30
+ * retained by anything beyond the runtime.
31
+ */
32
+ std::weak_ptr<RuntimeScheduler> runtimeScheduler_;
33
+ };
34
+
35
+ } // namespace react
36
+ } // namespace facebook
@@ -9,7 +9,8 @@
9
9
 
10
10
  #include <chrono>
11
11
 
12
- namespace facebook::react {
12
+ namespace facebook {
13
+ namespace react {
13
14
 
14
15
  /*
15
16
  * Represents a monotonic clock suitable for measuring intervals.
@@ -19,4 +20,5 @@ using RuntimeSchedulerClock = std::chrono::steady_clock;
19
20
  using RuntimeSchedulerTimePoint = RuntimeSchedulerClock::time_point;
20
21
  using RuntimeSchedulerDuration = RuntimeSchedulerClock::duration;
21
22
 
22
- } // namespace facebook::react
23
+ } // namespace react
24
+ } // namespace facebook
@@ -8,10 +8,10 @@
8
8
  #pragma once
9
9
 
10
10
  #include <react/debug/react_native_assert.h>
11
- #include <react/renderer/core/PropsParserContext.h>
12
11
  #include <chrono>
13
12
 
14
- namespace facebook::react {
13
+ namespace facebook {
14
+ namespace react {
15
15
 
16
16
  enum class SchedulerPriority : int {
17
17
  ImmediatePriority = 1,
@@ -61,4 +61,5 @@ static inline std::chrono::milliseconds timeoutForSchedulerPriority(
61
61
  }
62
62
  }
63
63
 
64
- } // namespace facebook::react
64
+ } // namespace react
65
+ } // namespace facebook
@@ -7,7 +7,8 @@
7
7
 
8
8
  #include "RuntimeScheduler.h"
9
9
 
10
- namespace facebook::react {
10
+ namespace facebook {
11
+ namespace react {
11
12
 
12
13
  Task::Task(
13
14
  SchedulerPriority priority,
@@ -32,4 +33,5 @@ jsi::Value Task::execute(jsi::Runtime &runtime) {
32
33
  return result;
33
34
  }
34
35
 
35
- } // namespace facebook::react
36
+ } // namespace react
37
+ } // namespace facebook
@@ -12,7 +12,8 @@
12
12
  #include <react/renderer/runtimescheduler/RuntimeSchedulerClock.h>
13
13
  #include <react/renderer/runtimescheduler/SchedulerPriority.h>
14
14
 
15
- namespace facebook::react {
15
+ namespace facebook {
16
+ namespace react {
16
17
 
17
18
  class RuntimeScheduler;
18
19
  class TaskPriorityComparer;
@@ -43,4 +44,5 @@ class TaskPriorityComparer {
43
44
  }
44
45
  };
45
46
 
46
- } // namespace facebook::react
47
+ } // namespace react
48
+ } // namespace facebook
@@ -11,7 +11,8 @@
11
11
  #include <jsi/jsi.h>
12
12
  #include <react/renderer/runtimescheduler/Task.h>
13
13
 
14
- namespace facebook::react {
14
+ namespace facebook {
15
+ namespace react {
15
16
 
16
17
  struct TaskWrapper : public jsi::HostObject {
17
18
  TaskWrapper(std::shared_ptr<Task> const &task) : task(task) {}
@@ -36,4 +37,5 @@ inline static std::shared_ptr<Task> taskFromValue(
36
37
  return value.getObject(runtime).getHostObject<TaskWrapper>(runtime)->task;
37
38
  }
38
39
 
39
- } // namespace facebook::react
40
+ } // namespace react
41
+ } // namespace facebook