Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
145 commits
Select commit Hold shift + click to select a range
d17e863
Add Browser specific files to the project
kjpou1 Apr 28, 2020
aafa4b0
Browser specific file modification to not include Quic support
kjpou1 Apr 28, 2020
7d52436
Add Browser specific support files for Http Handler code
kjpou1 Apr 28, 2020
242ade6
Add Interop code for JavaScript support
kjpou1 Apr 28, 2020
2ca93d8
Remove unused reference
kjpou1 Apr 28, 2020
ab0e0de
Add Http handler bindings implementation
kjpou1 Apr 28, 2020
bc39563
Nullable support
kjpou1 Apr 28, 2020
b60ee5b
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 Apr 28, 2020
92f74c4
Add browser files back after upstream merge conflict
kjpou1 Apr 28, 2020
a9248de
Use attribute Link syntax for Common files to bring in sync with exis…
kjpou1 Apr 28, 2020
dc82e45
Address Missing license header
kjpou1 Apr 29, 2020
cc70c9f
Code formatting and removal of comment code.
kjpou1 Apr 29, 2020
c96a6f1
Address PR comments.
kjpou1 Apr 29, 2020
bb9ff24
Address commit comments
kjpou1 Apr 29, 2020
2f7ace0
Add blank line between License and first line of code. Address comments
kjpou1 Apr 29, 2020
ced6437
Replace SocketsHttpHandler build for Browser.
kjpou1 Apr 29, 2020
5c89333
Cleanup SendAsync code when doing the call out to JavaScript Fetch.
kjpou1 Apr 29, 2020
4eb5dd1
Refactor BrowserHttpHandler code.
kjpou1 Apr 29, 2020
d5360b6
Cleanup
kjpou1 Apr 29, 2020
d1b537d
Remove null check as it should be checked in outer classes
kjpou1 Apr 29, 2020
39947b1
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 Apr 29, 2020
2d8e124
Cleanup var usage to use explicit type. Address commit comments
kjpou1 Apr 30, 2020
d443cfd
Move `.ConfigureAwait(true)` to `.ConfigureAwait(false)`
kjpou1 Apr 30, 2020
0d63762
Change accessor of Runtime javascript interop methods.
kjpou1 Apr 30, 2020
a91637c
Change accessor of Runtime javascript interop methods.
kjpou1 Apr 30, 2020
cdbbf0f
Address review comments for unused code
kjpou1 Apr 30, 2020
5814d1d
Cleanup leftover debug WriteLines
kjpou1 Apr 30, 2020
146b6d7
Remove the AllowNull attributes as per review comments.
kjpou1 Apr 30, 2020
1f510f4
Update src/libraries/Common/src/Interop/Browser/Interop.Runtime.cs
kjpou1 Apr 30, 2020
90b83f6
throw different exception type as per review comment
kjpou1 Apr 30, 2020
da394d6
use char[] array instead and return new string(array).
kjpou1 Apr 30, 2020
95af576
Initial addition of Browser Interop library
kjpou1 Apr 30, 2020
ada3198
use char[] array instead and return new string(array).
kjpou1 Apr 30, 2020
daa02cc
Add project references so the Interop.JavaScript project builds
kjpou1 May 4, 2020
8395f8f
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 May 4, 2020
d45f9a9
Coding Style update
kjpou1 May 4, 2020
c1190d2
Split the runtime methods into two modules.
kjpou1 May 4, 2020
93100b5
Move System.Runtime.Interop.JavaScript to \src\libraries
kjpou1 May 4, 2020
5845ee3
Change preprocessor to upper case TARGETS_BROWSER
kjpou1 May 4, 2020
3c75797
Update src/libraries/Common/src/Interop/Browser/Interop.Runtime.Api.cs
kjpou1 May 4, 2020
c7c80bc
Update src/libraries/Common/src/Interop/Browser/Interop.Runtime.Api.cs
kjpou1 May 4, 2020
568211e
Update src/libraries/Common/src/Interop/Browser/Interop.Runtime.Api.cs
kjpou1 May 4, 2020
282efa0
Rename from .Api to .Bridge to address review comments
kjpou1 May 5, 2020
b09e224
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 May 5, 2020
fa165aa
Modify .csproj files to reflect .Bridge.cs change.
kjpou1 May 5, 2020
b57fef9
Remove unnecessary constant
kjpou1 May 5, 2020
a4753c0
Add docs
kjpou1 May 6, 2020
ee9c8d9
Update Bridge link
kjpou1 May 6, 2020
1eb5d23
Collapse code as per review comment.
kjpou1 May 6, 2020
49193b8
Address review comments on `Task.ConfigureAwait(continueOnCapturedCon…
kjpou1 May 6, 2020
6ce0e8d
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 May 6, 2020
1a655e5
Address review comment about using PropertyInfo reflection.
kjpou1 May 6, 2020
4636867
Coding Style - Address review comments
kjpou1 May 7, 2020
35380b5
Part of code style and object documentation to partially address revi…
kjpou1 May 7, 2020
233c3b3
Update src/libraries/Common/src/Interop/Browser/Interop.JavaScript.JS…
kjpou1 May 8, 2020
5e0ebf2
Update src/libraries/Common/src/Interop/Browser/Interop.Runtime.Bridg…
kjpou1 May 8, 2020
117c9ef
Update src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpH…
kjpou1 May 8, 2020
8604280
Update src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpH…
kjpou1 May 8, 2020
65c1f22
Update src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpH…
kjpou1 May 8, 2020
3d6ce31
Update src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpH…
kjpou1 May 8, 2020
de114a5
Update src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpH…
kjpou1 May 8, 2020
9244cb4
Add class docs and code style updates
kjpou1 May 8, 2020
fb95c39
Update src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpH…
kjpou1 May 8, 2020
22f5ea2
Fix badly formed XML
kjpou1 May 8, 2020
37a2b42
Update src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpH…
kjpou1 May 8, 2020
b20d6b5
Remove unnecessary Property implementations.
kjpou1 May 8, 2020
fc302f3
Update src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpH…
kjpou1 May 8, 2020
3a93043
Update code style involving the use of `var`
kjpou1 May 8, 2020
4818f60
Modify the underlying sockets field name.
kjpou1 May 8, 2020
521e772
Style and address review comments
kjpou1 May 8, 2020
688f5a7
Remove reliance on ConnectHelper.cs code as it is not supported on Br…
kjpou1 May 8, 2020
ea27792
Update src/libraries/Common/src/Interop/Browser/Interop.Runtime.Bridg…
kjpou1 May 8, 2020
04c53ae
Remove null check for httpresponse.Content as it is always assigned to.
kjpou1 May 8, 2020
ca9e2db
Address review comments
kjpou1 May 8, 2020
6e1542f
Remove methods that will not be implemented right now,
kjpou1 May 8, 2020
ea7f1c3
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 May 11, 2020
7e39ffb
Add properties back to fix build error
kjpou1 May 11, 2020
703e504
Remove tcs TaskCompletionSource to address review comments
kjpou1 May 11, 2020
6414529
code style change
kjpou1 May 11, 2020
a74d985
Remove disposing of _abortCts here as it causes runtime errors as bei…
kjpou1 May 11, 2020
4baf426
Address review comment for GetType()
kjpou1 May 11, 2020
ea61992
Rename library as per discussions
kjpou1 May 12, 2020
004ab2d
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 May 12, 2020
0ae1bf7
Add lock around the _boundObjects and _rawToJS access.
kjpou1 May 12, 2020
63b4e1e
Address review comments for disposing of CancellationTokenSource
kjpou1 May 15, 2020
e8ea3a9
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 May 18, 2020
648e61c
Address new HttpContent overloads in .NET 5 that take CancellationToken
kjpou1 May 18, 2020
dd05832
Add project and test structure for JavaScript InteropServices
kjpou1 May 19, 2020
796692b
Remove previous modification as it is no longer needed.
kjpou1 May 20, 2020
626d6c9
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 May 20, 2020
df1be16
Update src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpH…
kjpou1 May 20, 2020
e206e4b
Remove custom message passed to the PNSE .ctor
kjpou1 May 20, 2020
704bf8a
Update `mono` to dotnet or .NET
kjpou1 May 20, 2020
33222ea
Address review comment for internal sealed class
kjpou1 May 20, 2020
79e3287
Address extra message text
kjpou1 May 20, 2020
fbb6e6f
Move these source modules to System.Runtime.InteropServices.JavaScript
kjpou1 May 20, 2020
6614009
Add interop source modules to System.Runtime.InteropServices.JavaScri…
kjpou1 May 20, 2020
bdc38c4
Remove placeholder source
kjpou1 May 20, 2020
fcb9802
Reference System.Runtime.InteropServices.JavaScript project
kjpou1 May 20, 2020
b8abce1
Address review comments Unsafe.SizeOf
kjpou1 May 20, 2020
a712114
Finish move of sources to InteropServices.JavaScript
kjpou1 May 25, 2020
0185c17
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 May 25, 2020
e46ab9f
Remove ActiveIssue to address review comments
kjpou1 May 25, 2020
80b2132
Add core implementations
kjpou1 May 25, 2020
af5d902
Add core object implementation for Map
kjpou1 May 25, 2020
f2fb363
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 May 25, 2020
e5de014
Remove unused targetframework
kjpou1 May 26, 2020
530afe4
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 May 26, 2020
c72e64c
Fix PNSE in HttpClientHandler .ctor
kjpou1 May 26, 2020
5f17ee1
Remove extra parameters to `PlatformNotSupportedException`
kjpou1 May 26, 2020
d9c6dc4
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 May 27, 2020
0bd5966
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 May 27, 2020
25db30b
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 May 28, 2020
1468104
Fix tests due to underlying field name changing and reflection being …
kjpou1 May 28, 2020
da63da8
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 May 29, 2020
a276806
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 Jun 1, 2020
5d6f024
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 Jun 1, 2020
9bcdbcb
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 Jun 2, 2020
4706c69
Initial commit of reference counting code.
kjpou1 Jun 2, 2020
77e7e68
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 Jun 2, 2020
a7af316
Update code formatting
kjpou1 Jun 2, 2020
9e5ce12
Update solution formatting
kjpou1 Jun 2, 2020
ff19d0c
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 Jun 2, 2020
7c5cc2c
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 Jun 3, 2020
2d20cc1
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 Jun 4, 2020
9f74e50
[browser][wasm] Add support for marshaling the AnyRef SafeHandle
kjpou1 Jun 4, 2020
3702917
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 Jun 8, 2020
38cefb6
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 Jun 9, 2020
aaf4bd6
Code cleanup and formatting.
kjpou1 Jun 9, 2020
639e7a3
Merge branch 'master' of https://github.com/dotnet/runtime into wasm-…
kjpou1 Jun 10, 2020
5377cd9
Clean up
kjpou1 Jun 10, 2020
67330f1
Fix delegate code and address review comments
kjpou1 Jun 10, 2020
acdf5e6
Code clean up and change accessor on AnyRefHandle
kjpou1 Jun 10, 2020
ed308a3
Move outside block
kjpou1 Jun 10, 2020
05b0371
Remove unused method
kjpou1 Jun 10, 2020
2749f18
Remove nullable type from dictionary
kjpou1 Jun 10, 2020
403bedd
Remove comments
kjpou1 Jun 10, 2020
51e66a3
Marking methods with Linker-friendly reflection by using DynamicDepen…
kjpou1 Jun 10, 2020
4cc6fb4
address redundant using
kjpou1 Jun 10, 2020
31c640f
Address lock review comment
kjpou1 Jun 10, 2020
2743369
Address review comments
kjpou1 Jun 11, 2020
08a05cd
remove nullable code
kjpou1 Jun 11, 2020
9cee16a
Address review comments
kjpou1 Jun 11, 2020
d504b30
Add Debug.Assert to address review comment
kjpou1 Jun 11, 2020
9e74013
Address assert comments and code formatting
kjpou1 Jun 11, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Coding Style update
  • Loading branch information
kjpou1 committed May 4, 2020
commit d45f9a9f1dd4237ebf2730775b207b77c92f7d08
145 changes: 72 additions & 73 deletions src/libraries/Common/src/Interop/Browser/Interop.Runtime.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,42 +17,42 @@ internal static partial class Interop
internal static partial class Runtime
{
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern string InvokeJS(string str, out int exceptional_result);
internal static extern string InvokeJS(string str, out int exceptionalResult);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern object CompileFunction(string str, out int exceptional_result);
internal static extern object CompileFunction(string str, out int exceptionalResult);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern object InvokeJSWithArgs(int js_obj_handle, string method, object?[] _params, out int exceptional_result);
internal static extern object InvokeJSWithArgs(int jsObjHandle, string method, object?[] parms, out int exceptionalResult);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern object GetObjectProperty(int js_obj_handle, string propertyName, out int exceptional_result);
internal static extern object GetObjectProperty(int jsObjHandle, string propertyName, out int exceptionalResult);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern object SetObjectProperty(int js_obj_handle, string propertyName, object value, bool createIfNotExists, bool hasOwnProperty, out int exceptional_result);
internal static extern object SetObjectProperty(int jsObjHandle, string propertyName, object value, bool createIfNotExists, bool hasOwnProperty, out int exceptionalResult);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern object GetByIndex(int js_obj_handle, int index, out int exceptional_result);
internal static extern object GetByIndex(int jsObjHandle, int index, out int exceptionalResult);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern object SetByIndex(int js_obj_handle, int index, object? value, out int exceptional_result);
internal static extern object SetByIndex(int jsObjHandle, int index, object? value, out int exceptionalResult);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern object GetGlobalObject(string? globalName, out int exceptional_result);
internal static extern object GetGlobalObject(string? globalName, out int exceptionalResult);

[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern object ReleaseHandle(int js_obj_handle, out int exceptional_result);
internal static extern object ReleaseHandle(int jsObjHandle, out int exceptionalResult);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern object ReleaseObject(int js_obj_handle, out int exceptional_result);
internal static extern object ReleaseObject(int jsObjHandle, out int exceptionalResult);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern object NewObjectJS(int js_obj_handle, object[] _params, out int exceptional_result);
internal static extern object NewObjectJS(int jsObjHandle, object[] parms, out int exceptionalResult);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern object BindCoreObject(int js_obj_handle, int gc_handle, out int exceptional_result);
internal static extern object BindCoreObject(int jsObjHandle, int gcHandle, out int exceptionalResult);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern object BindHostObject(int js_obj_handle, int gc_handle, out int exceptional_result);
internal static extern object BindHostObject(int jsObjHandle, int gcHandle, out int exceptionalResult);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern object New(string className, object[] _params, out int exceptional_result);
internal static extern object New(string className, object[] parms, out int exceptionalResult);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern object TypedArrayToArray(int js_obj_handle, out int exceptional_result);
internal static extern object TypedArrayToArray(int jsObjHandle, out int exceptionalResult);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern object TypedArrayCopyTo(int js_obj_handle, int array_ptr, int begin, int end, int bytes_per_element, out int exceptional_result);
internal static extern object TypedArrayCopyTo(int jsObjHandle, int arrayPtr, int begin, int end, int bytesPerElement, out int exceptionalResult);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern object TypedArrayFrom(int array_ptr, int begin, int end, int bytes_per_element, int type, out int exceptional_result);
internal static extern object TypedArrayFrom(int arrayPtr, int begin, int end, int bytesPerElement, int type, out int exceptionalResult);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern object TypedArrayCopyFrom(int js_obj_handle, int array_ptr, int begin, int end, int bytes_per_element, out int exceptional_result);
internal static extern object TypedArrayCopyFrom(int jsObjHandle, int arrayPtr, int begin, int end, int bytesPerElement, out int exceptionalResult);

// / <summary>
// / Execute the provided string in the JavaScript context
Expand All @@ -75,98 +75,97 @@ public static string InvokeJS(string str)
return res as Interop.JavaScript.Function;
}

private static Dictionary<int, JSObject?> bound_objects = new Dictionary<int, JSObject?>();
private static Dictionary<object, JSObject?> raw_to_js = new Dictionary<object, JSObject?>();
private static Dictionary<int, JSObject?> _boundObjects = new Dictionary<int, JSObject?>();
private static Dictionary<object, JSObject?> _rawToJS = new Dictionary<object, JSObject?>();

public static int New<T>(params object[] _params)
public static int New<T>(params object[] parms)
{
var res = New(typeof(T).Name, _params, out int exception);
var res = New(typeof(T).Name, parms, out int exception);
if (exception != 0)
throw new JSException((string)res);
return (int)res;
}

public static int New(string hostClassName, params object[] _params)
public static int New(string hostClassName, params object[] parms)
{
var res = New(hostClassName, _params, out int exception);
var res = New(hostClassName, parms, out int exception);
if (exception != 0)
throw new JSException((string)res);
return (int)res;
}

public static JSObject? NewJSObject(JSObject? js_func_ptr = null, params object[] _params)
public static JSObject? NewJSObject(JSObject? jsFuncPtr = null, params object[] parms)
{
var res = NewObjectJS(js_func_ptr?.JSHandle ?? 0, _params, out int exception);
var res = NewObjectJS(jsFuncPtr?.JSHandle ?? 0, parms, out int exception);
if (exception != 0)
throw new JSException((string)res);
return res as JSObject;
}

internal static int BindJSObject(int js_id, Type mappedType)
internal static int BindJSObject(int jsId, Type mappedType)
{
if (!bound_objects.TryGetValue(js_id, out JSObject? obj))
if (!_boundObjects.TryGetValue(jsId, out JSObject? obj))
{
if (mappedType != null)
{
return BindJSType(js_id, mappedType);
return BindJSType(jsId, mappedType);
}
else
{
bound_objects[js_id] = obj = new JSObject((IntPtr)js_id);
_boundObjects[jsId] = obj = new JSObject((IntPtr)jsId);
}
}
return obj == null ? 0 : (int)(IntPtr)obj.Handle;
}

internal static int BindCoreCLRObject(int js_id, int gcHandle)
internal static int BindCoreCLRObject(int jsId, int gcHandle)
{
//Console.WriteLine ($"Registering CLR Object {js_id} with handle {gcHandle}");
GCHandle h = (GCHandle)(IntPtr)gcHandle;
JSObject? obj = h.Target as JSObject;

if (bound_objects.TryGetValue(js_id, out var existingObj))
if (_boundObjects.TryGetValue(jsId, out var existingObj))
{
if (existingObj?.Handle != h && h.IsAllocated)
throw new JSException($"Multiple handles pointing at js_id: {js_id}");
throw new JSException($"Multiple handles pointing at js_id: {jsId}");

obj = existingObj;
}
else
bound_objects[js_id] = obj;
_boundObjects[jsId] = obj;

return obj == null ? 0 : (int)(IntPtr)obj.Handle;
}

internal static int BindJSType(int js_id, Type mappedType)
internal static int BindJSType(int jsId, Type mappedType)
{
if (!bound_objects.TryGetValue(js_id, out JSObject? obj))
if (!_boundObjects.TryGetValue(jsId, out JSObject? obj))
{
var jsobjectnew = mappedType.GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.ExactBinding,
null, new Type[] { typeof(IntPtr) }, null);
bound_objects[js_id] = obj = jsobjectnew == null ? null : (JSObject)jsobjectnew.Invoke(new object[] { (IntPtr)js_id });
_boundObjects[jsId] = obj = jsobjectnew == null ? null : (JSObject)jsobjectnew.Invoke(new object[] { (IntPtr)jsId });
}
return obj == null ? 0 : (int)(IntPtr)obj.Handle;
}

internal static int UnBindJSObject(int js_id)
internal static int UnBindJSObject(int jsId)
{
if (bound_objects.TryGetValue(js_id, out var obj))
if (_boundObjects.TryGetValue(jsId, out var obj))
{
bound_objects.Remove(js_id);
_boundObjects.Remove(jsId);
return obj == null ? 0 : (int)(IntPtr)obj.Handle;
}

return 0;
}

internal static void UnBindJSObjectAndFree(int js_id)
internal static void UnBindJSObjectAndFree(int jsId)
{
if (bound_objects.TryGetValue(js_id, out var obj))
if (_boundObjects.TryGetValue(jsId, out var obj))
{
if (bound_objects[js_id] != null)
if (_boundObjects[jsId] != null)
{
//bound_objects[js_id].RawObject = null;
bound_objects.Remove(js_id);
//bound_objects[jsIs].RawObject = null;
_boundObjects.Remove(jsId);
}
if (obj != null)
{
Expand All @@ -187,7 +186,7 @@ internal static void UnBindRawJSObjectAndFree(int gcHandle)
JSObject? obj = h.Target as JSObject;
if (obj?.RawObject != null)
{
raw_to_js.Remove(obj.RawObject);
_rawToJS.Remove(obj.RawObject);

int exception;
ReleaseHandle(obj.JSHandle, out exception);
Expand All @@ -207,10 +206,10 @@ internal static void UnBindRawJSObjectAndFree(int gcHandle)

public static void FreeObject(object obj)
{
if (raw_to_js.TryGetValue(obj, out JSObject? jsobj))
if (_rawToJS.TryGetValue(obj, out JSObject? jsobj))
{
//raw_to_js [obj].RawObject = null;
raw_to_js.Remove(obj);
_rawToJS.Remove(obj);
if (jsobj != null)
{
int exception;
Expand All @@ -231,7 +230,7 @@ public static void FreeObject(object obj)
}
}

internal static object CreateTaskSource(int js_id)
internal static object CreateTaskSource(int jsId)
{
return new TaskCompletionSource<object>();
}
Expand All @@ -246,34 +245,34 @@ internal static void SetTaskSourceFailure(TaskCompletionSource<object> tcs, stri
tcs.SetException(new JSException(reason));
}

internal static int GetTaskAndBind(TaskCompletionSource<object> tcs, int js_id)
internal static int GetTaskAndBind(TaskCompletionSource<object> tcs, int jsId)
{
return BindExistingObject(tcs.Task, js_id);
return BindExistingObject(tcs.Task, jsId);
}

internal static int BindExistingObject(object raw_obj, int js_id)
internal static int BindExistingObject(object rawObj, int jsId)
{
JSObject? obj = raw_obj as JSObject;
JSObject? obj = rawObj as JSObject;

if (obj == null && !raw_to_js.TryGetValue(raw_obj, out obj))
raw_to_js[raw_obj] = obj = new JSObject(js_id, raw_obj);
if (obj == null && !_rawToJS.TryGetValue(rawObj, out obj))
_rawToJS[rawObj] = obj = new JSObject(jsId, rawObj);

return obj == null ? 0 : (int)(IntPtr)obj.Handle;
}

internal static int GetJSObjectId(object raw_obj)
internal static int GetJSObjectId(object rawObj)
{
JSObject? obj = raw_obj as JSObject;
JSObject? obj = rawObj as JSObject;

if (obj == null && !raw_to_js.TryGetValue(raw_obj, out obj))
if (obj == null && !_rawToJS.TryGetValue(rawObj, out obj))
return -1;

return obj != null ? obj.JSHandle : -1;
}

internal static object? GetMonoObject(int gc_handle)
internal static object? GetMonoObject(int gcHandle)
{
GCHandle h = (GCHandle)(IntPtr)gc_handle;
GCHandle h = (GCHandle)(IntPtr)gcHandle;
JSObject? o = h.Target as JSObject;
if (o != null && o.RawObject != null)
return o.RawObject;
Expand Down Expand Up @@ -323,10 +322,10 @@ internal struct IntPtrAndHandle
internal RuntimeMethodHandle handle;
}

internal static string GetCallSignature(IntPtr method_handle)
internal static string GetCallSignature(IntPtr methodHandle)
{
IntPtrAndHandle tmp = default(IntPtrAndHandle);
tmp.ptr = method_handle;
tmp.ptr = methodHandle;

var mb = MethodBase.GetMethodFromHandle(tmp.handle);
if (mb == null)
Expand Down Expand Up @@ -394,7 +393,7 @@ internal static string GetCallSignature(IntPtr method_handle)
}
return new string(res);
}
internal static void SetupJSContinuation(Task task, JSObject cont_obj)
internal static void SetupJSContinuation(Task task, JSObject continuationObj)
{
if (task.IsCompleted)
Complete();
Expand All @@ -410,22 +409,22 @@ void Complete()
var resultProperty = task.GetType().GetProperty("Result");

if (resultProperty == null)
cont_obj.Invoke("resolve", Array.Empty<object>());
continuationObj.Invoke("resolve", Array.Empty<object>());
else
cont_obj.Invoke("resolve", resultProperty.GetValue(task) ?? Array.Empty<object>());
continuationObj.Invoke("resolve", resultProperty.GetValue(task) ?? Array.Empty<object>());
}
else
{
cont_obj.Invoke("reject", task.Exception.ToString());
continuationObj.Invoke("reject", task.Exception.ToString());
}
}
catch (Exception e)
{
cont_obj.Invoke("reject", e.ToString());
continuationObj.Invoke("reject", e.ToString());
}
finally
{
cont_obj.Dispose();
continuationObj.Dispose();
FreeObject(task);
}
}
Expand Down Expand Up @@ -496,17 +495,17 @@ internal static unsafe void DumpAotProfileData(ref byte buf, int len, string s)
var span = new ReadOnlySpan<byte>(p, len);

// Send it to JS
var js_dump = (JSObject)Runtime.GetGlobalObject("Module");
//js_dump.SetObjectProperty("aot_profile_data", WebAssembly.Core.Uint8Array.From(span));
var jsDump = (JSObject)Runtime.GetGlobalObject("Module");
//jsDump.SetObjectProperty("aot_profile_data", WebAssembly.Core.Uint8Array.From(span));
}
}

// Called by the coverage profiler to save profile data into Module.coverage_profile_data
internal static void DumpCoverageProfileData(string data, string s)
{
// Send it to JS
var js_dump = (JSObject)Runtime.GetGlobalObject("Module");
js_dump.SetObjectProperty("coverage_profile_data", data);
var jsDump = (JSObject)Runtime.GetGlobalObject("Module");
jsDump.SetObjectProperty("coverage_profile_data", data);
}
}
}