summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Quentin Rameau 2015-11-20 17:12:00 +0100
committerGravatar Quentin Rameau 2015-11-20 17:12:00 +0100
commit5bca2223399bb18bada2a48db7411d181e3186e6 (patch)
tree6b4e415d427a74a1ef2077b36fe4b2f764605a53
parentAdapt updatetitle() (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(