Kevin Gozali
a43e666a34
TM iOS: force flush message queue when calling into JS from native
...
Summary: When calling into JS (e.g. promise resolve/reject, callback) in TurboModule, we bypass the bridge's message queue. At times this causes race condition, where there are a bunch of pending UI operations (in RCTUImanager) waiting to be flushed, but nothing adds calls to the message queue. Usually tapping the screen will trigger the flush because we're sending down touch events to JS.
Reviewed By: JoshuaGross
Differential Revision: D14656466
fbshipit-source-id: cb3a174e97542bf80f0a37b4170b6a8e6780fa35
2019-03-29 01:39:39 -07:00
Matt Hargett
36916ee99d
Fix portability issues to Linux, FreeBSD, and older libc++
...
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/21764
Differential Revision: D13902907
Pulled By: hramos
fbshipit-source-id: 640cde865b1bcc5ca43c17d00574b8e2f78ceaf4
2019-01-31 17:45:20 -08:00
zhongwuzw
d55558e138
Fix isBatchActive of RCTCxxBridge ( #22785 )
...
Summary:
Seems we lost handler of `isBatchActive` from [RCTBatchedBridge a86171a ](a86171a482/React/Base/RCTBatchedBridge.m ) to [RCTCxxBridge 5bc7e39 ](b774820dc2 (diff-a2a67635fffd7b690d14dc17ae563a71) ).
Changelog:
----------
[iOS] [fixed] - Fix isBatchActive of RCTCxxBridge
Pull Request resolved: https://github.com/facebook/react-native/pull/22785
Reviewed By: mhorowitz
Differential Revision: D13731897
Pulled By: cpojer
fbshipit-source-id: 8d6b85bcea8fe8997a93b4e1ac8b8007422ca20e
2019-01-21 00:28:48 -08:00
Marc Horowitz
3f0f25f73c
Back out "Check for thread consistency in JSCRuntime"
...
Summary:
This check is too aggressive. We will consider putting it back once we are
more certain nothing will trigger it.
Differential Revision: D13350907
fbshipit-source-id: 6033bdbfe7adb2a18bdf889c090cf271497605e5
2018-12-05 16:59:31 -08:00
Marc Horowitz
bdb084e8a8
Check for thread consistency in JSCRuntime
...
Summary:
In the version of JSC on iOS 11, creating a JSContext on one
thread and using it on another can trigger subtle and nearly
impossible to debug reentrancy-related crashes in the VM (see
https://bugs.webkit.org/show_bug.cgi?id=186827 ). In !NDEBUG builds,
check for this case and throw an exception, so it can be detected
early.
Reviewed By: amnn
Differential Revision: D13313264
fbshipit-source-id: ee85435c20e23c8520495ce743d2f91f2eeada5c
2018-12-04 12:01:59 -08:00
Héctor Ramos
1151c096da
Update copyright headers to yearless format
...
Summary: This change drops the year from the copyright headers and the LICENSE file.
Reviewed By: yungsters
Differential Revision: D9727774
fbshipit-source-id: df4fc1e4390733fe774b1a160dd41b4a3d83302a
2018-09-11 15:33:07 -07:00
Héctor Ramos
da7873563b
Migrate Android sources to MIT license header
...
Reviewed By: fkgozali
Differential Revision: D8065619
fbshipit-source-id: 719c303b40c96950bab8e5dde9a75f449b2956c6
2018-05-31 15:37:30 -07:00
Marc Horowitz
042449f24a
simplify handleMemoryPressure conditionalization, delete some dead code
...
Reviewed By: javache
Differential Revision: D7803912
fbshipit-source-id: 0bab4be07fc006a208caa75f94b5716c99b5d265
2018-05-09 22:12:03 -07:00
Ben Nham
15cd98b782
add isInspectable property
...
Reviewed By: Hypuk
Differential Revision: D6578736
fbshipit-source-id: a4229c3766125ff55cff50a49893b2385f9c8a6a
2017-12-18 13:32:36 -08:00
Alex Dvornikov
a47431ed74
Adopt split segments registration approach on Android
...
Differential Revision: D6284863
fbshipit-source-id: 0df6b90eb0cbeab4c8a2b11f1e4dcbd5d5dfab72
2017-11-09 12:23:51 -08:00
Alex Dvornikov
cff0d8e0e5
Register split segment paths with RAMBundleRegistry
...
Differential Revision: D6284466
fbshipit-source-id: c80cf929af38f92f06cca5b366c58785ae992d83
2017-11-09 12:23:46 -08:00
Alex Dvornikov
6ecae73fe5
Remove RAMBundleRegistry subclasses
...
Differential Revision: D6262247
fbshipit-source-id: 708f919e34f1706d9aca19a34ad8ea506e9f8d8b
2017-11-08 04:12:20 -08:00
Dan Caspi
19de7fcb22
Moving some RAM logic to Instance.
...
Reviewed By: michalgr
Differential Revision: D6208977
fbshipit-source-id: 28339d07c58f1acc816be02f2707ef75529fa069
2017-11-03 05:32:02 -07:00
Alex Dvornikov
7d115730dc
Configure JSExector with BundleRegistry instead of JSModulesUnbundle
...
Differential Revision: D5890458
fbshipit-source-id: 968be95786ffbf53aa98928d4d3e3bd52a84b3dc
2017-09-22 09:58:46 -07:00
Jia Li
0aa12939fd
Revert D5850968: Configure JSExector with BundleRegistry instead of JSModulesUnbundle.
...
Differential Revision: D5850968
fbshipit-source-id: f4c9dc8d5f14cdd32195463e8786242e708770e9
2017-09-21 21:22:39 -07:00
Alex Dvornikov
79821917fa
Configure JSExector with BundleRegistry instead of JSModulesUnbundle.
...
Differential Revision: D5850968
fbshipit-source-id: e5e7ad92c2347c2641551fcf820f061ffde5fed6
2017-09-21 08:51:00 -07:00
Pieter De Baets
c68bb6a72c
Update systrace markers
...
Reviewed By: AaaChiuuu
Differential Revision: D5707578
fbshipit-source-id: 90afc7c0c7dd66eda621f990ca3a11848adeb4e5
2017-08-30 03:45:02 -07:00
Riley Dulin
1df198da02
Expose ModuleRegistry from Instance
...
Reviewed By: javache
Differential Revision: D5586566
fbshipit-source-id: 786ecf2aa67f12861df7d98f0d32ab79b3d02962
2017-08-10 10:48:25 -07:00
Pieter De Baets
ed3c018ee4
Remove legacy JSC profiler
...
Reviewed By: bnham
Differential Revision: D5433406
fbshipit-source-id: 8cbea8b9b46a0d9f29c57a5bcf605e6bb61ed8a7
2017-07-20 04:21:16 -07:00
Pieter De Baets
83faa4b608
Simplify Catalyst handleMemoryPressure
...
Reviewed By: cwdick
Differential Revision: D5200555
fbshipit-source-id: 86f12acca33ece265d3482ba52de9afcc83173cd
2017-06-26 06:01:14 -07:00
Pieter De Baets
e2628f93b5
Rename Executor to JSExecutor
...
Summary:
* Cleanup some header files so we use more forward declarations
* Rename Executor to JSExecutor.h
* Move some typedefs to more appropriate locations
Reviewed By: mhorowitz
Differential Revision: D5301913
fbshipit-source-id: e75154797eb3f531d2f42a5e95409f4062b85f91
2017-06-23 17:01:25 -07:00
Kathy Gray
5c5410459e
Setting bridge up for sharing: allowing native modules to register after init
...
Reviewed By: javache
Differential Revision: D4945784
fbshipit-source-id: 80e7236e9ccd5d5c9a7fba7c96b98fc38b43a2fc
2017-06-21 12:08:45 -07:00
Pieter De Baets
c25f356675
Avoid crash when accessing jsContextRef without an executor
...
Reviewed By: adamjernst
Differential Revision: D5237039
fbshipit-source-id: 6a86da90605b896093e0ef99b0fcf079bf9854bf
2017-06-14 05:32:27 -07:00
Kathy Gray
35b888dc11
Fix making loadScriptFromString always synchronous
...
Reviewed By: javache
Differential Revision: D5129620
fbshipit-source-id: a0ad5e2704fc38f4cdfe29187a2b59ba4b0ff61b
2017-05-25 16:47:06 -07:00
Kathy Gray
f46eaa30cf
Provide sync vs async interface for bundle loading via parameter
...
Reviewed By: javache
Differential Revision: D5104317
fbshipit-source-id: ffacb57d85c24795a3acc2faba2ff5824cc739b2
2017-05-24 07:31:36 -07:00
Pieter De Baets
34bc6bd2ae
Drop support for webworkers
...
Reviewed By: AaaChiuuu
Differential Revision: D4916449
fbshipit-source-id: a447233d3b7cfee98db2ce00f1c0505d513e2429
2017-04-25 05:37:54 -07:00
Pieter De Baets
314ec87269
Remove unused CxxMessageQueue
...
Differential Revision: D4713064
fbshipit-source-id: 511b782279b89076228f00290e78ed155e2e723e
2017-03-21 12:46:27 -07:00
Pieter De Baets
99d73c8927
Move FBReactJSExecutor to Instance
...
Reviewed By: mhorowitz
Differential Revision: D4589940
fbshipit-source-id: e3f0c374e78f77e54cede5c617414e41844f0f4d
2017-03-17 07:08:14 -07:00
Pieter De Baets
d7b37c4050
Remove JsToNativeBridge's nativeQueue
...
Reviewed By: mhorowitz
Differential Revision: D4589737
fbshipit-source-id: 3b2730417d99c4f98cfaad386bc50328f2551592
2017-03-17 07:08:14 -07:00
Marc Horowitz
e622d51e20
Support ModuleHolder-based lazy init of C++ modules with C++ bridge on android
...
Reviewed By: AaaChiuuu
Differential Revision: D4614479
fbshipit-source-id: 109ac34b8688f0113675e4a4479d1ddcc6169ed4
2017-03-14 15:35:01 -07:00
Marc Horowitz
7e4b8ff000
Support passing native modules to JSContext
...
Reviewed By: amnn
Differential Revision: D4561036
fbshipit-source-id: b096a222103e895b14cba1ec5b2bb6e72dd72c37
2017-03-14 15:35:01 -07:00
Ashok Menon
14dc219810
Deleting Optimized Bundle!
...
Reviewed By: javache
Differential Revision: D4566164
fbshipit-source-id: 1fbd3dd04f24399e93e3c6ec58956e6e18f1683f
2017-02-16 13:30:55 -08:00
Ashok Menon
76c4faee5e
CatalystInstanceImpl.setSourceURL
...
Reviewed By: javache
Differential Revision: D4422416
fbshipit-source-id: bc49485ac64064909f32375b6b8360a0a505975b
2017-01-18 08:58:41 -08:00
Ashok Menon
154e183344
Fixing RN Debugger
...
Reviewed By: cwdick, javache
Differential Revision: D4409257
fbshipit-source-id: 062c798d1a1c9ad90884599ed262412c1dd51359
2017-01-12 16:28:36 -08:00
Ashok Menon
24f3add010
Use JSExecutor's file-based Loading API in NativeToJsBridge and Instance
...
Reviewed By: javache
Differential Revision: D4320773
fbshipit-source-id: fa46728ba0d45818737b32952efbfae7bc8ef9f1
2017-01-10 07:13:40 -08:00
Nikhilesh Sigatapu
c67225818d
Add a way to access the underlying JavaScriptCore context
...
Summary:
**Motivation**
I'm working on a project that uses React Native and needs to add direct synchronous bindings to native stuff through the JavaScriptCore C API. This is because it's performance-sensitive and would benefit from the quickest JS->C path. It does this using cross-platform C++ code that works on both iOS and Android. Most of the infrastructure for getting access to the JSC context is already in React Native actually, just had to add a few more things.
(lexs you mentioned to tag you in this pull request)
**Test plan**
Modify the JavaScriptCore context through the `JSContextRef` returned (eg. add an object at global scope) and verify that it exists in JavaScript.
Closes https://github.com/facebook/react-native/pull/10399
Differential Revision: D4080945
Pulled By: lexs
fbshipit-source-id: 6659b7a01e09fd84475adde183c1d3aca2d4cf09
2016-10-26 03:43:44 -07:00
Marc Horowitz
6071e8ca2c
Support sync loading of the initial bundle/source
...
Reviewed By: javache
Differential Revision: D3897521
fbshipit-source-id: a4f234c7003a5f4be952d315eb62f382836e24dc
2016-09-26 16:14:11 -07:00
Marc Horowitz
971cda8794
Move thread jump for js loading into NativeToJSBridge, out of platform code
...
Reviewed By: javache
Differential Revision: D3906009
fbshipit-source-id: b9782a6c209e3c1626899dac7fd50233cdef87f3
2016-09-26 16:14:10 -07:00
Michał Gregorczyk
3c0f428f05
Fix optimized bundle stuff.
...
Reviewed By: davidaurelio, tadeuzagallo
Differential Revision: D3563710
fbshipit-source-id: 2b0a982d388ee5f44b806f8e561ef49a3fd8c8ca
2016-07-14 15:28:46 -07:00
David Aurelio
df01215006
Reverted commit D3545345
...
Reviewed By: tadeuzagallo
Differential Revision: D3545345
fbshipit-source-id: d655918be7dcadaf8143800497e85f3de44bd48a
2016-07-14 10:58:27 -07:00
Michał Gregorczyk
1331e20db5
add API to CatalystInstanceImpl for executing optimized bundle
...
Reviewed By: tadeuzagallo
Differential Revision: D3545345
fbshipit-source-id: 538fec77b816c3fd767e8c2eda81c78971996b17
2016-07-12 08:13:32 -07:00
Alexander Blom
be0abd17e5
Remove a bunch of copies
...
Reviewed By: astreet
Differential Revision: D3475592
fbshipit-source-id: 37148bb8d8d47e9301ad549b183029337f7c4ca0
2016-07-07 09:00:01 -07:00
Alexander Blom
95401aba72
Create tracing name in C++ instead of Java
...
Reviewed By: mhorowitz
Differential Revision: D3469140
fbshipit-source-id: 77a00a7150573e44f219972556cbb936a57d7054
2016-07-07 09:00:00 -07:00
Chris Hopman
5e8f1716fc
Build new bridge with gradle
...
Reviewed By: bestander
Differential Revision: D3324351
fbshipit-source-id: 41fa18a23c8661440a7deff244c93278f418e1d9
2016-05-27 16:13:37 -07:00