tAdapt JavaScript functions - surf - customized build of surf, the suckless web… | |
git clone git://src.adamsgaard.dk/surf | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit d9cecc89329dee3eb48bb6cc38d2bc38796c2e8b | |
parent 72905b8bfc0f91cd3b6d0ac845c5cae92f8e35db | |
Author: Quentin Rameau <[email protected]> | |
Date: Thu, 19 Nov 2015 17:14:29 +0100 | |
Adapt JavaScript functions | |
Removed eval(), evalscript() is now sufficient and can directly execute | |
passed JavaScript string. | |
Diffstat: | |
M surf.c | 42 +++++++++++++----------------… | |
1 file changed, 17 insertions(+), 25 deletions(-) | |
--- | |
diff --git a/surf.c b/surf.c | |
t@@ -124,7 +124,8 @@ static void closeview(WebKitWebView *v, Client *c); | |
static void destroyclient(Client *c); | |
static void destroywin(GtkWidget* w, Client *c); | |
static void die(const char *errstr, ...); | |
-static void eval(Client *c, const Arg *arg); | |
+static void evalscript(Client *c, const char *jsstr, ...); | |
+static void runscript(Client *c); | |
static void find(Client *c, const Arg *arg); | |
static void fullscreen(Client *c, const Arg *arg); | |
static gboolean permissionrequested(WebKitWebView *v, | |
t@@ -336,29 +337,28 @@ cookiepolicy_set(const WebKitCookieAcceptPolicy ep) | |
} | |
void | |
-evalscript(JSContextRef js, char *script, char* scriptname) | |
+evalscript(Client *c, const char *jsstr, ...) | |
{ | |
- JSStringRef jsscript, jsscriptname; | |
- JSValueRef exception = NULL; | |
+ va_list ap; | |
+ gchar *script; | |
+ | |
+ va_start(ap, jsstr); | |
+ script = g_strdup_vprintf(jsstr, ap); | |
+ va_end(ap); | |
- jsscript = JSStringCreateWithUTF8CString(script); | |
- jsscriptname = JSStringCreateWithUTF8CString(scriptname); | |
- JSEvaluateScript(js, jsscript, JSContextGetGlobalObject(js), | |
- jsscriptname, 0, &exception); | |
- JSStringRelease(jsscript); | |
- JSStringRelease(jsscriptname); | |
+ webkit_web_view_run_javascript(c->view, script, NULL, NULL, NULL); | |
+ g_free(script); | |
} | |
void | |
-runscript(WebKitWebFrame *frame) | |
+runscript(Client *c) | |
{ | |
- char *script; | |
- GError *error; | |
+ gchar *script; | |
+ gsize l; | |
- if (g_file_get_contents(scriptfile, &script, NULL, &error)) { | |
- evalscript(webkit_web_frame_get_global_context(frame), script, | |
- scriptfile); | |
- } | |
+ if (g_file_get_contents(scriptfile, &script, &l, NULL) && l) | |
+ evalscript(c, script); | |
+ g_free(script); | |
} | |
void | |
t@@ -1319,14 +1319,6 @@ spawn(Client *c, const Arg *arg) | |
} | |
void | |
-eval(Client *c, const Arg *arg) | |
-{ | |
- WebKitWebFrame *frame = webkit_web_view_get_main_frame(c->view); | |
- evalscript(webkit_web_frame_get_global_context(frame), | |
- ((char **)arg->v)[0], ""); | |
-} | |
- | |
-void | |
stop(Client *c, const Arg *arg) | |
{ | |
webkit_web_view_stop_loading(c->view); |