Add support for ephemeral (zero disk access) - surf - surf browser, a WebKit ba… | |
git clone git://git.suckless.org/surf | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit f61cfc720c598491d7a93c9f314ceae349e00450 | |
parent 6850365d7c91e6cf873ac722c705c55905de143a | |
Author: Quentin Rameau <[email protected]> | |
Date: Mon, 8 Oct 2018 11:37:11 +0200 | |
Add support for ephemeral (zero disk access) | |
Diffstat: | |
M config.def.h | 1 + | |
M surf.c | 26 ++++++++++++++++++-------- | |
2 files changed, 19 insertions(+), 8 deletions(-) | |
--- | |
diff --git a/config.def.h b/config.def.h | |
@@ -29,6 +29,7 @@ static Parameter defconfig[ParameterLast] = { | |
[DefaultCharset] = { { .v = "UTF-8" }, }, | |
[DiskCache] = { { .i = 1 }, }, | |
[DNSPrefetch] = { { .i = 0 }, }, | |
+ [Ephemeral] = { { .i = 0 }, }, | |
[FileURLsCrossAccess] = { { .i = 0 }, }, | |
[FontSize] = { { .i = 12 }, }, | |
[FrameFlattening] = { { .i = 0 }, }, | |
diff --git 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_man… | |
+ 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 c… | |
- webkit_cookie_manager_set_persistent_storage(cookiemanager, | |
- cookiefile, WEBKIT_COOKIE_PERSISTENT_STORAGE_TEXT); | |
+ if (!curconfig[Ephemeral].val.i) | |
+ webkit_cookie_manager_set_persistent_storage(cookieman… | |
+ cookiefile, WEBKIT_COOKIE_PERSISTENT_STORAGE_TEXT); | |
/* cookie policy */ | |
webkit_cookie_manager_set_accept_policy(cookiemanager, | |
cookiepolicy_get()); |