Hi.
While working with the library I've noticed that there is no support for js callbacks in .NET code. Function objects supplied to .net code (e.g. as method arguments) are converted to empty dictionaries which obviously are not very useful.
So I've created my own wrapper for functions and would like to share with others. May be someone will find it useful too.
Attached are 2 files (.cpp/.h) that describe managed class JavascriptFunction. It holds v8 handle to js function which can be called from .NET code. To use this new class small patch to JavascriptInterop class should be applied (also attached).
Comments: ** Comment from web user: Ariman **
While working with the library I've noticed that there is no support for js callbacks in .NET code. Function objects supplied to .net code (e.g. as method arguments) are converted to empty dictionaries which obviously are not very useful.
So I've created my own wrapper for functions and would like to share with others. May be someone will find it useful too.
Attached are 2 files (.cpp/.h) that describe managed class JavascriptFunction. It holds v8 handle to js function which can be called from .NET code. To use this new class small patch to JavascriptInterop class should be applied (also attached).
Comments: ** Comment from web user: Ariman **
OK. I've figured it out. In my initial code usage of Persistent is wrong. In JavascriptFunction constructor code
```
mFuncHandle = new Persistent<Function>(Handle<Function>::Cast(iFunction));
```
must be replaced with
```
mFuncHandle = new Persistent<Function>();
*mFuncHandle = Persistent<Function>::New(Handle<Function>::Cast(iFunction));
```
Along with removed braces from handleScope as mentioned earlier test works perfectly.
PS. Also you can return JavascriptContext::mContent to protected section (revert JavascriptContext.h changes in pull request).