Thanks to visit codestin.com
Credit goes to github.com

Skip to content

add JavaScriptCoreSharp #274

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 21 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
54c282f
add api generation howto
lytico Jul 20, 2021
9e3bcc8
add JavaScriptCore, Soup
lytico Jul 20, 2021
a33998f
WebkitGtkSharp: fix some symbols
lytico Jul 20, 2021
8997770
WebkitGtkSharp-symbols.xml: resolve GDateTime / GQuark
lytico Jul 20, 2021
34e79a0
JavaScriptCoreSharp.csproj: implement JavaScriptCore
lytico Jul 20, 2021
ff7b95a
WebkitGtkSharp.csproj: add reference to JavaScriptCore
lytico Jul 20, 2021
0f44282
Samples.csproj: reference JavaScriptCore
lytico Jul 20, 2021
122d259
CapiCodegen SymbolTable.cs: take const gchar* const as string (see: h…
lytico Jul 20, 2021
7b611af
JavaScriptCoreSharp, WebkitGtkSharp: comment links to doc on Global.cs
lytico Jul 21, 2021
2e7b237
JavaScriptCoreSharp Global.cs: adjust namespace
lytico Jul 21, 2021
fcdcdb3
Samples.csproj: WebviewSection.cs: try get javascript sample to run
lytico Jul 21, 2021
466cc69
WebkitGtkSharp.csproj: add WebView.RunJavascriptAsync
lytico Jul 23, 2021
d135301
SoupSharp: add Global, csproj (draft)
lytico Jul 23, 2021
cbd1b5f
WebkitGtkSharp.csproj: adjust RootNamespace
lytico Jul 23, 2021
3163a87
WebkitGtkSharp.csproj: WebView.cs RunJavascriptAsync: free native_script
lytico Jul 24, 2021
e953069
Samples.csproj: WebviewSection: add nullcheck
lytico Sep 20, 2022
8af91d0
Source/Tools add gir files (for docu)
lytico Sep 20, 2022
5ad5470
Samples.csproj: WebviewSection.cs: try get javascript sample to run II
lytico Apr 7, 2023
c94ba05
WebkitGtkSharp.csproj: WebkitGtkSharp-api.xml: make JavascriptResult …
lytico Aug 28, 2023
ba7fd5b
WebkitGtkSharp.csproj: WebView.cs: track api changes
lytico Aug 28, 2023
d0b6ec7
Samples.csproj WebviewSection.cs: track api changes
lytico Aug 28, 2023
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
9 changes: 7 additions & 2 deletions CakeScripts/Settings.cake
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,15 @@ class Settings
{
Deps = new[] { "GLibSharp", "GtkSharp", "GioSharp", "CairoSharp", "PangoSharp", "GdkSharp" },
},
new GAssembly("WebkitGtkSharp")
new GAssembly("JavaScriptCoreSharp")
{
Deps = new[] { "GtkSharp","GLibSharp", "GioSharp", "AtkSharp", "CairoSharp", "PangoSharp", "GdkSharp" },
ExtraArgs = "--abi-cs-usings=Webkit,Gtk,GLib,Gdk,Atk,Pango,Cairo"
ExtraArgs = "--abi-cs-usings=Gtk,GLib,Gdk,Atk,Pango,Cairo"
},
new GAssembly("WebkitGtkSharp")
{
Deps = new[] { "JavaScriptCoreSharp","GtkSharp","GLibSharp", "GioSharp", "AtkSharp", "CairoSharp", "PangoSharp", "GdkSharp" },
ExtraArgs = "--abi-cs-usings=Webkit,JavaScriptCore,Gtk,GLib,Gdk,Atk,Pango,Cairo"
}
};
}
Expand Down
15 changes: 15 additions & 0 deletions Source/GtkSharp.sln
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GtkSourceSharp", "Libs\GtkS
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebkitGtkSharp", "Libs\WebkitGtkSharp\WebkitGtkSharp.csproj", "{60E31DAD-B6E8-4074-B2ED-53FCDFCB0F4D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JavaScriptCoreSharp", "Libs\JavaScriptCoreSharp\JavaScriptCoreSharp.csproj", "{C0989C4E-E767-41C5-B26A-9EFB3E176AC0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -154,6 +156,18 @@ Global
{60E31DAD-B6E8-4074-B2ED-53FCDFCB0F4D}.Release|x64.Build.0 = Release|Any CPU
{60E31DAD-B6E8-4074-B2ED-53FCDFCB0F4D}.Release|x86.ActiveCfg = Release|Any CPU
{60E31DAD-B6E8-4074-B2ED-53FCDFCB0F4D}.Release|x86.Build.0 = Release|Any CPU
{C0989C4E-E767-41C5-B26A-9EFB3E176AC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C0989C4E-E767-41C5-B26A-9EFB3E176AC0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C0989C4E-E767-41C5-B26A-9EFB3E176AC0}.Debug|x64.ActiveCfg = Debug|Any CPU
{C0989C4E-E767-41C5-B26A-9EFB3E176AC0}.Debug|x64.Build.0 = Debug|Any CPU
{C0989C4E-E767-41C5-B26A-9EFB3E176AC0}.Debug|x86.ActiveCfg = Debug|Any CPU
{C0989C4E-E767-41C5-B26A-9EFB3E176AC0}.Debug|x86.Build.0 = Debug|Any CPU
{C0989C4E-E767-41C5-B26A-9EFB3E176AC0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C0989C4E-E767-41C5-B26A-9EFB3E176AC0}.Release|Any CPU.Build.0 = Release|Any CPU
{C0989C4E-E767-41C5-B26A-9EFB3E176AC0}.Release|x64.ActiveCfg = Release|Any CPU
{C0989C4E-E767-41C5-B26A-9EFB3E176AC0}.Release|x64.Build.0 = Release|Any CPU
{C0989C4E-E767-41C5-B26A-9EFB3E176AC0}.Release|x86.ActiveCfg = Release|Any CPU
{C0989C4E-E767-41C5-B26A-9EFB3E176AC0}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -168,6 +182,7 @@ Global
{04597E0B-375D-4E08-A16C-EE5FF3937B73} = {CCEA1235-D75F-4919-83F6-16793B11BEF5}
{2BD3D08E-0FDD-4DC3-A063-58B10B525DA8} = {CCEA1235-D75F-4919-83F6-16793B11BEF5}
{60E31DAD-B6E8-4074-B2ED-53FCDFCB0F4D} = {CCEA1235-D75F-4919-83F6-16793B11BEF5}
{C0989C4E-E767-41C5-B26A-9EFB3E176AC0} = {CCEA1235-D75F-4919-83F6-16793B11BEF5}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {DA4DD75D-B6C8-4836-AF84-B5FF538D9D86}
Expand Down
32 changes: 32 additions & 0 deletions Source/Libs/JavaScriptCoreSharp/Context.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
namespace JavaScriptCore {

using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using static GLib.AbiStructExtension;

public partial class Context
{

[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
delegate void d_jsc_context_push_exception_handler(IntPtr raw, JavaScriptCoreSharp.ExceptionHandlerNative handler, IntPtr user_data, GLib.DestroyNotify destroy_notify);
static d_jsc_context_push_exception_handler jsc_context_push_exception_handler = FuncLoader.LoadFunction<d_jsc_context_push_exception_handler>(FuncLoader.GetProcAddress(GLibrary.Load(Library.JavaScriptCore), "jsc_context_push_exception_handler"));

public void PushExceptionHandler(JavaScriptCore.ExceptionHandler handler) {
JavaScriptCoreSharp.ExceptionHandlerWrapper handler_wrapper = new JavaScriptCoreSharp.ExceptionHandlerWrapper (handler);
IntPtr user_data;
GLib.DestroyNotify destroy_notify;
if (handler == null) {
user_data = IntPtr.Zero;
destroy_notify = null;
} else {
user_data = (IntPtr) GCHandle.Alloc (handler_wrapper);
destroy_notify = GLib.DestroyHelper.NotifyHandler;
}
jsc_context_push_exception_handler(Handle, handler_wrapper.NativeDelegate, user_data, destroy_notify);
}

}

}
13 changes: 13 additions & 0 deletions Source/Libs/JavaScriptCoreSharp/Global.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
namespace JavaScriptCore
{

// https://webkitgtk.org/reference/jsc-glib/2.32.2/

public partial class Global
{

public static bool IsSupported => GLibrary.IsSupported(Library.JavaScriptCore);

}

}
Loading