From d33dfd31c148f9c82610e876f75fb16468d8d6c1 Mon Sep 17 00:00:00 2001 From: Daniel Carl Date: Sun, 7 May 2017 13:44:05 +0200 Subject: [PATCH] Inject global hints script during setting. In case the user disabled user scripts, also the hints script was removed from the web content manager. So if the page was reloaded the hinting did not work. To avoid the disabling of vimb internal used scripts, we set them always during set up of the settings. So they are readded in case all scripts are removed from the web content manager. --- src/main.c | 9 --------- src/setting.c | 8 ++++++++ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/main.c b/src/main.c index 89988bf..22c6a8c 100644 --- a/src/main.c +++ b/src/main.c @@ -40,7 +40,6 @@ #include "main.h" #include "map.h" #include "normal.h" -#include "scripts/scripts.h" #include "setting.h" #include "shortcut.h" #include "util.h" @@ -1652,7 +1651,6 @@ static WebKitWebView *webview_new(Client *c, WebKitWebView *webview) { WebKitWebView *new; WebKitUserContentManager *ucm; - WebKitUserScript *script; /* create a new webview */ if (webview) { @@ -1680,13 +1678,6 @@ static WebKitWebView *webview_new(Client *c, WebKitWebView *webview) g_signal_connect(webkit_web_context_get_default(), "download-started", G_CALLBACK(on_webctx_download_started), c); - /* Inject the global hints script. */ - script = webkit_user_script_new(HINTS, - WEBKIT_USER_CONTENT_INJECT_TOP_FRAME, - WEBKIT_USER_SCRIPT_INJECT_AT_DOCUMENT_END, NULL, NULL); - webkit_user_content_manager_add_script(ucm, script); - webkit_user_script_unref(script); - /* Setup script message handlers. */ webkit_user_content_manager_register_script_message_handler(ucm, "focus"); g_signal_connect(ucm, "script-message-received::focus", G_CALLBACK(on_script_message_focus), c); diff --git a/src/setting.c b/src/setting.c index 92b0f42..f9fcfb2 100644 --- a/src/setting.c +++ b/src/setting.c @@ -25,6 +25,7 @@ #include "ext-proxy.h" #include "main.h" #include "setting.h" +#include "scripts/scripts.h" #include "shortcut.h" typedef enum { @@ -619,6 +620,13 @@ static int user_scripts(Client *c, const char *name, DataType type, void *value, webkit_user_content_manager_remove_all_scripts(ucm); } + /* Inject the global hints script. */ + script = webkit_user_script_new(HINTS, + WEBKIT_USER_CONTENT_INJECT_TOP_FRAME, + WEBKIT_USER_SCRIPT_INJECT_AT_DOCUMENT_END, NULL, NULL); + webkit_user_content_manager_add_script(ucm, script); + webkit_user_script_unref(script); + return CMD_SUCCESS; } -- 2.20.1