On Tue, Feb 12, 2019 at 1:35 AM, Daniel Berek <berekdan...@gmail.com> wrote:
Thanks it really works. But I still have to figure out how to pass data to my core class through webview widget -&gt; gtk:window -&gt; gui thread -&gt; core app. A simple function call freezes the gui, so some kind of in-build signal handling is needed. (in the other direction I have already managed by glib:dispatcher). Any idea how to bring out the script messages? Thanks

Did you try using webkit_user_content_manager_register_script_message_handler() to register a message handler? Then your JS content can use window.webkit.messageHandlers.<foobar>.postMessage([value]) to send messages to the UI process, and you receive them by connecting to the script-message-received::foobar signal. That's what Adrian was trying to suggest.

Regarding thread safety, there is none: the entire WebKit API must only be used from the GUI thread (whatever thread is running gtk_application_run() or gtk_main(), recommended but not required to be your main thread). If you need to perform blocking operations on a secondary thread, you can run code back on the GUI thread using e.g. g_main_context_invoke() or g_idle_add().

GObject signals are not threadsafe. Only connect to them from the GUI thread.

Michael

_______________________________________________
webkit-gtk mailing list
webkit-gtk@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-gtk

Reply via email to