summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Rameau <quinq@fifth.space>2015-11-20 17:12:00 +0100
committerQuentin Rameau <quinq@fifth.space>2015-11-20 17:12:00 +0100
commit5bca2223399bb18bada2a48db7411d181e3186e6 (patch)
tree6b4e415d427a74a1ef2077b36fe4b2f764605a53
parente6cefa584e605b8a9984b1a542098df1191adcb1 (diff)
Adapt user agent handling
Now we can only append Surf version to the default WebKit user agent instead of setting the whole string (while this remains possible to do).
-rw-r--r--config.def.h5
-rw-r--r--surf.c13
2 files changed, 11 insertions, 7 deletions
diff --git a/config.def.h b/config.def.h
index ac78f0e..50ce75d 100644
--- a/config.def.h
+++ b/config.def.h
@@ -1,7 +1,6 @@
/* modifier 0 means no modifier */
-static char *useragent = "Mozilla/5.0 (X11; U; Unix; en-US) "
- "AppleWebKit/537.15 (KHTML, like Gecko) "
- "Chrome/24.0.1295.0 Safari/537.15 Surf/"VERSION;
+static int surfuseragent = 1; /* Append Surf version to default WebKit user agent */
+static char *fulluseragent = ""; /* Or override the whole user agent string */
static char *scriptfile = "~/.surf/script.js";
static char *styledir = "~/.surf/styles/";
static char *cachedir = "~/.surf/cache/";
diff --git a/surf.c b/surf.c
index 16ec398..601887a 100644
--- a/surf.c
+++ b/surf.c
@@ -112,6 +112,7 @@ static char pagestats[2];
static GTlsDatabase *tlsdb;
static int cookiepolicy;
static char *stylefile = NULL;
+static const char *useragent;
static void addaccelgroup(Client *c);
static char *buildfile(const char *path);
@@ -899,7 +900,6 @@ newview(Client *c, WebKitWebView *rv)
WebKitSettings *settings;
WebKitUserContentManager *contentmanager;
WebKitWebContext *context;
- char *ua;
/* Webview */
if (rv) {
@@ -918,12 +918,17 @@ newview(Client *c, WebKitWebView *rv)
"enable-javascript", enablescripts,
"enable-plugins", enableplugins,
NULL);
- if (!(ua = getenv("SURF_USERAGENT")))
- ua = useragent;
- webkit_settings_set_user_agent(settings, ua);
/* Have a look at http://webkitgtk.org/reference/webkit2gtk/stable/WebKitSettings.html
* for more interesting settings */
+ if (strcmp(fulluseragent, "")) {
+ webkit_settings_set_user_agent(settings, fulluseragent);
+ } else if (surfuseragent) {
+ webkit_settings_set_user_agent_with_application_details(
+ settings, "Surf", VERSION);
+ }
+ useragent = webkit_settings_get_user_agent(settings);
+
contentmanager = webkit_user_content_manager_new();
context = webkit_web_context_new_with_website_data_manager(