summaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
Diffstat (limited to 'render')
-rw-r--r--render/box_construct.c4
-rw-r--r--render/box_normalise.c14
-rw-r--r--render/html.c13
-rw-r--r--render/html.h6
-rw-r--r--render/html_internal.h2
5 files changed, 20 insertions, 19 deletions
diff --git a/render/box_construct.c b/render/box_construct.c
index 0776a7e86..c09b40530 100644
--- a/render/box_construct.c
+++ b/render/box_construct.c
@@ -1445,7 +1445,7 @@ css_select_results *box_get_style(html_content *c,
dom_string_byte_length(s),
c->encoding,
nsurl_access(content_get_url(&c->base)),
- c->quirks != BINDING_QUIRKS_MODE_NONE,
+ c->quirks != DOM_DOCUMENT_QUIRKS_MODE_NONE,
box_style_alloc, NULL);
dom_string_unref(s);
@@ -1456,7 +1456,7 @@ css_select_results *box_get_style(html_content *c,
/* Populate selection context */
ctx.ctx = c->select_ctx;
- ctx.quirks = (c->quirks == BINDING_QUIRKS_MODE_FULL);
+ ctx.quirks = (c->quirks == DOM_DOCUMENT_QUIRKS_MODE_FULL);
ctx.base_url = c->base_url;
ctx.universal = c->universal;
diff --git a/render/box_normalise.c b/render/box_normalise.c
index fb378d3e7..19a1cbc25 100644
--- a/render/box_normalise.c
+++ b/render/box_normalise.c
@@ -152,7 +152,7 @@ bool box_normalise_block(struct box *block, html_content *c)
assert(block->style != NULL);
ctx.ctx = c->select_ctx;
- ctx.quirks = (c->quirks == BINDING_QUIRKS_MODE_FULL);
+ ctx.quirks = (c->quirks == DOM_DOCUMENT_QUIRKS_MODE_FULL);
ctx.base_url = c->base_url;
ctx.universal = c->universal;
@@ -254,7 +254,7 @@ bool box_normalise_table(struct box *table, html_content * c)
assert(table->style != NULL);
ctx.ctx = c->select_ctx;
- ctx.quirks = (c->quirks == BINDING_QUIRKS_MODE_FULL);
+ ctx.quirks = (c->quirks == DOM_DOCUMENT_QUIRKS_MODE_FULL);
ctx.base_url = c->base_url;
ctx.universal = c->universal;
@@ -341,7 +341,7 @@ bool box_normalise_table(struct box *table, html_content * c)
assert(table->style != NULL);
ctx.ctx = c->select_ctx;
- ctx.quirks = (c->quirks == BINDING_QUIRKS_MODE_FULL);
+ ctx.quirks = (c->quirks == DOM_DOCUMENT_QUIRKS_MODE_FULL);
ctx.base_url = c->base_url;
ctx.universal = c->universal;
@@ -477,7 +477,7 @@ bool box_normalise_table_spans(struct box *table, struct span_info *spans,
ctx.ctx = c->select_ctx;
ctx.quirks = (c->quirks ==
- BINDING_QUIRKS_MODE_FULL);
+ DOM_DOCUMENT_QUIRKS_MODE_FULL);
ctx.base_url = c->base_url;
ctx.universal = c->universal;
@@ -587,7 +587,7 @@ bool box_normalise_table_row_group(struct box *row_group,
assert(row_group->style != NULL);
ctx.ctx = c->select_ctx;
- ctx.quirks = (c->quirks == BINDING_QUIRKS_MODE_FULL);
+ ctx.quirks = (c->quirks == DOM_DOCUMENT_QUIRKS_MODE_FULL);
ctx.base_url = c->base_url;
ctx.universal = c->universal;
@@ -662,7 +662,7 @@ bool box_normalise_table_row_group(struct box *row_group,
assert(row_group->style != NULL);
ctx.ctx = c->select_ctx;
- ctx.quirks = (c->quirks == BINDING_QUIRKS_MODE_FULL);
+ ctx.quirks = (c->quirks == DOM_DOCUMENT_QUIRKS_MODE_FULL);
ctx.base_url = c->base_url;
ctx.universal = c->universal;
@@ -732,7 +732,7 @@ bool box_normalise_table_row(struct box *row,
assert(row->style != NULL);
ctx.ctx = c->select_ctx;
- ctx.quirks = (c->quirks == BINDING_QUIRKS_MODE_FULL);
+ ctx.quirks = (c->quirks == DOM_DOCUMENT_QUIRKS_MODE_FULL);
ctx.base_url = c->base_url;
ctx.universal = c->universal;
diff --git a/render/html.c b/render/html.c
index 015b5b9ae..2f11d6b35 100644
--- a/render/html.c
+++ b/render/html.c
@@ -306,7 +306,7 @@ html_create_html_data(html_content *c, const http_parameter *params)
c->parser = NULL;
c->document = NULL;
- c->quirks = BINDING_QUIRKS_MODE_NONE;
+ c->quirks = DOM_DOCUMENT_QUIRKS_MODE_NONE;
c->encoding = NULL;
c->base_url = nsurl_ref(content_get_url(&c->base));
c->base_target = NULL;
@@ -1850,7 +1850,7 @@ static bool html_find_stylesheets(html_content *c, dom_node *html)
c->base.active++;
LOG(("%d fetches active", c->base.active));
- if (c->quirks == BINDING_QUIRKS_MODE_FULL) {
+ if (c->quirks == DOM_DOCUMENT_QUIRKS_MODE_FULL) {
ns_error = hlcache_handle_retrieve(html_quirks_stylesheet_url,
0, content_get_url(&c->base), NULL,
html_convert_css_callback, c, &child,
@@ -1940,7 +1940,6 @@ static bool html_convert(struct content *c)
return false;
}
- /** @todo quirks used to be set here too */
htmlc->document = dom_hubbub_parser_get_document(htmlc->parser);
if (htmlc->document == NULL) {
@@ -1950,6 +1949,14 @@ static bool html_convert(struct content *c)
return false;
}
+ exc = dom_document_get_quirks_mode(htmlc->document, &htmlc->quirks);
+ if (exc != DOM_NO_ERR) {
+ LOG(("error retrieving quirks"));
+ }
+
+ LOG(("quirks set to %d", htmlc->quirks));
+
+
if (htmlc->encoding == NULL) {
const char *encoding;
encoding = dom_hubbub_parser_get_encoding(htmlc->parser,
diff --git a/render/html.h b/render/html.h
index 0aa45d308..64548f810 100644
--- a/render/html.h
+++ b/render/html.h
@@ -49,12 +49,6 @@ struct plotters;
struct scrollbar;
struct scrollbar_msg_data;
-typedef enum binding_quirks_mode {
- BINDING_QUIRKS_MODE_NONE,
- BINDING_QUIRKS_MODE_LIMITED,
- BINDING_QUIRKS_MODE_FULL
-} binding_quirks_mode;
-
/**
* Container for stylesheets used by an HTML document
*/
diff --git a/render/html_internal.h b/render/html_internal.h
index 89b90c8e2..049b648b3 100644
--- a/render/html_internal.h
+++ b/render/html_internal.h
@@ -36,7 +36,7 @@ typedef struct html_content {
/** Document tree */
dom_document *document;
/** Quirkyness of document */
- binding_quirks_mode quirks;
+ dom_document_quirks_mode quirks;
/** Encoding of source, NULL if unknown. */
char *encoding;