diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2011-02-25 19:56:28 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2011-02-25 19:56:28 +0000 |
commit | ec39ae69d625dd5d9e768d7fedf464d8e2808022 (patch) | |
tree | d5c291dad78dd1a728c888979935494570e8fd75 /render | |
parent | 021d3afd3e6276834ff992518b8a9e8498d1e24e (diff) | |
download | netsurf-ec39ae69d625dd5d9e768d7fedf464d8e2808022.tar.gz netsurf-ec39ae69d625dd5d9e768d7fedf464d8e2808022.tar.bz2 |
Correct handling of action="": should submit to the document URL, not the base URL.
svn path=/trunk/netsurf/; revision=11799
Diffstat (limited to 'render')
-rw-r--r-- | render/html.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/render/html.c b/render/html.c index dce873c4f..78275f15d 100644 --- a/render/html.c +++ b/render/html.c @@ -414,7 +414,15 @@ bool html_convert(struct content *c) url_func_result res; /* Make all actions absolute */ - res = url_join(f->action, c->data.html.base_url, &action); + if (f->action == NULL || f->action[0] == '\0') { + /* HTML5 4.10.22.3 step 11 */ + res = url_join(content__get_url(c), + c->data.html.base_url, &action); + } else { + res = url_join(f->action, + c->data.html.base_url, &action); + } + if (res != URL_FUNC_OK) { msg_data.error = messages_get("NoMemory"); content_broadcast(c, CONTENT_MSG_ERROR, msg_data); |