diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2004-03-24 00:07:21 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2004-03-24 00:07:21 +0000 |
commit | 9c723a5924ef5ef05d56b1addba42dafb3ca5c37 (patch) | |
tree | 7ca831a1119f68536259165dc740f9273af89ecc /render/html.c | |
parent | 2d42fc01f98cb053918f8a1cc23975e08b902614 (diff) | |
download | netsurf-9c723a5924ef5ef05d56b1addba42dafb3ca5c37.tar.gz netsurf-9c723a5924ef5ef05d56b1addba42dafb3ca5c37.tar.bz2 |
[project @ 2004-03-24 00:07:21 by jmb]
Add URL rewriting for most URLs.
Still TODO:
1) rewriting of @import rules
2) Objects used by embedded html pages
NB. This change means that the XML parse tree is kept in memory until the content is freed.
svn path=/import/netsurf/; revision=659
Diffstat (limited to 'render/html.c')
-rw-r--r-- | render/html.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/render/html.c b/render/html.c index e028e523d..7e3fb834c 100644 --- a/render/html.c +++ b/render/html.c @@ -69,6 +69,7 @@ void html_create(struct content *c, const char *params[]) } html->parser = htmlCreatePushParserCtxt(0, 0, "", 0, 0, html->encoding); + html->document = 0; html->base_url = xstrdup(c->url); html->layout = 0; html->background_colour = TRANSPARENT; @@ -139,7 +140,7 @@ int html_convert(struct content *c, unsigned int width, unsigned int height) /* finish parsing */ htmlParseChunk(c->data.html.parser, "", 0, 1); - document = c->data.html.parser->myDoc; + document = c->data.html.document = c->data.html.parser->myDoc; /*xmlDebugDumpDocument(stderr, c->data.html.parser->myDoc);*/ htmlFreeParserCtxt(c->data.html.parser); c->data.html.parser = 0; @@ -181,7 +182,7 @@ int html_convert(struct content *c, unsigned int width, unsigned int height) /*box_dump(c->data.html.layout->children, 0);*/ /* XML tree not required past this point */ - xmlFreeDoc(document); + //xmlFreeDoc(document); /* layout the box tree */ sprintf(c->status_message, messages_get("Formatting")); @@ -755,6 +756,9 @@ void html_destroy(struct content *c) if (c->data.html.parser) htmlFreeParserCtxt(c->data.html.parser); + if (c->data.html.document) + xmlFreeDoc(c->data.html.document); + free(c->data.html.base_url); if (c->data.html.layout) |