Introduction
Introduction Statistics Contact Development Disclaimer Help
Improve parameters handling - surf - surf browser, a WebKit based browser
git clone git://git.suckless.org/surf
Log
Files
Refs
README
LICENSE
---
commit 745a319bafd6ff0702c37d0333142ca18e801a4a
parent b1154347205201351be6b0d027e86f16f709599b
Author: Quentin Rameau <[email protected]>
Date: Tue, 9 May 2017 14:45:24 +0200
Improve parameters handling
There's no need to reload all parameters each time a new url is loaded,
instead set only custom parameters and restore those to defaults when
needed.
Diffstat:
M surf.c | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
---
diff --git a/surf.c b/surf.c
@@ -636,18 +636,32 @@ cookiepolicy_set(const WebKitCookieAcceptPolicy p)
void
seturiparameters(Client *c, const char *uri)
{
+ Parameter *newconfig = NULL;
int i;
for (i = 0; i < LENGTH(uriparams); ++i) {
if (uriparams[i].uri &&
!regexec(&(uriparams[i].re), uri, 0, NULL, 0)) {
- curconfig = uriparams[i].config;
+ newconfig = uriparams[i].config;
break;
}
}
- for (i = 0; i < ParameterLast; ++i)
- setparameter(c, 0, i, &curconfig[i].val);
+ if (!newconfig)
+ newconfig = defconfig;
+ if (newconfig == curconfig)
+ return;
+
+ for (i = 0; i < ParameterLast; ++i) {
+ if (defconfig[i].force)
+ continue;
+ if (newconfig[i].force)
+ setparameter(c, 0, i, &newconfig[i].val);
+ else if (curconfig[i].force)
+ setparameter(c, 0, i, &defconfig[i].val);
+ }
+
+ curconfig = newconfig;
}
void
@@ -1350,7 +1364,6 @@ loadchanged(WebKitWebView *v, WebKitLoadEvent e, Client *…
switch (e) {
case WEBKIT_LOAD_STARTED:
- curconfig = defconfig;
setatom(c, AtomUri, title);
c->title = title;
c->https = c->insecure = 0;
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.