Граф коммитов

7138 Коммитов

Автор SHA1 Сообщение Дата
Erik Schlegel ba6a4bedd5 Adding XAML Integration 2016-05-16 15:08:28 -04:00
Eric Rozell 38e421b0a2 Fixes #32 - Adds UIManagerModule constants
Some remaining TODOs include integrating the constants from the view managers, and further investigation on how to include other features available in Android.
2016-05-16 15:08:28 -04:00
Erik Schlegel c27001b98b Refactoring changes to react instance manager 2016-05-16 15:08:28 -04:00
Eric Rozell e781e084bf Fixes JavaScriptBundleLoader, removing transfer of control to JavaScript thread queue. 2016-05-16 15:08:28 -04:00
Eric Rozell ef423f02f3 Addresses some fit and finish on the ReactWindows-ES branch
In addition to some minor cosmetic changes, this changeset also fixes up the IReactPackage interface and more closely mimics the way IReactPackage is used in the ReactInstanceManagerImpl in ReactAndroid to support loading multiple packages into one NativeModuleRegistry and one JavaScriptModulesConfig.
2016-05-16 15:08:28 -04:00
Eric Rozell 8a312b5f42 On behalf of @erikschlegel - Adding top level integration functionality for react-native 2016-05-16 15:08:28 -04:00
Eric Rozell a3cfd23bd4 Minor fit and finish stuff Erik's stuff. 2016-05-16 15:08:28 -04:00
Erik Schlegel 65d7a93bb0 Adding ReactContext 2016-05-16 15:08:28 -04:00
Erik Schlegel 8c7c8064e8 Adding ReactContext 2016-05-16 15:08:28 -04:00
Eric Rozell 1ffa27df7b On behalf of Erik Schlegel - Adding partial implementation of react context. 2016-05-16 15:08:28 -04:00
Erik Schlegel ed7a4d6a0c Recent Changes 2016-05-16 15:08:28 -04:00
Eric Rozell 3bc0df9846 Deleting unused stub files. 2016-05-16 15:08:28 -04:00
Erik Schlegel 8d9cd5b13b Adding core react components 2016-05-16 15:08:28 -04:00
Erik Schlegel fc72593eaf Adding JS Executor 2016-05-16 15:08:28 -04:00
Eric Rozell cfab58aa90 Adds ReactContext and DeviceEventManagerModule. 2016-05-16 15:08:28 -04:00
Eric Rozell 54014e9c30 Fixes #20 - adds unit tests for CatalystInstance
Currently requires InternalsVisibleTo, we should go back and make this public and add doc comments (see #21).
2016-05-16 15:08:28 -04:00
Eric Rozell 2a462214fb Prepares CatalystInstance for implementation of ReactContext. 2016-05-16 15:08:28 -04:00
Eric Rozell d2c7149383 Fixes #15 - Adds unit tests to JavaScriptModuleBase
Additionally, includes unit tests for the current set of core JavaScript modules.

Also refactors the way that implementations of JavaScript modules trigger the invocation, using the CallerMemberNameAttribute to capture the name of the method, rather than passing it in explicitly.
2016-05-16 15:08:28 -04:00
Eric Rozell cf23ec6b9c Minor cosmetic cleanup of using statement. 2016-05-16 15:08:28 -04:00
Eric Rozell 1a17facd5a Fixes #5, fixes #8
Adds support for IPromise arguments in the last argument of native module methods.

Additionally, adds checks during module initialization to ensure native module methods abide by the expected contract (i.e., void or Task return type, positioning of ICallback and IPromise arguments, etc.).
2016-05-16 15:08:28 -04:00
Eric Rozell ca29249969 Cleans up debug code from issue #12 investigation. 2016-05-16 15:08:28 -04:00
Eric Rozell 9a55c05803 Fixes #12 - Get unit tests working with .NET Native 2016-05-16 15:08:28 -04:00
Eric Rozell 384bd9a789 Cleans up doc comments for recently added classes and methods. 2016-05-16 15:08:28 -04:00
Eric Rozell bfdfe53103 Fixes #11 - Replace compiled native invocation handler with reflection
Added two unit tests to verify if using compiled delegates instead of reflection was actually giving us any performance gains and it was not.  Reflection is actually quite fast.  Replaced the NativeModuleBase implementation with reflection as the default invocation option.

Also, disabled .NET Native compilation for the unit tests project as it was causing issues with the Chakra runtime. Opened #12 to investigate.
2016-05-16 15:08:28 -04:00
Eric Rozell cf862929a9 Adds unit tests and bug fixes for ReactBridge and ChakraJavaScriptExecutor. 2016-05-16 15:08:28 -04:00
Eric Rozell 58d5323e04 Implements IReactBridge and IJavaScriptExecutor
Decided to pursue an IJavaScriptExecutor after all. The reason is because the IJavaScriptExecutor can be pre-initialized the with React Native JavaScript library, without having any of that logic leak into the bridge or catalyst instance.

The IJavaScriptExecutor implementation uses Chakra, and we included some simple mapping visitors from JToken to JavaScriptValue and visa versa.

The current ReactBridge is a trivial wrapper around the IJavaScriptExecutor, that has some knowledge of the React Native protocols.

This changelist also includes some minor fixes to the DllImports for Chakra, which should eventually be refactored into a library (along with the JToken -> JavaScriptValue converters).
2016-05-16 15:08:28 -04:00
Eric Rozell 0935062f79 Adds unit test for native module registry configuration writer. 2016-05-16 15:08:28 -04:00
Eric Rozell 7c04c27865 Adds unit tests for JavaScriptModuleRegistry. 2016-05-16 15:08:28 -04:00
Eric Rozell 1ef3fb4389 Fixes broken unit test.
The initialization sequence of modules has changed, and now reflection checks will throw during the constructor call.
2016-05-16 15:08:28 -04:00
Eric Rozell 9bfe536131 Adds documentation to all public APIs and more. 2016-05-16 15:08:28 -04:00
Eric Rozell 4ef4968992 Cleans up namespaces. 2016-05-16 15:08:28 -04:00
Eric Rozell f247367ae7 Adds support for JavaScriptModules and configuration writer.
One limitation of the .NET framework is that there is no equivalent of the Proxy class in Java that is capable of instantiating interfaces and specifying an invocation handler.

Instead of using interfaces in the way they were used in the Android React implementation, this implementation just uses a base class and a settable property for an invocation handler.

The configuration writer is straight-forward, it just uses the JsonWriter from Newtonsoft.Json.
2016-05-16 15:08:28 -04:00
Eric Rozell 5711edea19 Adds unit tests and minor tweaks to MessageQueueThread. 2016-05-16 15:08:28 -04:00
Eric Rozell bb9f54506b Adds tracing support using ETW. 2016-05-16 15:08:28 -04:00
Eric Rozell 1c71754292 Unit tests and bug fixes for ICallback binding. 2016-05-16 15:08:28 -04:00
Eric Rozell 7c856c7249 Improves exception handling for native argument parsing.
Adds argument null checks, argument count checks, and wraps the argument extraction in a try/catch to to bubble as a NativeArgumentsParseException.

Adds additional unit tests for exception handling.
2016-05-16 15:08:28 -04:00
Eric Rozell af2e9f6bbe Deleting WIP files and fixing unit tests. 2016-05-16 15:08:28 -04:00
Eric Rozell 9c9ff4a225 Initial React Windows commit including
Includes the NativeModuleBase (equivalent of the JavaBaseModule in ReactAndroid) and the NativeModuleRegistry.
2016-05-16 15:08:28 -04:00