Skip to content

Conversation

@rozele
Copy link
Owner

@rozele rozele commented Mar 5, 2018

Thanks for submitting a pull request! Please provide enough information so that others can review your pull request:

(You can skip this if you're fixing a typo or adding an app to the Showcase.)

Explain the motivation for making this change. What existing problem does the pull request solve?

Prefer small pull requests. These are much easier to review and more likely to get merged. Make sure the PR does only one thing, otherwise please split it.

Test plan (required)

Demonstrate the code is solid. Example: The exact commands you ran and their output, screenshots / videos if the pull request changes UI.

Make sure tests pass on both Travis and Circle CI.

Code formatting

Look around. Match the style of the rest of the codebase. See also the simple style guide.

For more info, see the "Pull Requests" section of our "Contributing" guidelines.

rozele added 2 commits March 5, 2018 09:51
Increase version to 0.54.0 to prepare for MIT licensed code. Also updating other react-native dependencies.
@rozele rozele force-pushed the copyright branch 2 times, most recently from a009145 to 002e7fc Compare March 5, 2018 15:56
Michal Rousal and others added 6 commits March 5, 2018 10:21
react-native recently moved to the MIT license. In order to remove the BSD+Patents licensing from react-native-windows, we have to re-derive the source code we copied from react-native from the latest source code. This change re-derives the source code in the Libraries folder.
Many of these files never existed in react-native. In most cases, the copyright header was just copied from other files. This was incorrect, the header should have originally reflected a Microsoft copyright. This commit fixes that, and also rebases copy-paste code against Facebook's latest MIT-licensed code.
…w MIT

Updates the README and the LICENSE at the root folder to reflect that portions of the React Native Windows plugin derived from Facebook are copyright Facebook. Both derived and original contributions in React Native Windows are provided under the MIT license.
rozele and others added 2 commits March 6, 2018 08:59
…microsoft#1691)

The recent work to avoid reflection for native modules can also be applied to native props for view managers (which also uses reflection). Avoiding reflection invoke saves quite a few cycles.

This change extracts the logic from ReflectionReactDelegateFactory to create the IGenericDelegate, and adds support for generic delegates where the instance isn't known up-front. We need this because the ViewManager responsible for creating all the PropertySetters only holds a reference to the ShadowNode type, not the ShadowNode instance itself.

Also includes fix for reflection invoke behavior when dealing with null value types. Reflection invoke automatically converts null arguments to default value type (i.e., struct) values. We have to do something similar here when we invoke through generic delegates.
rozele pushed a commit that referenced this pull request May 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants