diff options
author | Marco Peereboom <marco@conformal.com> | 2011-11-02 13:45:12 -0500 |
---|---|---|
committer | Marco Peereboom <marco@conformal.com> | 2011-11-02 13:45:12 -0500 |
commit | eaf0a2b218ce43104538559bb9c772d511ce68ad (patch) | |
tree | fb42b14a51e5123cdc324bbfab2329ef4a53d4b5 /about.c | |
parent | 1e2fb8e373c651d2cca8c1e00ec4a60f8b1752d8 (diff) | |
download | xombrero-eaf0a2b218ce43104538559bb9c772d511ce68ad.tar.gz |
More file splits
Add whitelist and settings files.
Diffstat (limited to 'about.c')
-rw-r--r-- | about.c | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/about.c b/about.c index 65d0ae1..d4a7a28 100644 --- a/about.c +++ b/about.c @@ -402,6 +402,75 @@ cookie_show_wl(struct tab *t, struct karg *args) return (0); } +int +js_show_wl(struct tab *t, struct karg *args) +{ + args->i = XT_SHOW | XT_WL_PERSISTENT | XT_WL_SESSION; + wl_show(t, args, "JavaScript White List", &js_wl); + + return (0); +} + +int +cookie_cmd(struct tab *t, struct karg *args) +{ + if (args->i & XT_SHOW) + wl_show(t, args, "Cookie White List", &c_wl); + else if (args->i & XT_WL_TOGGLE) { + args->i |= XT_WL_RELOAD; + toggle_cwl(t, args); + } else if (args->i & XT_SAVE) { + args->i |= XT_WL_RELOAD; + wl_save(t, args, XT_WL_COOKIE); + } else if (args->i & XT_DELETE) + show_oops(t, "'cookie delete' currently unimplemented"); + + return (0); +} + +int +js_cmd(struct tab *t, struct karg *args) +{ + if (args->i & XT_SHOW) + wl_show(t, args, "JavaScript White List", &js_wl); + else if (args->i & XT_SAVE) { + args->i |= XT_WL_RELOAD; + wl_save(t, args, XT_WL_JAVASCRIPT); + } else if (args->i & XT_WL_TOGGLE) { + args->i |= XT_WL_RELOAD; + toggle_js(t, args); + } else if (args->i & XT_DELETE) + show_oops(t, "'js delete' currently unimplemented"); + + return (0); +} + +int +pl_show_wl(struct tab *t, struct karg *args) +{ + args->i = XT_SHOW | XT_WL_PERSISTENT | XT_WL_SESSION; + wl_show(t, args, "Plugin White List", &pl_wl); + + return (0); +} + +int +pl_cmd(struct tab *t, struct karg *args) +{ + if (args->i & XT_SHOW) + wl_show(t, args, "Plugin White List", &pl_wl); + else if (args->i & XT_SAVE) { + args->i |= XT_WL_RELOAD; + wl_save(t, args, XT_WL_PLUGIN); + } else if (args->i & XT_WL_TOGGLE) { + args->i |= XT_WL_RELOAD; + toggle_pl(t, args); + } else if (args->i & XT_DELETE) + show_oops(t, "'plugin delete' currently unimplemented"); + + return (0); +} + /* * cancel, remove, etc. downloads */ @@ -1322,3 +1391,50 @@ xtp_page_dl(struct tab *t, struct karg *args) return (0); } +int +startpage(struct tab *t, struct karg *args) +{ + char *page, *body, *b; + struct sp *s; + + if (t == NULL) + show_oops(NULL, "startpage invalid parameters"); + + body = g_strdup_printf("<b>Startup Exception(s):</b><p>"); + + TAILQ_FOREACH(s, &spl, entry) { + b = body; + body = g_strdup_printf("%s%s<br>", body, s->line); + g_free(b); + } + + page = get_html_page("Startup Exception", body, "", 0); + g_free(body); + + load_webkit_string(t, page, XT_URI_ABOUT_STARTPAGE); + g_free(page); + + return (0); +} + +void +startpage_add(const char *fmt, ...) +{ + va_list ap; + char *msg; + struct sp *s; + + if (fmt == NULL) + return; + + va_start(ap, fmt); + if (vasprintf(&msg, fmt, ap) == -1) + errx(1, "startpage_add failed"); + va_end(ap); + + s = g_malloc0(sizeof *s); + s->line = msg; + + TAILQ_INSERT_TAIL(&spl, s, entry); +} + |