Introduction
Introduction Statistics Contact Development Disclaimer Help
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);
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.