Commit Graph

2 Commits

Author SHA1 Message Date
Ramanpreet Nara 4198c2bcb6 Migrate RCTDevMenu over to RCTBundleManager
Summary:
This diff gets rid of bridge usage in RCTDevMenu's _menuItemsToPresent method.

Changelog: [Internal]

Reviewed By: PeteTheHeat

Differential Revision: D28164301

fbshipit-source-id: 6445c787519af887209ee312f1c2dbaef873e00d
2021-05-04 18:33:23 -07:00
Ramanpreet Nara 4a1bafe591 Introduce RCTBundleManager
Summary:
NativeModules can read from, or write to, the bridge's bundleURL. To do so, they access the bundleURL property on the bridge directly.
**Setter:**
https://www.internalfb.com/code/fbsource/[2a74581dfff31febe6e91c5739294705f5244ecb]/xplat/js/react-native-github/React/CoreModules/RCTDevMenu.mm?lines=213-214

**Getter:**
https://www.internalfb.com/code/fbsource/[2a74581dfff31febe6e91c5739294705f5244ecb]/xplat/js/react-native-github/React/CoreModules/RCTDevMenu.mm?lines=245%2C256

In bridgeless mode, the bridge is nil. So, this form of access will fail.

After this stack lands, every NativeModule will be able to synthesize an RCTBundleManager, like so:
```
synthesize bundleManager = _bundleManager;
```

From then on, all NativeModules will use this bundleManager to access the bundle URL. This should ensure that NativeModules can read from/write to the bundleURL, **even in bridgeless mode**.

Changelog: [iOS][Added] - Introduce RCTBundleManager for bundleURL access

Reviewed By: PeteTheHeat

Differential Revision: D28086318

fbshipit-source-id: 34c15bf05c144341aa912fad9aa25d6d3a364f9e
2021-05-04 18:33:23 -07:00