# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1679708992 0 # Node ID b59103280114b83866a709726801829a20620be9 # Parent d84182f0054ee596807d99ab4c8674faa1790938 GTK3: Support for dw_html_javascript_add() and DW_SIGNAL_HTML_MESSAGE. diff -r d84182f0054e -r b59103280114 gtk3/dw.c --- a/gtk3/dw.c Fri Mar 24 23:04:39 2023 +0000 +++ b/gtk3/dw.c Sat Mar 25 01:49:52 2023 +0000 @@ -171,6 +171,7 @@ static gint _dw_switch_page_event(GtkNotebook *notebook, GtkWidget *page, guint page_num, gpointer data); static gint _dw_column_click_event(GtkWidget *widget, gpointer data); static void _dw_html_result_event(GObject *object, GAsyncResult *result, gpointer script_data); +static void _dw_html_message_event(WebKitUserContentManager *manager, WebKitJavascriptResult *result, gpointer *data); #ifdef USE_WEBKIT #ifdef USE_WEBKIT2 static void _dw_html_changed_event(WebKitWebView *web_view, WebKitLoadEvent load_event, gpointer data); @@ -205,10 +206,8 @@ } DWSignalHandler; -#define SIGNALMAX 20 - -/* A list of signal forwarders, to account for paramater differences. */ -static DWSignalList DWSignalTranslate[SIGNALMAX] = { +/* A list of signal forwarders, to account for parameter differences. */ +static DWSignalList DWSignalTranslate[] = { { _dw_configure_event, DW_SIGNAL_CONFIGURE }, { _dw_key_press_event, DW_SIGNAL_KEY_PRESS }, { _dw_button_press_event, DW_SIGNAL_BUTTON_PRESS }, @@ -232,7 +231,9 @@ #else { _dw_generic_event, DW_SIGNAL_HTML_CHANGED }, #endif - { _dw_html_result_event, DW_SIGNAL_HTML_RESULT } + { _dw_html_result_event, DW_SIGNAL_HTML_RESULT }, + { _dw_html_message_event, DW_SIGNAL_HTML_MESSAGE }, + { NULL, "" } }; /* Alignment flags */ @@ -1127,16 +1128,18 @@ } /* Finds the translation function for a given signal name */ -static void *_dw_findsigfunc(const char *signame) -{ - int z; - - for(z=0;z