Nick Lockwood 34ec6a91a9 Move setBridge: off main thread
Summary:
Previously, if a module implemented `setBridge:` we assumed that it needs to be initialised on the main thread. This assumption was not really warranted however, and it was a barrier to deferring module initialization.

This diff tweaks the rules so that only modules that override `init` or `constantsToExport**` are assumed to require main thread initialization, and others can be created lazily when they are first used.

WARNING: this will be a breaking change to any 3rd party modules that are assuming `setBridge:` is called on the main thread. Those modules should be rewritten to move any code that requires the main thread into `init` or `constantsToExport` instead.

`**` We will also be examining whether `constantsToExport` can be done lazily, but for now any module that uses it will still be created eagerly when the bridge starts up.

Reviewed By: javache

Differential Revision: D3240682

fb-gh-sync-id: 48f309e3158bbccb52141032baf70def3e609371
fbshipit-source-id: 48f309e3158bbccb52141032baf70def3e609371
2016-05-03 09:09:21 -07:00
..
2016-01-07 12:03:17 -08:00
2016-04-28 16:00:32 -07:00
2016-04-28 16:00:32 -07:00
2015-12-08 03:32:30 -08:00
2015-12-08 03:32:30 -08:00
2015-12-08 03:32:30 -08:00
2016-04-17 00:33:25 -07:00
2016-04-04 04:10:24 -07:00
2016-02-16 16:51:39 -08:00
2016-02-16 16:51:39 -08:00
2016-04-22 08:15:25 -07:00
2016-04-22 08:15:25 -07:00
2016-04-22 08:15:25 -07:00
2016-03-22 10:58:29 -07:00