diff options
Diffstat (limited to 'src/commands.c')
-rw-r--r-- | src/commands.c | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/src/commands.c b/src/commands.c index 2e60233..b3546a9 100644 --- a/src/commands.c +++ b/src/commands.c @@ -93,11 +93,23 @@ VIEWFUNC(reload_bypass_cache) VIEWFUNC(stop_loading) VIEWFUNC(zoom_in) VIEWFUNC(zoom_out) -VIEWFUNC(go_back) -VIEWFUNC(go_forward) #undef VIEWFUNC void +view_go_back(WebKitWebView *page, GArray *argv, GString *result) { + (void)result; + int n = argv_idx(argv, 0) ? atoi(argv_idx(argv, 0)) : 1; + webkit_web_view_go_back_or_forward(page, -n); +} + +void +view_go_forward(WebKitWebView *page, GArray *argv, GString *result) { + (void)result; + int n = argv_idx(argv, 0) ? atoi(argv_idx(argv, 0)) : 1; + webkit_web_view_go_back_or_forward(page, n); +} + +void toggle_zoom_type (WebKitWebView* page, GArray *argv, GString *result) { (void)page; (void)argv; (void)result; @@ -338,8 +350,8 @@ show_inspector(WebKitWebView *page, GArray *argv, GString *result) { void add_cookie(WebKitWebView *page, GArray *argv, GString *result) { (void) page; (void) result; - gchar *host, *path, *name, *value; - gboolean secure = 0; + gchar *host, *path, *name, *value, *scheme; + gboolean secure = 0, httponly = 0; SoupDate *expires = NULL; if(argv->len != 6) @@ -350,14 +362,19 @@ add_cookie(WebKitWebView *page, GArray *argv, GString *result) { path = argv_idx (argv, 1); name = argv_idx (argv, 2); value = argv_idx (argv, 3); - secure = strcmp (argv_idx (argv, 4), "https") == 0; - if (strlen (argv_idx (argv, 5)) != 0) + scheme = argv_idx (argv, 4); + if (strncmp (scheme, "http", 4) == 0) { + secure = scheme[4] == 's'; + httponly = strncmp (&scheme[4+secure], "Only", 4) == 0; + } + if (argv->len >= 6 && *argv_idx (argv, 5)) expires = soup_date_new_from_time_t ( strtoul (argv_idx (argv, 5), NULL, 10)); // Create new cookie SoupCookie * cookie = soup_cookie_new (name, value, host, path, -1); soup_cookie_set_secure (cookie, secure); + soup_cookie_set_http_only (cookie, httponly); if (expires) soup_cookie_set_expires (cookie, expires); |