diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2009-07-04 17:09:07 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2009-07-04 17:09:07 +0000 |
commit | 081c8b365001d9ec9df0f06ba5025dd621c8e4ec (patch) | |
tree | beaa0c8a0243a2cb50e869282565033bcdcba6a6 /src/select/select.c | |
parent | a3105d297fa8bb6bc8728d60a21b662d867688ae (diff) | |
download | libcss-081c8b365001d9ec9df0f06ba5025dd621c8e4ec.tar.gz libcss-081c8b365001d9ec9df0f06ba5025dd621c8e4ec.tar.bz2 |
Add callback to make client compute the font size.
Some progress towards computing absolute values.
svn path=/trunk/libcss/; revision=8311
Diffstat (limited to 'src/select/select.c')
-rw-r--r-- | src/select/select.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/select/select.c b/src/select/select.c index c839be1..f94b2c2 100644 --- a/src/select/select.c +++ b/src/select/select.c @@ -8,12 +8,12 @@ #include <assert.h> #include <string.h> -#include <libcss/computed.h> #include <libcss/select.h> #include "bytecode/bytecode.h" #include "bytecode/opcodes.h" #include "stylesheet.h" +#include "select/computed.h" #include "select/dispatch.h" #include "select/hash.h" #include "select/propset.h" @@ -323,10 +323,7 @@ css_error css_select_style(css_select_ctx *ctx, void *node, } /* Take account of presentational hints and fix up any remaining - * unset properties. - * Those properties which are inherited need to be set as inherit. - * Those which are not inherited need to be set to their default value. - */ + * unset properties. */ for (i = 0; i < CSS_N_PROPERTIES; i++) { /* If the existing property value came from an author * stylesheet or a user sheet using !important, then leave @@ -349,6 +346,17 @@ css_error css_select_style(css_select_ctx *ctx, void *node, } } + /* If this is the root element, then we must ensure that all + * length values are absolute, display and float are correctly + * computed, and the default border-{top,right,bottom,left}-color + * is set to the computed value of color. */ + if (parent == NULL) { + error = compute_absolute_values(result, + handler->compute_font_size, pw); + if (error != CSS_OK) + goto cleanup; + } + error = CSS_OK; cleanup: if (ctx->sheets[0] != NULL) { |