Pieter De Baets
4d2512aef9
Replace MethodCallResult with folly::Optional
...
Reviewed By: AaaChiuuu
Differential Revision: D4481987
fbshipit-source-id: 945dd671eb2482f3c6b626192aa2181c5bfd906f
2017-02-02 05:13:33 -08:00
Marc Horowitz
5bc7e3934b
make JSCExecutor compile on iOS without android hacks
...
Reviewed By: javache
Differential Revision: D4434041
fbshipit-source-id: 88439384b1471ea5bd96d7cc39e681ddd3959243
2017-02-01 14:14:32 -08:00
Marc Horowitz
ad549c067a
small fixes to ReactCommon
...
Summary: unneeded or overly generic header files, stuff like that.
Reviewed By: javache
Differential Revision: D4434029
fbshipit-source-id: f25c702e7fc8d8debbd865cf3822696bf9b61c81
2017-02-01 14:14:32 -08:00
Pieter De Baets
f8c72f5441
Support invoking and returning arbitrary types from Java sync hooks
...
Reviewed By: mhorowitz
Differential Revision: D4409900
fbshipit-source-id: 347e33c442b32f64355d343308c218c15cf5a70f
2017-01-31 05:28:35 -08:00
Pieter De Baets
919e49a8b8
Pass expanded folly::dynamic as argument to sync nativeHook
...
Reviewed By: mhorowitz
Differential Revision: D4409865
fbshipit-source-id: f99e02e36bf691fa5b4a5affce1fa4fd4cf321a6
2017-01-30 06:43:48 -08:00
Pieter De Baets
a407ff94ee
Add option to start sampling profiler on app launch
...
Reviewed By: mhorowitz
Differential Revision: D4415989
fbshipit-source-id: 30704c2b618656cb7cc0ccdf87dec315b30b62f3
2017-01-25 14:43:30 -08:00
Pieter De Baets
e97ffc469c
Use NoAutomaticPrototype everywhere
...
Reviewed By: michalgr
Differential Revision: D4462794
fbshipit-source-id: 53585741c1d35ca31e3429f2de56455ea5dea902
2017-01-25 11:43:30 -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
Dan Caspi
ad0493c6c2
Fixing a crash caused by D4393955
...
Reviewed By: javache
Differential Revision: D4403858
fbshipit-source-id: c930aa108d27c1bd1b36364530d2953bcd4664ad
2017-01-11 09:43:34 -08:00
Stephen Girdlestone
a0dd54b4d7
Adding method for JSCreateSourceCodeFromFile.
...
Reviewed By: amnn
Differential Revision: D4365790
fbshipit-source-id: b62ee9c7d3fa3f89c22a10a6fde21cd9c30fceb2
2017-01-11 06:13:28 -08:00
Dan Caspi
b50f55026a
Adding support in the new RN bridge on iOS
...
Differential Revision: D4393955
fbshipit-source-id: e5f3fb6773908678773a5dd4fdea568bcc200336
2017-01-10 11:28:44 -08:00
Ashok Menon
da428d6c3d
Exposing Recoverable Errors
...
Differential Revision: D4383792
fbshipit-source-id: e6d0f57fcaacf242e95bfcf589a4fa840c317fe5
2017-01-10 07:13:40 -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
Ashok Menon
8819bef56b
Getting rid of File descriptor based loading APIs
...
Reviewed By: javache
Differential Revision: D4333725
fbshipit-source-id: ba8591c7380e8eb90660a912f6fc86fc3d2d4774
2017-01-10 07:13:40 -08:00
Ashok Menon
6ca6b4988a
Propagate Load Errors through JSExecutor API
...
Reviewed By: mhorowitz
Differential Revision: D4315204
fbshipit-source-id: ae282e0a0398a602dd790de3a2b1adb5fdc1f50c
2016-12-17 04:58:31 -08:00
Ashok Menon
fa082796a5
Make file backed strings dup the provided file descriptor.
...
Reviewed By: mhorowitz
Differential Revision: D4326645
fbshipit-source-id: 2741f1fead4f42ae76787f8a70c1e787445b827d
2016-12-16 06:13:40 -08:00
Ashok Menon
fb5678e33a
Generalising JSCompiledSourceError to JSLoadSourceError
...
Reviewed By: javache
Differential Revision: D4312888
fbshipit-source-id: de38066247f52eeb64efa48807882b96e3737d0e
2016-12-12 08:43:43 -08:00
Ashok Menon
f3dbf3ea89
Removing default parameters to functions in `JSBase.h`
...
Differential Revision: D4309440
fbshipit-source-id: f4f795d5736c6d6e5297e2773538df66139e9b84
2016-12-10 05:58:31 -08:00
Michał Gregorczyk
46919095aa
Simplify bundle loading a little bit.
...
Reviewed By: amnn
Differential Revision: D4306559
fbshipit-source-id: 9733c508aa5a905251e96855794a59ef79d61cfa
2016-12-09 17:58:32 -08:00
Michael Lee
f99f10c7ab
Move gmock to shared xplat
...
Reviewed By: capickett
Differential Revision: D4017736
fbshipit-source-id: 46d9b936fe210040835e4b7222053c1520cb7318
2016-12-09 11:13:33 -08:00
Ashok Menon
30213757d9
Making CompiledSourceError a C enum, to keep `JSBase.h` as a C header
...
Reviewed By: javache
Differential Revision: D4299281
fbshipit-source-id: 14cdc6d4502a70300919dc6a98a5f274076134c7
2016-12-08 16:28:27 -08:00
Ashok Menon
624104fd0c
Listen to Compiled Source Errors in JSCExecutor fallback code.
...
Reviewed By: javache
Differential Revision: D4284537
fbshipit-source-id: 247717ef55fb6bc0a34a01626c790bd23fd18598
2016-12-08 05:13:40 -08:00
David Aurelio
f9f32eb426
Load Indexed RAM format on android
...
Reviewed By: javache
Differential Revision: D4268243
fbshipit-source-id: fc969cfc69810d0477c926ffc79c23584fcbd7eb
2016-12-04 16:13:30 -08:00
David Aurelio
b1a23914fa
JSIndexedRAMBundle: Don't read null bytes for scripts
...
Summary:
`JSIndexedRAMBundle` used to read scripts including the terminating null bytes. That worked on iOS, but not on Android, where we have an ascii-only optimization.
This changes that behavior to only read the actual script data excluding the terminal null.
Reviewed By: javache
Differential Revision: D4265374
fbshipit-source-id: 7e6f943666aee610d79939cef09b103305803c69
2016-12-03 02:28:37 -08:00
Pieter De Baets
0e6895f270
Fix typo
...
Reviewed By: amnn
Differential Revision: D4258150
fbshipit-source-id: d41c5426b801d32db6099cf8b29596689f369ba6
2016-12-01 06:58:31 -08:00
Lukas Piatkowski
bd524bd6e8
BREAKING: Change the toValue in JSCExecutor to ValueEncoder<T>::toValue
...
Summary:
The C++ standard requires that when a function is used in a template it's prototype needs to be defined not only before the template specialization, but also before the template itself.
Because of that one needs to (in certain compilers) be aware of the proper order of includes so that the function prototype is defined before the JSCExecutor.h is included.
As a workaround the toValue might be written as a template (ValueEncoder<T>::toValue) defined in JSCExecutor.h instead of being an non-existing symbol.
Thanks to that the JSCExecutor.h does not have to be included before the specialization of the ValueEncoder template.
Reviewed By: mhorowitz
Differential Revision: D4182724
fbshipit-source-id: 9bdf239ae66ef7a7d2c82daf7db5926472687bde
2016-11-24 09:28:29 -08:00
Pieter De Baets
f2a46b17d4
Replace RCTJSCWrapper with JSCWrapper from ReactCommon
...
Reviewed By: mhorowitz
Differential Revision: D4204516
fbshipit-source-id: 6bcb122daf2848035dfae404ee7a2e9aca0f8087
2016-11-23 11:43:48 -08:00
David Aurelio
5db7484e8d
Move `ScriptTag` and `RCTJSModulesUnbundle` to `cxxreact`
...
Reviewed By: javache
Differential Revision: D4213662
fbshipit-source-id: fc2ec9717c24fe77bb022a48777049f88173ebeb
2016-11-23 06:43:50 -08:00
Pieter De Baets
cb3e575deb
Allow bridge delegate to specify whether to use custom JSC wrapper
...
Reviewed By: mhorowitz
Differential Revision: D4197657
fbshipit-source-id: 09e050f802b41c9a7016456c25381018b2123553
2016-11-23 03:58:41 -08:00
Pieter De Baets
3f50a887d9
Move JSC API usage in ReactCommon to our wrapper methods
...
Reviewed By: bnham
Differential Revision: D4197374
fbshipit-source-id: 107a129cff35dddfe06104b607441ad412f83d90
2016-11-22 06:13:33 -08:00
Pieter De Baets
e541d9b108
Define wrapper versions of all JSC methods
...
Reviewed By: bnham
Differential Revision: D4197369
fbshipit-source-id: 53869fe1b56010c8a5330025d06ef557369e4957
2016-11-22 06:13:33 -08:00
Michał Gregorczyk
2ca507bf9e
Remove supported platforms from JSC and all the things that depends on it
...
Reviewed By: bnham
Differential Revision: D4213580
fbshipit-source-id: 3830c15b0097030a4e4611aac814b12e1d6ae696
2016-11-21 16:43:31 -08:00
Pieter De Baets
2a04569926
Fix usage of old String constructor
...
Reviewed By: amnn
Differential Revision: D4204575
fbshipit-source-id: ea0309ec9bf2c8a4c480188efb00408fcc399e2e
2016-11-18 07:28:24 -08:00
Pieter De Baets
20514e3482
Add JSContextRef param to String constructor
...
Reviewed By: bnham
Differential Revision: D4197300
fbshipit-source-id: 306ffc85e3ced24047b68499f7cdf5e2d31fc052
2016-11-18 06:28:48 -08:00
Pieter De Baets
674d86cdcb
Add some more helper methods to Value
...
Reviewed By: mhorowitz
Differential Revision: D4197278
fbshipit-source-id: 9a538ff2747d32a54d42627a9f78e4a348dce639
2016-11-18 06:28:48 -08:00
Ashok Menon
9e00a42fd7
Experimental App Bundle API
...
Reviewed By: michalgr
Differential Revision: D4198629
fbshipit-source-id: b96a4b3ad3e5ab6b4cb8892442c6077edf7058a3
2016-11-18 05:13:31 -08:00
Ashok Menon
2de1c3507a
Introducing `JSBigFileString`
...
Reviewed By: michalgr
Differential Revision: D4189896
fbshipit-source-id: 0f3cebcd7e76d5c763c29ebc1119ae24b643e5ad
2016-11-16 15:13:39 -08:00
Ashok Menon
79fa6d41a1
Rename JSBigMmapString -> JSBigOptimizedBundleString
...
Summary:
`JSBigMmapString` needs to know too much about the details of the "optimized bundle" format. In honour of this fact, I'm renaming it to `JSBigOptimizedBundleString`. In a following diff, I will introduce a new class just for File-backed Strings, whose only responsibility is dealing with an mmaped region.
This diff already pulls in some fixes for formatting reference and pointer declarations from the linter.
Reviewed By: michalgr
Differential Revision: D4189391
fbshipit-source-id: b376c2a8d9ae5b83575da8457e607bbbfc648ebd
2016-11-16 15:13:39 -08:00
Ashok Menon
89d81b34db
Use folly for error checking
...
Summary: Small refactor, making error checking clearer.
Reviewed By: lexs
Differential Revision: D4189090
fbshipit-source-id: f3a24eacfe6dd154d29662f510ce19dbe55f89a6
2016-11-16 15:13:39 -08:00
Ashok Menon
f22dfa3efb
Make Bytecode Header errors non-fatal
...
Reviewed By: michalgr
Differential Revision: D4182575
fbshipit-source-id: 1e7c229bb6d0bdbfdfc01e93af53441ba2cba9f9
2016-11-16 15:13:39 -08:00
Pieter De Baets
96cf9bb0c0
Support null messageQueueThread in JSCExecutor
...
Reviewed By: michalgr
Differential Revision: D4119253
fbshipit-source-id: 2956434451bf4e649cfe4c0ee0a9b7339a5422a3
2016-11-02 14:28:36 -07:00
Alexander Blom
156e5d9837
Add on-device JSC inspector
...
Summary:
Introduces the inspector library supporting the Chrome Debugging Protocol for JavaScriptCore. Eventually this will mean that it is possible to attach
the Chrome inspector directly to the JSC instance running on the device. This library doesn't define the actual transport but leaves that up to the platform
layer.
The main entry point (and the only exported header) is `Inspector.h`.
This diff only introduces the basics supporting the `Schema` and `Inspector` domains meaning it doesn't have any features yet. These will come in following
diffs.
Reviewed By: michalgr
Differential Revision: D4021490
fbshipit-source-id: 517fd9033051c11ba97d312b16382445ae85d3f3
2016-11-02 12:29:14 -07:00
Pieter De Baets
4082a54649
Don't mask exceptions generated from loadModule
...
Reviewed By: davidaurelio
Differential Revision: D4112447
fbshipit-source-id: e9b3a5cefb166fe00c04b6126c9878e71f1413ec
2016-11-01 16:13:33 -07:00
Alexander Blom
ddb8cb7cf0
Move JSCHelpers.h and Value.h into separate package
...
Reviewed By: javache
Differential Revision: D3950748
fbshipit-source-id: 6315ea07f3217b485aeb4374b5f6e36333957848
2016-11-01 11:44:10 -07:00
Ben Nham
c089761f9b
Use JSCExecutor to manage loading js script in JSContext
...
Reviewed By: jaegs
Differential Revision: D4021624
fbshipit-source-id: 8e46052ad246e842a88715d55059a233196a4a6b
2016-10-31 15:13:49 -07:00
Giuseppe Ottaviano
dc02907039
Fix a folly::dynamic deprecated pattern
...
Reviewed By: javache
Differential Revision: D4075622
fbshipit-source-id: 4a6b6c4068d762dce2b1535bfd9630e185f5489f
2016-10-26 09:43:56 -07: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
Scott Wolchok
3f472e0bfa
Fix cxxreact build error with -Wmissing-prototypes
...
Differential Revision: D4022143
fbshipit-source-id: 6afbd29a030ff51915cfb552f74737e9146b2ffd
2016-10-14 13:28:36 -07:00
Pieter De Baets
8355ef91ad
Add a default context name to RCTJSCExecutor
...
Reviewed By: mmmulani
Differential Revision: D4015748
fbshipit-source-id: 077287b8438aa13f2a1479d68eacb0662bf295aa
2016-10-14 11:43:43 -07:00