diff options
| Commit | 996ce01ea696a5ce741ad817cbe52b6e4d90145b (patch) | |
|---|---|---|
| Author | 2022-07-17 18:23:39 +0300 | |
| Committer | 2022-07-17 18:23:39 +0300 | |
| Files | 3f20099632be5356355c7841b9dff65073cdfc7b /badwolf.c | |
| goodwolf-996ce01ea696a5ce741ad817cbe52b6e4d90145b.tar goodwolf-996ce01ea696a5ce741ad817cbe52b6e4d90145b.tar.gz goodwolf-996ce01ea696a5ce741ad817cbe52b6e4d90145b.zip | ||
| Parent | 8fcfce66f010bc5b96dbff02428b3d05447aa85d (diff) | |
badwolf: Added the switch -p which enables persistent storage
1 files changed, 16 insertions, 1 deletions
| -rw-r--r-- | badwolf.c | 17 |
@@ -31,6 +31,7 @@ static gboolean tabs_constant = false; static gboolean tray_enabled = false; static gboolean alt_useragent = false; static int custom_favicon_size = 30; +static gboolean persistent_storage = false; static gboolean WebViewCb_close(WebKitWebView *webView, gpointer user_data); static gboolean WebViewCb_web_process_terminated(WebKitWebView *webView, @@ -736,7 +737,9 @@ new_browser(struct Window *window, const gchar *target_url, struct Client *old_b if(old_browser == NULL) { - WebKitWebsiteDataManager *website_data_manager = webkit_website_data_manager_new_ephemeral(); + WebKitWebsiteDataManager *website_data_manager = + (persistent_storage) ? webkit_website_data_manager_new(NULL) + : webkit_website_data_manager_new_ephemeral(); webkit_website_data_manager_set_itp_enabled(website_data_manager, TRUE); web_context = webkit_web_context_new_with_website_data_manager(website_data_manager); @@ -746,6 +749,15 @@ new_browser(struct Window *window, const gchar *target_url, struct Client *old_b WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES); webkit_web_context_set_web_extensions_directory(web_context, web_extensions_directory); webkit_web_context_set_favicon_database_directory(web_context, NULL); + if (persistent_storage) { + webkit_cookie_manager_set_persistent_storage( + webkit_website_data_manager_get_cookie_manager(website_data_manager), + g_build_filename(g_get_user_config_dir(), "badwolf", "cookies.txt", NULL), + WEBKIT_COOKIE_PERSISTENT_STORAGE_TEXT); + webkit_cookie_manager_set_accept_policy( + webkit_website_data_manager_get_cookie_manager(website_data_manager), + WEBKIT_COOKIE_POLICY_ACCEPT_ALWAYS); + } g_signal_connect(G_OBJECT(web_context), "download-started", @@ -1232,11 +1244,14 @@ main(int argc, char *argv[]) tray_enabled = TRUE; else if (argv[1][1] == 'u') alt_useragent = TRUE; + else if (argv[1][1] == 'p') + persistent_storage = TRUE; else if (argv[1][1] == 's') { argv++; argc--; custom_favicon_size = (argv[1][0] - '0') * 10 + argv[1][1] - '0'; } + argv++; argc--; } |