From: Daniel Carl Date: Thu, 4 Jul 2013 21:09:55 +0000 (+0200) Subject: Inject hinting js and user scripts on window-object-cleared. X-Git-Url: https://git.owens.tech///git?a=commitdiff_plain;h=ca1bee0a48beb81c123e8222dd0a6e8f36f6a622;p=vimb.git Inject hinting js and user scripts on window-object-cleared. This seems to be the better time to add our scripts. --- diff --git a/src/main.c b/src/main.c index b4bc6e9..3905791 100644 --- a/src/main.c +++ b/src/main.c @@ -63,6 +63,8 @@ static void download_progress_cp(WebKitDownload *download, GParamSpec *pspec); static void request_start_cb(WebKitWebView *webview, WebKitWebFrame *frame, WebKitWebResource *resource, WebKitNetworkRequest *request, WebKitNetworkResponse *response); +static void window_object_cleared_cb(WebKitWebView *webview, + WebKitWebFrame *frame, JSContextRef context, JSObjectRef window, gpointer user_data); /* functions */ static void run_user_script(WebKitWebFrame *frame); @@ -432,12 +434,6 @@ static void webview_load_status_cb(WebKitWebView *view, GParamSpec *pspec) } else { set_status(VB_STATUS_NORMAL); } - - /* inject the hinting javascript */ - hints_init(frame); - - /* run user script file */ - run_user_script(frame); } if (vb.state.mode & VB_MODE_INSERT) { @@ -787,6 +783,7 @@ static void setup_signals() "signal::download-requested", G_CALLBACK(vb_download), NULL, "signal::resource-request-starting", G_CALLBACK(request_start_cb), NULL, "signal::should-show-delete-interface-for-element", G_CALLBACK(gtk_false), NULL, + "signal::window-object-cleared", G_CALLBACK(window_object_cleared_cb), NULL, NULL ); @@ -1028,6 +1025,17 @@ static void download_progress_cp(WebKitDownload *download, GParamSpec *pspec) vb_update_statusbar(); } +static void window_object_cleared_cb(WebKitWebView *webview, + WebKitWebFrame *frame, JSContextRef context, JSObjectRef window, gpointer user_data) +{ + + /* inject the hinting javascript */ + hints_init(frame); + + /* run user script file */ + run_user_script(frame); +} + int main(int argc, char *argv[]) { static char *winid = NULL;