Pritesh Nandgaonkar
d7ab9496bc
Change c files to cpp
...
Reviewed By: gkassabli
Differential Revision: D6271299
fbshipit-source-id: 66c0e54ccf019d72d1fd0b4d117826e4e84fdc89
2017-11-21 10:18:29 -08:00
Pritesh Nandgaonkar
d950dc6a21
Deleted YGSetMemoryFucs as it is unused
...
Reviewed By: emilsjolander
Differential Revision: D6374147
fbshipit-source-id: 8c896dce23571268a1a52df5cc72486af9d66df7
2017-11-21 03:37:54 -08:00
Pritesh Nandgaonkar
6c70975689
Replace printf with YGLog calls
...
Reviewed By: gkassabli
Differential Revision: D6297015
fbshipit-source-id: 6a67bdf33ef121785ac14938f5d3ed6e9d6f2656
2017-11-16 05:34:27 -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
Dan Zimmerman
02f7c61cdd
Introduce macro that disables poisoning JSC symbols
...
Reviewed By: dcaspi
Differential Revision: D6184846
fbshipit-source-id: 755653ceebcbded8fbe165375e8e8e50cf0ecccc
2017-11-02 08:16:11 -07:00
Dan Zimmerman
c6a30ab949
Match the linkage used for FBJSContextStartGCTimers, configureJSCForIOS
...
Reviewed By: dcaspi
Differential Revision: D6184848
fbshipit-source-id: cf016caddcccab8de9ffccbe616e579005ae05d0
2017-11-02 08:16:11 -07:00
Chandra Patni
86c50a5094
use `> || YGFloatsEqual` instead of `>=` for computing round value to pixel grid
...
Reviewed By: emilsjolander
Differential Revision: D6202484
fbshipit-source-id: bb80235452208caec388775574cc4f07bfd649c4
2017-11-01 15:47:59 -07:00
Alex Dvornikov
b5651d945c
Add "setJsBundlesDirectory" method to CatalystInstanceImpl
...
Differential Revision: D6042493
fbshipit-source-id: 950c6d6bdc2e0b62b14c9bcfc86233159a002c67
2017-11-01 06:54:44 -07:00
Georgiy Kassabli
21917ab7bf
Fixing the edge case in Yoga with percentage absolute position and infinite constraint
...
Reviewed By: emilsjolander
Differential Revision: D6199731
fbshipit-source-id: f40ddf00614b2f507848fb35f348a9dfef14b323
2017-11-01 06:20:11 -07:00
Pritesh Nandgaonkar
0230672275
Reverting the dirty child optimization
...
Reviewed By: emilsjolander
Differential Revision: D6203290
fbshipit-source-id: 8e42abb70e55f0fac90faaa21ecdbe0fbb76ce6b
2017-10-31 23:15:43 -07:00
Pritesh Nandgaonkar
587225ab45
Used hasDirtyChildren tag for the optimization
...
Reviewed By: emilsjolander
Differential Revision: D6134754
fbshipit-source-id: bbcfee14058140b946401de756a3f130de0f51cd
2017-10-31 08:21:54 -07:00
Dan Caspi
40a90831b8
Final fixes
...
Reviewed By: amnn
Differential Revision: D6050931
fbshipit-source-id: 44db12becc0057fe71d469f3e9e6fc16a5d4d5af
2017-10-19 14:33:05 -07:00
Sebastian Markbage
60c898d864
Persistent Yoga
...
Summary:
This is meant to show a possible route format for a persistent form of Yoga. Where previous layouts can remain intact while still taking advantage of incremental layout by reusing previous subtrees.
```c
YGNodeRef YGNodeClone(const YGNodeRef node);
```
The core of this functionality is a new API to clone an existing node. This makes a new detached node with all the same values as the previous one. Conceptually this makes the original node "frozen" from that point on. It's now immutable. (This is not yet enforced at runtime in this PR but something we should add.)
Since the original is frozen, we reuse the children set from the original node. Their parent pointers still point back to the original tree though.
The cloned node is still mutable. It can have its styles updated, and nodes can be inserted or deleted. If an insertion/deletion happens on a cloned node whose children were reused, it'll first shallow clone its children automatically.
As a convenience I also added an API to clear all children:
```c
void YGNodeRemoveAllChildren(const YGNodeRef node);
```
During insert/delete, or as a result of layout a set of reused children may need to be first cloned. A kind of copy-on-write. When that happens, the host may want to respond. E.g. by updating the `context` such as by cloning any wrapper objects and attaching them to the new node.
```c
typedef void (*YGNodeClonedFunc)(YGNodeRef oldNode,
YGNodeRef newNode,
YGNodeRef parent,
int childIndex);
void YGConfigSetNodeClonedFunc(YGConfigRef config,
YGNodeClonedFunc callback);
```
This PR doesn't change any existing semantics for trees that are not first cloned.
It's possible for a single node to exist in two trees at once and be used by multiple threads. Therefore it's not safe to recursively free a whole tree when you use persistence. To solve this, any user of the library has to manually manage ref counting or tracing GC. E.g. by replicating the tree structure in a wrapper.
In a follow up we could consider moving ref counting into Yoga.
Closes https://github.com/facebook/yoga/pull/636
Reviewed By: emilsjolander
Differential Revision: D5941921
Pulled By: sebmarkbage
fbshipit-source-id: c8e93421824c112d09c4773bed4e3141b6491ccf
2017-10-17 01:26:48 -07:00
Alex Dvornikov
dd400f842b
add "jsBundlesDirectory" method to RCTBridgeDelegate
...
Differential Revision: D6030185
fbshipit-source-id: 58d6f9d0d412c7ad0f83af9ae4df01c4dc1178bc
2017-10-12 12:33:21 -07:00
Sergei Dryganets
4192790f05
more detailed CxxModule logging
...
Summary:
<!--
Thank you for sending the PR! We appreciate you spending the time to work on these changes.
Help us understand your motivation by explaining why you decided to make this change.
You can learn more about contributing to React Native here: http://facebook.github.io/react-native/docs/contributing.html
Happy contributing!
-->
Cxx module code swallows c++ exception details with sarcastic comment let native developer figure it out.
Now instead of swallowing it, we print as much information as we can for different exception types.
Still not ideal but way more informative.
Have a crash in your c++ module and try to figure it out without this change.
Closes https://github.com/facebook/react-native/pull/16193
Differential Revision: D6040038
Pulled By: javache
fbshipit-source-id: 3fbe838383ca13395e21f74c9549474f6329cfeb
2017-10-12 12:02:11 -07:00
Scott Yost
f9047cdfaf
Revert D5932093: [RAMBO] Final fixes
...
Differential Revision: D5932093
fbshipit-source-id: 8e6ac0482a4c5a9ae4549be73d316df919613c9b
2017-10-12 09:16:40 -07:00
Dan Caspi
0da1738e9b
Final fixes
...
Reviewed By: amnn
Differential Revision: D5932093
fbshipit-source-id: f52a0bb3552af5ad003c051dc32dff0bfabb43ac
2017-10-12 08:27:17 -07:00
Alex Dvornikov
9e01d72103
Unify supplimentary bundle path creation logic between Android and iOS
...
Differential Revision: D5941546
fbshipit-source-id: c9b8fab887f480faa373c26a1d5ba310e8acde78
2017-10-04 15:16:27 -07:00
Paco Estevez Garcia
ef2e29f54c
Move URL escaping to Inspector layer
...
Reviewed By: Hypuk
Differential Revision: D5967544
fbshipit-source-id: d741e6324aff7583778cb13c862505b61ca02a3d
2017-10-04 03:51:33 -07:00
Paco Estevez Garcia
905631470a
Add isNetworkInspected to check if a JS VM needs to be paused on launch
...
Reviewed By: mhorowitz
Differential Revision: D5924019
fbshipit-source-id: 6b1cfc94d149883236ad06619fc54018d57cb0e7
2017-10-03 06:03:23 -07:00
Paco Estevez Garcia
da14fad829
Add AppIdentity and DeviceIdentity to Inspector
...
Reviewed By: Hypuk
Differential Revision: D5924011
fbshipit-source-id: a81d420dbe1a5ede203d2fa313548e19664b9587
2017-10-03 06:03:23 -07:00
Marko Novakovic
5038b06b31
Un-inline-ing a method declared as export
...
Reviewed By: compnerd
Differential Revision: D5909847
fbshipit-source-id: 7108dd88271e640e1881b20c0cbf1ad28bbf63c9
2017-09-26 19:01:38 -07:00
Alex Dvornikov
7d2021ec49
Added iOS support for loading multiple RAM bundles
...
Differential Revision: D5890466
fbshipit-source-id: e7805f90a7c446f5f75427c3fadcd133a3f7ad18
2017-09-22 09:58:47 -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
Jia Li
526fd6b931
Revert D5850970: Added iOS support for loading multiple RAM bundles
...
Differential Revision: D5850970
fbshipit-source-id: 8b0f9bc296ac2944b8b7657a4119b6787d810a2c
2017-09-21 21:22:39 -07:00
Alex Dvornikov
1aeb767a37
Added iOS support for loading multiple RAM bundles
...
Differential Revision: D5850970
fbshipit-source-id: 88ab6fe3822f1bc4195007f8ec83177a84c27569
2017-09-21 08:51:00 -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
Alex Dvornikov
2f952fbaac
Initial implementation of multiple RAM bundles registry
...
Differential Revision: D5850963
fbshipit-source-id: e1bd6d74953872d38e73a20f6d054905a7e4c80c
2017-09-21 08:51:00 -07:00
Alex Dvornikov
da2ea2601b
Allow "nativeRequire" to accept "bundleId" and "moduleId" values
...
Differential Revision: D5850960
fbshipit-source-id: 4d7aa0ed7542181861649a2089d90c3cf98723e9
2017-09-21 08:51:00 -07:00
Mingwei Pan
67d0cc5c08
Improve formatting of YogaNode.print() on Android
...
Reviewed By: emilsjolander
Differential Revision: D5842889
fbshipit-source-id: 8ecc829dc43614934c47fd3a68317259e403325a
2017-09-21 07:50:57 -07:00
Emil Sjolander
244045edea
Revert D5874862: [yoga][PR] Fix shrinking in non strech alignments
...
Differential Revision: D5874862
fbshipit-source-id: 24517d26b18c11fb9f75c6d3b5faae360711ea9e
2017-09-21 03:50:11 -07:00
Lukas Wöhrl
aa8eb806ca
Fix shrinking in non strech alignments
...
Summary:
This fixes shrinking of elements which are in a non stretch alignment
Fixes #633
Closes https://github.com/facebook/yoga/pull/634
Differential Revision: D5874862
Pulled By: emilsjolander
fbshipit-source-id: 1426aa6b60f6ba42c2be702e6f24cea935ab7acb
2017-09-20 13:31:11 -07:00
Michał Gregorczyk
0ee502d125
More useful utilities in jschelpers
...
Reviewed By: mhorowitz
Differential Revision: D5785204
fbshipit-source-id: 4c5240f24c6a69bb781896d3af32d4d16fc2387c
2017-09-18 18:45:27 -07:00
Michał Gregorczyk
d6c519bc96
Base class for all object private data passed to JSC
...
Reviewed By: amnn
Differential Revision: D5761937
fbshipit-source-id: de88cf8b959fc855c3c0786f817bb6032491c819
2017-09-18 18:45:27 -07:00
Mingwei Pan
d0f36d7a68
Zero out all fields in YGZeroOutLayoutRecursivly using memset
...
Reviewed By: emilsjolander
Differential Revision: D5842351
fbshipit-source-id: d2c2b6f829588a200525b7ccbdb63003cb4dcc4e
2017-09-15 08:34:26 -07:00
Pieter De Baets
7b770556ac
Improve RCTCxxBridge invalidation
...
Reviewed By: fromcelticpark
Differential Revision: D5536063
fbshipit-source-id: b0f19bebea839c7da84890c338ad4d38293bc99c
2017-09-11 04:30:31 -07:00
Michael Lee
1f2ca244d7
Move to fbsystrace to a new location
...
Reviewed By: dreiss
Differential Revision: D5760920
fbshipit-source-id: 9ff001dbd34660c14d061dec5428e82a815c719a
2017-09-07 09:17:02 -07:00
Michael Lee
ed31f7a97d
Reformat BUCK files
...
Reviewed By: zertosh
Differential Revision: D5756296
fbshipit-source-id: 69af6e9211648a81ba864be8d37165023cb5f9c2
2017-09-05 15:02:19 -07:00
Marc Horowitz
d48f08cad6
Thread the JSI runtime descriptor up into the RCTDevMenu title
...
Reviewed By: javache
Differential Revision: D5643014
fbshipit-source-id: 977be5729c57c0d01ff67b268031ad6fdbf88a07
2017-09-05 15:02:19 -07:00
Pieter De Baets
8497ec297c
Shortcut JSBigFileString in when no offset is used
...
Reviewed By: mhorowitz
Differential Revision: D5227225
fbshipit-source-id: a50688c8b873bf08ea10fafaa143df130f59dfaa
2017-09-05 03:15:43 -07:00
Michał Gregorczyk
8ffe131dad
Do not let macros mess with shape of JSExecutor's vtable
...
Reviewed By: mhorowitz
Differential Revision: D5750246
fbshipit-source-id: b9b428bb301abe208075d409b1a08cde070b17d8
2017-09-01 09:15:43 -07:00
Michael Lee
bf80585eba
Switch to xplat folly
...
Reviewed By: nlutsenko
Differential Revision: D5739990
fbshipit-source-id: a1b862faab1dbcdb3bcc11f1bf662241cf7252e5
2017-08-31 17:02:38 -07:00
Marc Horowitz
de01f09b5d
Remove the restriction on importing bridge:cxxreact
...
Reviewed By: javache
Differential Revision: D5724406
fbshipit-source-id: 24974601d161fd23805d8e925b2b20a1cf11850d
2017-08-30 11:52:28 -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
Pieter De Baets
46f0a3b2f6
Disambiguate error messages in MethodCall
...
Reviewed By: fromcelticpark
Differential Revision: D5706581
fbshipit-source-id: 06343e2a41d08a1594eb35bb96cc6dc7bf9e29c6
2017-08-29 03:15:04 -07:00
Pieter De Baets
4535d527c2
Fix Yoga podspec casing
...
Summary:
Fix incorrect filename case
Closes https://github.com/facebook/react-native/pull/15657
Differential Revision: D5707921
Pulled By: javache
fbshipit-source-id: 1e4778f930d32949d423ac04bb008e02060649ce
2017-08-25 11:20:14 -07:00