summaryrefslogtreecommitdiff
path: root/surf.c
diff options
context:
space:
mode:
Diffstat (limited to 'surf.c')
-rw-r--r--surf.c26
1 files changed, 18 insertions, 8 deletions
diff --git a/surf.c b/surf.c
index 2d25fa4..edaf348 100644
--- a/surf.c
+++ b/surf.c
@@ -58,6 +58,7 @@ typedef enum {
DiskCache,
DefaultCharset,
DNSPrefetch,
+ Ephemeral,
FileURLsCrossAccess,
FontSize,
FrameFlattening,
@@ -350,8 +351,11 @@ setup(void)
/* dirs and files */
cookiefile = buildfile(cookiefile);
scriptfile = buildfile(scriptfile);
- cachedir = buildpath(cachedir);
certdir = buildpath(certdir);
+ if (curconfig[Ephemeral].val.i)
+ cachedir = NULL;
+ else
+ cachedir = buildpath(cachedir);
gdkkb = gdk_seat_get_keyboard(gdk_display_get_default_seat(gdpy));
@@ -1141,11 +1145,16 @@ newview(Client *c, WebKitWebView *rv)
contentmanager = webkit_user_content_manager_new();
- context = webkit_web_context_new_with_website_data_manager(
- webkit_website_data_manager_new(
- "base-cache-directory", cachedir,
- "base-data-directory", cachedir,
- NULL));
+ if (curconfig[Ephemeral].val.i) {
+ context = webkit_web_context_new_ephemeral();
+ } else {
+ context = webkit_web_context_new_with_website_data_manager(
+ webkit_website_data_manager_new(
+ "base-cache-directory", cachedir,
+ "base-data-directory", cachedir,
+ NULL));
+ }
+
cookiemanager = webkit_web_context_get_cookie_manager(context);
@@ -1167,8 +1176,9 @@ newview(Client *c, WebKitWebView *rv)
context, *plugindirs);
/* Currently only works with text file to be compatible with curl */
- webkit_cookie_manager_set_persistent_storage(cookiemanager,
- cookiefile, WEBKIT_COOKIE_PERSISTENT_STORAGE_TEXT);
+ if (!curconfig[Ephemeral].val.i)
+ webkit_cookie_manager_set_persistent_storage(cookiemanager,
+ cookiefile, WEBKIT_COOKIE_PERSISTENT_STORAGE_TEXT);
/* cookie policy */
webkit_cookie_manager_set_accept_policy(cookiemanager,
cookiepolicy_get());