aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/commands.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands.c')
-rw-r--r--src/commands.c29
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);